@charset "utf-8";

/* ========================================
    ■ 必須設定
======================================== */
/* reset
----------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
  font-family: 'Noto Sans JP', sans-serif;
}
body { line-height: 1; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
h1,
h2,
h3,
h4,
h5,
h6 { font-weight: inherit; }
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    /* color:#ffffff !important; */
}


h1 {
    font-weight: lighter;
    font-size: 12px;
    color: #5c5c5c;
    padding: 0px;
    font-size: 5rem;
}


A:link {
  color: #4952b9;
  text-decoration: none;
}

ins {
    background-color: #ff9;
    color: #666666;
    text-decoration: none;
}
mark {
    background-color: #ff9;
    color: #666666;
    font-style: italic;
    font-weight: bold;
}
del { text-decoration: line-through; }
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

h4{
  margin-bottom:0;
}
th {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}
td {
    vertical-align: middle;
    padding:10px;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select, textarea, img { vertical-align:middle; }
ul, dl, ol { list-style: none; }
em { font-style: normal; }
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html { font-size: 16px; }


body {
  color: #666666;
  font-size:19px;
  line-height: 1.631;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}

a {
    color: #000;
    text-decoration: underline;
    transition: 0.2s ease;
}

a:hover {
    text-decoration: none;
    transition: 0.2s ease;
}

a::before, a:hover::before,
a::after, a:hover::after {
    transition: 0.2s ease;
}

img,
video,
object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
}







/* ========================================
■ section header start ▼
======================================== */

#header {
      z-index: 999;
      background-color: #fff;
      box-shadow: 0px 3px 3px 0px rgb(0 0 0 / 15%);
      position: fixed;
      top: 0;
      width: 100%;
}


#header .innerBlock {
    max-width: 1366px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 72px;
    padding: 0 50px;
}


#header .innerBlock #leftContents {
      width: 80%;
      position: relative;
      padding: 3px 0px 5px 0px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
}


#lp_leftContents {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}



#lp_leftContents li {
    height: 50px;
    display: flex;
    align-items: center;
}


#lp_leftContents li a{
    color:#4f5f6d !important;
    font-weight: 700;
}

#lp_leftContents li a:hover{
    color:#3578e3 !important;
    text-decoration: none;
}

/********* TOP MENU NAVI CSS ************/
#lp_leftContents li a.ExToggle:after {
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    transform: rotate(135deg);
    opacity: .4;
    top: -2px;
    bottom: 0;
    left: 74px;
    border-top: solid 2px #4f5f6d;
    border-right: solid 2px #4f5f6d;
    margin: auto;
}



#lp_rightContents #lp_gnav {
    padding: 0px 14px 0 0px;
}

#lp_rightContents {
    padding: 9px 10px 5px 0px;
    /* width:30%; */
}


li.navi_cta {
    width: 48.5%;
    text-align: center;
    height: 40px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 16px;
    position: relative;
    border: 1.5px solid rgba(79,95,109,.2);
    min-width: 160px;
    background-color: #fff;
}

li.navi_cta:hover {
  border: 1px solid #ffffff;
  box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
  cursor:pointer;transform:scale(1.02,1.02);transition:transform .2s;
}



li.navi_cta a{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 5px;
  color: #6c6e70;
}

li.navi_cta a:hover{
  color: #3578e3;
  text-decoration: none;
}

.cta_orange {
    background-color: #FF114A !important;
    border: 1px solid #FF114A !important;
    margin-left: 10px;
}

.cta_orange a{
      color:#fff !important;
}

.cta_red {
  background-color: #FF114A;
  border: 1px solid #FF114A !important;
  margin-left: 10px;
}


.cta_red a{
    color:#fff !important;
}


.lp_header-serve-menu ul li span{
  top: 32px;
}

.lp_header-serve-menu ul {
    list-style: none;
    margin: 3px 0px 0;
}



.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 200;
    background-color: #fff;
    transition: background-color .3s ease;
    box-shadow: 0px 3px 3px 0px rgb(0 0 0 / 15%);
}


.header__container {
    max-width: 1600px;
    height: 76px;
    padding: 0 24px;
    margin: auto;
    display: flex;
    align-items: center;
}


.header .maegaMenu .is opne{
  /*boder-top:2px solid #f4f8f9;*/
  height:170px;
}


.header__navi {
    flex-grow: 1;
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
    justify-content:flex-start;
}

.header__navi--left {
    display: flex;
    align-items: center;
    font-size:16px;
}

.header__navi--left li{
  /* margin-right:8%; */
  margin-right: 11px;
  margin-left: 11px;
}

.header__navi--left li a {
  white-space: nowrap;
}

/* .header__navi--left li:nth-child(3){
  margin-right:0;
} */


.header__navi--right {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.header__navi--left .naviItem__inner {
    display: block;
    position: relative;
    transition: color .3s ease;
}


.header__navi--left .naviItem__inner:before {
    content: "";
    position: absolute;
    bottom: -24px;
    width: 100%;
    z-index: 2;
    height: 4px;
    background-color: #009dff;
    transition: transform .3s ease;
    transform: scaleX(0);
}

.header__navi--left .naviItem__inner:hover:before{transform:scaleX(1)}

.header p {
    margin: 0;
    color:#4f5f6d;
    font-weight: bold;
}

.header__navi--left .naviItem__inner i {
  margin-left: 8px;
  opacity: .4;
  color: #4f5f6d;
}

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: auto;
  transform: translate(0);
}


.header .megaMenu {
    position: relative;
    height: 0;
    background-color: #fff;
    transition: height .3s ease;
    /* pointer-events: none; */
    overflow: hidden;
}


.header .megaMenu__inner {
    position: relative;
    height: 100%;
    max-width: 1366px;
    margin: auto;
}


.header .megaMenu__group {
    /* pointer-events: none; */
    opacity: 1;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .6s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}


.header .megaMenu.is-open {
    height: 150px;
    border-top:2px solid #f4f8f9;
}



.header .megaMenu__group--inner {
    display: flex;
}


.header .megaMenu__group--list {
    flex-grow: 1;
}

.header .megaMenu__group--title {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  margin-right: 72px;
}

.header .megaMenu__group--titleInner {
  position: relative;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  padding-right: 28px;
  color: #4c4c4c;
  transition: color .2s;
}


.header .megaMenu__list {
  display: grid;
  grid-template-columns: 300px 300px 300px;
  gap: 22px 50px;
}


.header .megaMenu__item {
    white-space: nowrap;
    display: flex;
}


li.naviItem {
    cursor: pointer;
}


.header_logo {
    width: 16%;
    margin-right: 18px;
    min-width: 230px;
}

.header .megaMenu__item--inner {
    display: block;
    position: relative;
    padding-left: 21px;
    padding-bottom: 3px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: #4f5f6d;
    background-image: linear-gradient(#158aff,#158aff);
    background-size: 0 1px;
    background-position: left 16px bottom;
    background-repeat: no-repeat;
    transition: color .3s ease,background-size .3s ease;
}

.header .megaMenu__item--inner:before {
  content: "";
  position: absolute;
  width: 8px;
  height: 2px;
  background-color: #158aff;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}



.header .megaMenu__item--inner:hover {
    color: #378ee4;
    background-size: calc(100% - 16px) 1px;
    text-decoration: none;
}


.sp_hamburger_Btn {
    display: none;
}

.sp_toggle_menu {
    position: fixed;
    top: 65px;
    left: 0;
    margin-top: -100vh;
    width: 100vw;
    height: calc(100vh - 64px) !important;
    overflow-y: scroll;
    background-color: #fff;
    transition: margin .3s ease !important;;
}

.sp_toggle_menu.active{
  margin-top: 0;
  border-top: 1px solid #d8d8d8;
}


.sp_toggle_menu{
  display: block;
}

.sp_toggle__list {
  height: 0;
  background-color: #fff;
  transition: height .3s ease;
  overflow: hidden;
}

.sp_toggle__list.is-open {
  display: block;
  transition: height .3s ease;
  overflow: hidden;
  height: 220px;
}


.sp_toggle_contents{
    padding: 25px;
}

.sp_toggle_menu {
    font-size: 17px;
}

.sp_toggle_title {
    position: relative;
    margin-bottom: 25px;
    font-weight: 600;
}

.sp_t_title3{
margin-bottom:0;
}

.sp_toggle_title a{
    color: inherit;
}

.sp_toggle_item {
    font-size: 15px;
    padding: 10px 20px;
}


.sp_toggle_title i{
  transform: rotate(0deg);
  transition: transform .3s ease;
  color: #b9bfc5;
}

.sp_toggle_title.is-open i{
  transform: rotate(180deg);
  color: #b9bfc5;
}

i.fa.fa-angle-down {
    position: absolute;
    right: 0;
    top: 5px;
}

.sp_toggle_item a{
  position: relative;
  padding-left: 5px;
}


.sp_toggle_item a:before{
  content: "";
  position: absolute;
  width: 8px;
  height: 2px;
  background-color: #158aff;
  top: 57%;
  left: -15px;
  transform: translateY(-50%);
}


.sp_toggle_cta_area{
  border-top: 1px solid #d8d8d8;
}



/* ========================================
■ section header end　▲
======================================== */







/* ========================================
    ■ General
======================================== */
.g-wrapper{
    min-width:1200px;
}

.wrap {
    position: relative;
    width: 1420px;
    margin: 0 auto;

}
/* Only .keyv/.dc_ai_* legacy blocks collapse .wrap below 480px; without this,
   the fixed 1420px width overflows every viewport from 481px up to desktop. */
@media screen and (max-width: 768px) {
  .wrap {
    width: 100%;
    padding: 0 20px;
  }
}

.clearfix {
    overflow: hidden;
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.hover:hover {
    opacity: 0.9;
    transition: 0.2s ease;
}

.scrollbar::-webkit-scrollbar {
    background: #ccc;
    width: 10px;
}
.scrollbar::-webkit-scrollbar-thumb { background: #aaa; }



/* ========================================
■ keyv main
======================================== */

.keyv .mv{
  background: url(/images/lp/dc_ai_new/ai_main_background_n.jpg) center 35% no-repeat;
  background-size: cover !important;
  position: relative;
  text-align: center;
  color: #fff;
  background-color: #000b1f;
}

.keyv .mv .logo{
  width: 1200px;
  margin: 0 auto;
  padding-top: 36px;
  padding-bottom: 3px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}



.offerstart_day{
  padding: 40px 0px 31px;
  clear: both;
  }


  .main_balloon {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 10;
    justify-content: center;
    padding-bottom: 0;
    right: 74px;
    top: 0;
  }


  .main_balloon_woman img {
      width: 100%;
      min-width: 100px;
      max-width: 100px;
      margin-top:0;
  }



  .main_balloon_text {
      background-color: #ffe0e0;
      padding: 15px 20px;
      border-radius:0 0 12px 12px;
      position: relative;
      font-size: 23px;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
      text-align: left;
      color: #ffffff;
      line-height: 1.5;
      display: inline-block;
      background: linear-gradient(180deg, #f8b600 0%, #ffcf4b 20%, #f68600 50%, #ff8500 100%);
  }



  /* .main_balloon_text::after {
      content: '';
      position: absolute;
      border-width: 13px 0 13px 30px;
      border-style: solid;
      border-color: transparent transparent transparent #ffe0e0;
      left: -25px;
      top: 55px;
      transform: rotate(180deg);
  }

  .main_balloon_text::after {
      top: 18px;
  } */



.main_v_hukidashi_area{
  display: flex;
  position: relative;
  width: 1200px;
  margin: 0 auto;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 80px;
}




h1.catch img {
    padding: 0px;
    box-sizing: border-box;
    width: 68%;
    margin-right: 25px;
    margin-bottom: 3px;
}




.catch_area {
    padding-top: 8px;
}


.ai_main_catch {
  font-size: 56px;
  font-weight: bold;
  line-height: 1.25;
}


p.ai_main_catch_serve {
    font-size: 30px;
    color: #DCE4FC;
}


.dc_ai_wrap {
    padding: 1.5em 0 0;
}

.dc_ai_wrap img{
    width: 75%;
    margin: 5px auto 0;
}







/* ========================================
■ footer start
======================================== */



.footer{
    text-align: center;
}

.footer .wrap{
  padding: 23px 0 26px;
    font-size: 14px;
    font-weight: 300;
    color: #c7cad678;
    text-align: center;
}


#page_top a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
}


#page_top {
    position: fixed;
    bottom: 1.5%;
    opacity: 1;
    border-radius: 50%;
    z-index: 100;
    right: 1.5%;
}



/* ========================================
■ footer end
======================================== */

















/* ========================================
■ section ai service start ▼
======================================== */


.feature_compare_ai_block {
    width: 100%;
    box-sizing: border-box;
    margin-top:30px;
}

.feature_compare_ai_top {
    display: grid;
    grid-template-columns: 1fr 80px 1fr;
    align-items: center;
    gap: 0;
}

.feature_compare_ai_panel {
    border: 2px solid #bfc6da;
    border-radius: 14px;
    overflow: hidden;
    background: #f2f4fa;
    box-sizing: border-box;
}

.feature_compare_ai_panel_head {
    padding: 20px 24px;
    box-sizing: border-box;
}

.feature_compare_ai_panel_head_left {
    background: #7583a0;
}

.feature_compare_ai_panel_head_right {
    background: linear-gradient(90deg, #5360df 0%, #4854d8 100%);
}

.feature_compare_ai_panel_head_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.feature_compare_ai_panel_head_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    color: #ffffff;
}


.head_icon_exclamation {
    width: 50px;
}


.feature_compare_ai_panel_head_text {
    color: #ffffff;
    font-size: 35px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.feature_compare_ai_panel_body {
    padding: 28px 34px 30px;
    background: #f2f4fa;
    box-sizing: border-box;
}

.feature_compare_ai_item {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 20px;
    padding: 18px 22px;
    background: #ffffff;
    border: 2px solid #d9deea;
    border-radius: 14px;
    box-sizing: border-box;
}

.feature_compare_ai_item .check{
  width: 36px;
  height: 36px;
}

.feature_compare_ai_item:last-child {
    margin-bottom: 0;
}

.feature_compare_ai_item_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}

.feature_compare_ai_item_icon_negative {
    border: 4px solid #e42a45;
    color: #e42a45;
    background: #ffffff;
}

.feature_compare_ai_item_icon_positive {
    color: #ffffff;
    background: #6670e8;
}

.feature_compare_ai_item_text_before {
    color: #4a5160;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.35;
}

.feature_compare_ai_item_text {
    color: #273047;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.35;
}

.feature_compare_ai_arrow_wrap {
  display: flex;
  align-items: center;
  margin-top: 95px;
}

.feature_compare_ai_arrow {
    position: relative;
    width: 58px;
    height: 42px;
    background: linear-gradient(90deg, #f8e4a800 0%, #efb247e0 70%, #efb247e0 100%);
}

.feature_compare_ai_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -40px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 40px solid transparent;
    border-bottom: 40px solid transparent;
    border-left: 40px solid #efb247e0;
}

.feature_compare_ai_bottom {
  margin-top: 28px;
  background: #202b96;
  border-radius: 14px;
  box-sizing: border-box;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 25px;
  gap: 20px;
}

.feature_compare_ai_bottom_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
}


.feature_compare_ai_bottom_item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 24px 26px;
    box-sizing: border-box;
    background-color: #ffffff14;
    border-radius: 14px;
    border: 1.5px solid #ffffff1a;
}


.feature_compare_ai_bottom_item .check {
  width: 36px;
  height: 36px;
}



.cross {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    flex: 0 0 auto;
    margin-top: 2px;
}




.feature_compare_ai_bottom_item_left {
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.feature_compare_ai_bottom_item_right {
    border-right: 0;
}



.feature_compare_ai_bottom_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #8ea0ff;
    color: #ffffff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.feature_compare_ai_bottom_text {
    margin: 0;
    color: #ffffff;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.35;
}

@media screen and (max-width: 1280px) {
    .feature_compare_ai_panel_head_text {
        font-size: 30px;
    }

    .feature_compare_ai_item_text {
        font-size: 24px;
    }

    .feature_compare_ai_bottom_text {
        font-size: 22px;
    }
}

@media screen and (max-width: 980px) {
    .feature_compare_ai_top {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .feature_compare_ai_arrow {
        transform: rotate(90deg);
    }

    .feature_compare_ai_bottom {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media screen and (max-width: 768px) {
    .feature_compare_ai_panel {
        border-radius: 16px;
    }

    .feature_compare_ai_panel_head {
        padding: 16px 18px;
    }

    .feature_compare_ai_panel_head_inner {
        gap: 10px;
    }

    .feature_compare_ai_panel_head_icon {
        width: 38px;
        height: 38px;
        font-size: 22px;
    }

    .feature_compare_ai_panel_head_text {
        font-size: 22px;
    }

    .feature_compare_ai_panel_body {
        padding: 18px 14px 20px;
    }

    .feature_compare_ai_item {
        gap: 12px;
        margin-bottom: 14px;
        padding: 14px 14px;
        border-radius: 12px;
    }


    .feature_compare_ai_item_text {
        font-size: 18px;
    }

    .feature_compare_ai_bottom {
        margin-top: 20px;
        padding:18px;
    }

    .feature_compare_ai_bottom_inner {
           grid-template-columns: 1fr;
       }

     .feature_compare_ai_bottom_item_left {
         border-right: 0;
         border-bottom: 1px solid rgba(255, 255, 255, 0.18);
     }

    .feature_compare_ai_bottom_icon {
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
        font-size: 16px;
    }

    .feature_compare_ai_bottom_text {
        font-size: 18px;
    }
}





@media screen and (max-width: 480px) {
  .feature_compare_ai_block {
      margin-top: 5px;
}


.feature_compare_ai_item_text_before{
      font-size: 20px;
}



.cross {
    width: 28px;
    height: 28px;
}

.feature_compare_ai_item .check {
    width: 28px;
    height: 28px;
}


.feature_compare_ai_arrow_wrap {
    display: flex;
    align-items: center;
    margin-top: -7px;
    justify-content: center;
}

.feature_compare_ai_arrow {
    width: 38px;
    height: 32px;
}

.feature_compare_ai_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 30px solid #efb247e0;
}


.feature_compare_ai_panel.feature_compare_ai_panel_right {
    margin-top: 20px;
}


.feature_compare_ai_panel_head_icon_cloud {
    width: 52px;
    height: 38px;
}


.feature_compare_ai_bottom_item .check {
    width: 30px;
    height: 30px;
}


.feature_compare_ai_bottom_item{
    padding: 18px 20px;
}


}



/* ========================================
■ section ai service end ▲
======================================== */






















/* ========================================
■ section features start ▼
======================================== */




.distress_con_wide {
  width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 15px;
    position: relative;
    box-sizing: border-box;
    /* border: 1.5px solid #d0d2e5; */
    box-sizing: border-box;
    box-shadow: 0px 0px 7px #c5c7d5;
    background: #ffffff;
    border: 1.5px solid #bfc1d6;
}



.distress_con_wide::after {
    position: absolute;
    top: -2px;
    bottom: -2px;
    left: -2px;
    right: -2px;
    content: '';
    z-index: -1;
    border-radius: 16px;
}



.con_features_3 {
  border: 2px solid transparent;
  border-radius: 15px 15px 0 0;
  background: linear-gradient(#4f63d6, #4f63d6) padding-box, linear-gradient(1deg, #202b96 0%, #4952b9 100%) border-box;
  box-shadow: none;
}


.distree_box_w {
  width: 100%;
  background-color: #4952b9;
  border-radius:14px 14px 0 0;
}




.merit_subtxt{
  font-size: 19px;
  font-weight: 100;
  letter-spacing: -0.1px;
  line-height: 30px;
  color: #e5e7fe;
}

.merit_subtxt1{
  font-size: 27px;
  font-weight: 100;
  letter-spacing: -0.1px;
  line-height: 30px;
  color: #e5e7fe;
}

.merit_subtxt2{
  font-size: 27px;
    font-weight: 100;
    letter-spacing: -0.1px;
    line-height: 34px;
    color: #e5e7fe;
    padding-bottom: 24px;
}


.distress_con_title {
    font-size: 33px;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 90px;
}

.distress_con_title_w {
  font-size: 36px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100px;
}

.distress_con_title_w1 {
  font-size: 36px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 120px;
}

.distress_con_title_w2 {
  font-size: 36px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 105px;
}

.distress_con_txt {
    height: 120px;
    border-radius: 11px;
}

.distress_con_txt ul li {
  letter-spacing: -0.3px;
  line-height: 1.45;
  position: relative;
  font-size: 18px;
}


.arrow_text {
    letter-spacing: 1.18px;
    color: #444;
    text-align: center;
    padding: 25px 0 0px;
    position: relative;

    font-weight: bold;
}









/*-------------- 特徴 2-1 start ↓↓   --------------  */


.feature_three_column_section {
  width: 100%;
  padding: 54px 28px 35px;
  background: linear-gradient(180deg, #ffffff 0%, #dce4fc 45%, #edf0ff 100%);
  border: 2px solid #c5d0f5;
  border-radius: 15px;
  margin-top: 40px;
  position: relative;
}

.feature_three_column_inner {
  width: 98%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0;
}

.feature_col {
  box-sizing: border-box;
}

.feature_col_left {
  flex: 1 1 40%;
  margin-right: 0;
}

.feature_col_center {
  flex: 0 0 auto;
  margin-left: 0;
  margin-right: 10px;
}

.feature_col_right {
  flex: 1 1 45%;
}

.feature_left_wrap,
.feature_arrow_wrap,
.feature_video_wrap {
  width: 100%;
}

.feature_left_image_box,
.feature_video_image_box {
  width: 100%;
  padding: 20px 10px;
}

.feature_left_image,
.feature_video_image {
  display: block;
  width: 100%;
  height: auto;
}


.feature_arrow_image_box {
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature_arrow_image {
  display: block;
  width: 135px !important;
  height: auto;
}


.feature_arrow_shape_box {
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature_arrow_shape {
  position: relative;
  display: block;
  width: 120px;
  height: 16px;
  background: linear-gradient(to right, #f8e7b3 0%, #f0b347 100%);
  border-radius: 999px;
}

.feature_arrow_shape::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -28px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  border-left: 28px solid #f0b347;
}


@media screen and (max-width: 1024px) {
  .feature_three_column_inner {
    gap: 20px;
  }

  .feature_arrow_image {
    width: 100px;
  }

  .feature_arrow_shape {
    width: 90px;
    height: 14px;
  }

  .feature_arrow_shape::after {
    right: -22px;
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
    border-left: 22px solid #f0b347;
  }
}

@media screen and (max-width: 768px) {
  .feature_three_column_inner {
    flex-direction: column;
    gap: 0;
    width:100%;
  }

  .feature_col_left,
  .feature_col_center,
  .feature_col_right {
    flex: none;
    width: 100%;

  }



  .feature_col_center{
    margin-right: 0;
  }

    .feature_col_right {
      margin-top:20px;
    }

  .feature_arrow_image {
    width: 80px !important;
    transform: rotate(90deg);
  }

  .feature_arrow_shape {
    transform: rotate(90deg);
  }


.ai_usage_title_w{
          padding: 0 16px 0 !important;
}

.distress_con_title_w2{
  height: auto;
}




}



.dc-ai-hero{
  width: 100%;
  box-sizing: border-box;
}

.dc-ai-logo_area{
  text-align: center;
}

.dc-ai-logo{
  width: min(720px, 92%);
  height: auto;
  display: inline-block;
}

.dc-ai-title{
  margin: 8px 0 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  color: #20242f;
}

.dc-ai-prompt_box{
  position: relative;
    padding: 22px 28px 18px;
    border-radius: 24px;
    background: #ffffff;
    box-sizing: border-box;
    z-index: 0;
    height: 195px;
    display: flex;
    flex-direction: column;
    width: 98%;
    margin: 0 auto 0 12px;
}

.dc-ai-prompt_box::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px;
    padding: 2px;
    background: linear-gradient(130deg, #e56cf2 0%, #4d72ff 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}



.dc-ai-prompt-bottom{
  display: flex;
align-items: center;
justify-content: space-between;
margin-top: auto;
}


.dc-ai-prompt_actions{
  display: flex;
  gap: 10px;
}

.dc-ai-prompt_textarea{
  font-size: 17px;
      color: #5f5f5f;
    line-height: 1.6;
  font-weight: 100;
}

.dc-ai-icon_item{
  width: 36px;
    height: 36px;
    border: 1.5px solid #dcdee3ba;
    border-radius: 999px;
    background: #ffffff;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.dc-ai-icon_item img{
  width: 16px;
  height: 16px;
  display: block;
}

.dc-ai-send_area{
    position: relative;
}

.dc-ai-send_btn{
  min-width: 115px;
  padding: 10px 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d77f0 0%, #3268ef 100%);
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  position: relative;
}

.dc-ai-cursor{
  position: absolute;
  width: 51%;
  left: 80px;
  top: 6px;
}

@media screen and (max-width: 767px){
  .dc-ai-hero{
    padding: 26px 0 0;
  }

  .dc-ai-title{
    margin: 10px 0 15px;
    font-size: 18px;
  }

  .dc-ai-prompt_box{
    min-height: 180px;
    padding: 12px 18px 18px;
    border-radius: 22px;
    width: 100%;
    margin: 0 auto;
    height: 170px;
  }

  .dc-ai-prompt_actions{
    left: 18px;
    bottom: 16px;
    gap: 10px;
  }

  .dc-ai-icon_item{
    width: 34px;
    height: 34px;
  }

  .dc-ai-icon_item img{
    width: 14px;
    height: 22px;
  }

  .dc-ai-send_area{
    right: 0;
    bottom: 0;
  }

  .dc-ai-send_btn{
    min-width: 90px;
    height: 30px;
    padding: 7px 0;
    font-size: 14px;
  }

  .dc-ai-cursor{
    right: -14px;
    bottom: -30px;
    width: 29px;
    left: 66px;
    top: 8px;
  }



.dc-ai-logo{
      width: min(720px, 100%);
}


.feature_three_column_section{
  padding: 54px 18px 20px;
}

.dc-ai-prompt_textarea {
    font-size: 16px;
}


}




.feature_video_image_box{
  width: 100%;
}

.feature_video_wrap{
  position: relative;
  width: 100%;
  aspect-ratio: 25 / 24;
  padding: 1px;
  border-radius: 20px;
  /* background: linear-gradient(130deg, #4952b9 0%, #4952b9 100%); */
  overflow: hidden;
  box-sizing: border-box;
  background-color: #ffffff;
  border: 2px solid #4952b9;
}

.feature_video_player{
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0 0 12px 12px;
  object-fit: cover;
  background: #fff;
}

.feature_video_wrap .feature_video_image_box{
  height: 97%;
  padding: 45px 12px;
}

.feature_video_wrap .ai-card,
.feature_video_wrap .answer{
  display: block;
  width: 100%;
  height: 100%;
}

.feature_video_wrap .answer video{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}







.feature_video_play_btn{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 84px;
  border: 0;
  border-radius: 24px;
  background: #ff4e00;
  cursor: pointer;
  z-index: 5;
  padding: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.feature_video_play_btn::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%);
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 30px solid #fff;
}

.feature_video_wrap.is-playing .feature_video_play_btn{
  opacity: 0;
  pointer-events: none;
}

@media screen and (max-width: 767px){
  .feature_video_play_btn{
    width: 88px;
    height: 62px;
    border-radius: 18px;
  }

  .feature_video_play_btn::before{
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 22px solid #fff;
  }
}







/*-------------- 特徴 2-1 end ↑↑   --------------  */






/*-------------- 特徴 2-2 start ↓↓   --------------  */


.contents_item_area {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 15px;
  position: relative;
  box-sizing: border-box;
  background: #ffffff;
  border: 2px solid #bfc1d6;
  padding: 25px 25px 30px;
  margin-top:30px;
}

.contents_item_area_3 {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 15px;
  position: relative;
  box-sizing: border-box;
  background: #ffffff;
  padding: 0px 25px 40px;
  margin-top:0px;
}


.con_features_1{
  background: linear-gradient(180deg, #ffffff 0%, #dce4fc 45%, #edf0ff 100%);
  border: 2px solid #c5d0f5;
  width: 96%;
  margin-bottom: 25px;
}


.feature_compare_block {
  width: 100%;
  padding: 20px 0 0;
  box-sizing: border-box;
}

.feature_compare_inner {
  width: 99%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 24px;
  box-sizing: border-box;
  margin: 0 auto;
}

.feature_compare_card {
  position: relative;
  flex: 1 1 0;
  background: #ffffff;
  border: 2px solid #cfd1e3;
    border-radius: 17px;
    overflow: visible;
    box-shadow: 0 3px 5px rgba(31, 53, 120, 0.08);
  box-sizing: border-box;
}

.feature_compare_card_head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 18px;
  border-radius: 16px 16px 0 0;
  box-sizing: border-box;
}



.feature_compare_card_head.card_fir{background: #6A5AE0;}
.feature_compare_card_head.card_sec{background: #586FE2;}
.feature_compare_card_head.card_thi{background: #4046BA;}




.feature_compare_card_head_text {
  margin: 0;
  color: #ffffff;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0;
}

.feature_compare_card_body {
  padding: 22px 18px 22px;
  box-sizing: border-box;
}

.feature_compare_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.feature_compare_item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0 5px 20px;
  margin-bottom: 20px;
  border-bottom: 2px dotted #d7def4;
  box-sizing: border-box;
}

.feature_compare_item_no_border {
  border-bottom: 0;
}

.feature_compare_item_last_group {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom:0;
}

.feature_compare_icon {
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  background: #8a7bf0;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 25px;
  text-align: center;
}

.feature_compare_text {
  display: block;
  color: #2d3693;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}

.feature_compare_arrow_area {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0 0;
}

.feature_compare_arrow_down {
  position: relative;
  width: 25px;
  height: 54px;
  border-radius: 0px 0px 30px 30px;
  background: linear-gradient(to bottom, #f7e5ac00 0%, #ffb657 60%, #ffb657 100%);
}

.feature_compare_arrow_down::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 26px solid transparent;
  border-right: 26px solid transparent;
  border-top: 26px solid #ffb657;
}

.feature_compare_result_box {
  margin: 14px auto 0;
  width: 100%;
  max-width: 480px;
  padding: 15px 19px;
  background: #eef3ff;
  border-radius: 10px;
  box-sizing: border-box;
}

.feature_compare_result_text {
  margin: 0;
  color: #2d3693;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.feature_compare_dev_badge {
  position: absolute;
  top: -68px;
  right:0 ;
  min-width: 160px;
  padding: 10px 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #b35ff0 0%, #4d74e8 100%);
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
}

@media screen and (max-width: 1280px) {
  .feature_compare_inner {
    gap: 20px;
  }

  .feature_compare_card_head_text {
    font-size: 28px;
  }

  .feature_compare_text {
    font-size: 20px;
  }

  .feature_compare_result_text {
    font-size: 26px;
  }
}

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

.feature_compare_block{
        padding: 0;
}

  .contents_item_area_3{
        padding: 0 14px 16px;
  }
  .feature_compare_inner {
    flex-direction: column;
    gap: 20px;
    width: 100%;
  }

  .feature_compare_card_head {
    min-height: 64px;
    padding: 16px;
    border-radius: 20px 20px 0 0;
  }

  .feature_compare_card {
    border-radius: 22px;
  }

  .feature_compare_card_head_text {
    font-size: 24px;
  }

  .feature_compare_card_body {
    padding: 22px 18px 22px;
  }

  .feature_compare_item {
    gap: 10px;
    padding: 0 0 18px;
    margin-bottom: 18px;
  }

.feature_compare_item:nth-last-child(1){
          margin-bottom: 0;
          padding: 0;
}



  .feature_compare_icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    font-size: 16px;
    line-height: 30px;
  }

  .feature_compare_text {
    font-size: 18px;
    line-height: 1.5;
  }

  .feature_compare_arrow_down {
    width: 20px;
    height: 45px;
  }

  .feature_compare_arrow_down::after {
    bottom: -10px;
    border-left: 24px solid transparent;
    border-right: 24px solid transparent;
    border-top: 24px solid #ffb657;
  }

  .feature_compare_result_box {
    margin-top: 16px;
    max-width: 100%;
    padding: 17px 16px;
  }

  .feature_compare_result_text {
    font-size: 20px;
  }

  .feature_compare_dev_badge {
    top: -18px;
    right: 12px;
    min-width: 110px;
    padding: 8px 12px;
    font-size: 14px;
  }
}



/*-------------- 特徴 2-2 end    --------------  */







/*-------------- 特徴 3 start ↓↓   --------------  */




.feature_score_area{
      padding: 25px 32px 0px !important;
}


.feature_score_block {
  width: 100%;
  padding: 0;
  box-sizing: border-box;
}


.feature_score_grid {
  display: flex;
  gap: 22px;
  align-items: stretch;
}


.feature_score_column_left {
    flex: 0 0 32%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px 20px 30px;
    border-radius: 12px 12px 0 0;
    border: 1.5px solid #DBDCE5;
    background: linear-gradient(135deg, #F2F3F8 0%, #EEF1FF  100%);
    border-bottom:none;
    justify-content: space-between;
}


.feature_score_column_right {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 20px 20px 30px;
  background-color: #ECEDF4;
  border-radius: 12px 12px 0 0;
  border: 1.5px solid #DBDCE5;
  border-bottom:none;
}

.feature_score_row {
  display: flex;
  gap: 20px;
}

.feature_score_card {
  background: #ffffff;
  border: 2px solid #cfd4e6;
  border-radius: 20px;
  padding: 18px 20px 20px;
  box-sizing: border-box;
}

.feature_score_column_left .feature_score_card {
  min-height: 175px;
}

.feature_score_row .feature_score_card {
  flex: 1 1 0;
  min-height: 175px;
}

.feature_score_card_critical {
  /* box-shadow: inset 0 0 0 2px #5e84ff; */
  border: 2px solid #697df1;
}

.feature_score_card_top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.feature_score_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* min-width: 124px; */
  height: 30px;
  padding: 0 20px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

.feature_score_badge_critical {
  background: linear-gradient(130deg, #d04ce8 0%, #4782ff 100%);
}

.feature_score_badge_high {
  background: #f15d4f;
}

.feature_score_badge_medium {
  background: #f0a629;
}

.feature_score_badge_base {
  background: #44c98d;
}

.feature_score_point {
  flex: 0 0 auto;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.feature_score_point_critical {
  color: #4c77ff;
  font-size: 33px;
  font-weight: bold;
}

.feature_score_point_high {
  color: #f15d4f;
  font-size: 33px;
  font-weight: bold;
}

.feature_score_point_medium {
  color: #f0a629;
  font-size: 33px;
  font-weight: bold;
}

.feature_score_point_base {
  color: #44c98d;
  font-size: 33px;
  font-weight: bold;
}

.feature_score_point_unit {
  margin-left: 2px;
  font-size: 0.52em;
  font-weight: 700;
  color: #6e7387;
}

.feature_score_title {
  margin: 15px 0 10px;
  color: #101114;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.feature_score_title_small {
  font-size: 22px;
}

.feature_score_desc {
  margin: 0;
  color: #8c90a0;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.01em;
}

/* 하단 스코어 영역 */
.feature_score_total_area {
  margin-top:0;
  background: #202b96;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 34px 40px 38px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 0 0 15px 15px;
}

.feature_score_total_label {
  flex: 0 0 285px;
  color: #ffffff;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.feature_score_total_box {
  flex: 1 1 auto;
  border: 2px solid rgba(255, 255, 255, 0.18);
  border-radius: 15px;
  padding: 15px 30px 16px;
  box-sizing: border-box;
  background-color: #2a3496b3;
}

.feature_score_total_head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

.feature_score_total_target {
  color: #ffffff;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
}

.feature_score_total_value {
  color: #ffffff;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}

.feature_score_progress_track {
  position: relative;
  width: 100%;
  height: 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}

.feature_score_progress_bar {
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #d958ea 0%, #6d61ff 40%, #4f82ff 70%, #59d6ff 100%);
}

.feature_score_total_note {
  margin: 7px 0 0;
  color: #b7bfef;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-align: right;
}

/* 반응형 */
@media screen and (max-width: 1280px) {
  .feature_score_grid {
    gap: 20px;
  }

  .feature_score_row {
    gap: 20px;
  }

  .feature_score_title {
    font-size: 26px;
  }

  .feature_score_title_small {
    font-size: 24px;
  }

  .feature_score_desc {
    font-size: 16px;
  }

  .feature_score_point_critical,
  .feature_score_point_high,
  .feature_score_point_medium,
  .feature_score_point_base {
    font-size: 42px;
  }

  .feature_score_total_label {
    flex-basis: 220px;
    font-size: 32px;
  }

  .feature_score_total_value {
    font-size: 48px;
  }
}

@media screen and (max-width: 900px) {
  .feature_score_grid {
    flex-direction: column;
  }

  .feature_score_column_left {
    flex: none;
  }

  .feature_score_row {
    flex-direction: column;
  }

  .feature_score_total_area {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 20px 20px 25px;
  }

  .feature_score_total_label {
    flex: none;
    font-size: 28px;
  }

  .feature_score_total_box {
    width: 100%;
    padding: 16px 18px 14px;
  }
}

@media screen and (max-width: 480px) {
  .feature_score_block {
    padding: 16px 16px 0;
  }

  .feature_score_card {
    padding: 16px 18px 18px;
    border-radius: 16px;
  }

  .feature_score_badge {
    min-width: 96px;
    height: 32px;
    padding: 0 14px;
    font-size: 14px;
  }

  .feature_score_title {
    font-size: 18px;
    margin: 6px 0 10px;
  }

  .feature_score_title_small {
    font-size: 18px;
    margin: 6px 0 10px;
  }

  .feature_score_desc {
    font-size: 14px;
  }

  .feature_score_point_critical,
  .feature_score_point_high,
  .feature_score_point_medium,
  .feature_score_point_base {
    font-size: 28px;
  }

  .feature_score_total_label {
    font-size: 24px;
  }

  .feature_score_total_target {
    font-size: 18px;
  }

  .feature_score_total_value {
    font-size: 25px;
  }

  .feature_score_progress_track {
    height: 14px;
  }

  .feature_score_total_note {
    font-size: 13px;
    text-align: center;
  }

  .feature_score_column_right {
        gap: 16px;
        padding: 16px;
    }

    .feature_score_row {
        gap: 16px;
    }

}





/*-------------- 特徴 3 end  ↑↑  --------------  */








/*-------------- 特徴 4 start ↓↓  --------------  */


.contents_item_area.features4 {
  padding: 0px 0px 30px;
  margin-top: 0;
  border-radius: 15px 18px 0 0;
  border-bottom: none;
  border: 2px solid transparent;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(1deg, #202b96 0%, #4f6dff 100%) border-box;
  box-shadow: none;
}

.mcp_scene_topbar {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 26px 36px;
    background: #4952b9;
    border-radius: 16px 16px 0 0;
    box-sizing: border-box;
}

.mcp_scene_topbar_badge {
    flex: 0 0 auto;
    padding: 12px 20px;
    border: 2px solid #7981dd;
    border-radius: 10px;
    background-color: #3e47b2;
    color: #ffffff;
    font-size: 26px;
    font-weight: 800;
    white-space: nowrap;
}

.mcp_scene_topbar_line {
    align-self: stretch;
    width: 2px;
    background: #697ac3;
}

.mcp_scene_topbar_title {
    flex: 1;
    min-width: 0;
    margin: 0;
    color: #ffffff;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.3;
}

.mcp_scene_topbar_pill {
    flex: 0 0 auto;
    padding: 10px 22px;
    border-radius: 999px;
    background: linear-gradient(130deg, #da6cf2 0%, #4d72ff 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.mcp_scene_topbar_logo {
    flex: 0 0 auto;
    line-height: 0;
}

.mcp_scene_topbar_logo img {
    height: 32px;
    vertical-align: middle;
}

@media screen and (max-width: 980px) {
    .mcp_scene_topbar {
        flex-wrap: wrap;
        gap: 10px 16px;
        padding: 16px 20px;
    }

    .mcp_scene_topbar_line {
        display: none;
    }

    .mcp_scene_topbar_title {
        flex: 1 1 100%;
        order: 3;
        font-size: 20px;
    }

    .mcp_scene_topbar_logo {
        margin-left: auto;
    }
}

.check {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    flex: 0 0 auto;
    margin-top: 4px;
}



/* bottom usecase — MCP scenario flow */
.mcp_scene_wrap {
    margin-top: 0;
    box-sizing: border-box;
}

.mcp_scene_label {
    color: #2d3347;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 10px;
}

.mcp_scene_top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 10px;
}

.mcp_scene_desc {
    margin: 0;
    color: #4a4f66;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;
}

.mcp_scene_desc strong {
    color: #202b96;
}

.mcp_scene_dev_badge_top {
    flex: 0 0 auto;
}

/* top flow card — MCPクライアント / MCPサーバー / DirectCloud */
.mcp_scene_flow_cardbox {
    padding: 30px 28px 28px;
    background: #f1f4fda1;
    border-radius: 20px;
    box-sizing: border-box;
    border: 1px solid #C1C4DD;
}

.mcp_scene_flow_card {
    box-sizing: border-box;
}

.mcp_scene_flow_row {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.mcp_scene_flow_box {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(32, 43, 150, 0.08);
    border: 1.5px solid #BABDD0;
}

.mcp_scene_flow_box_head {
    padding: 12px 10px 10px;
    background: #777c94;
    color: #ffffff;
    font-size: 23px;
    font-weight: 800;
    text-align: center;
    line-height: 1.3;
}

.mcp_scene_flow_box_head_plain {
    padding: 18px 10px 12px;
    background: #ffffff;
    color: #2e3aa0;
}

.mcp_scene_flow_box_head_sub {
    display: block;
    margin-top: 2px;
    font-size: 15px;
    font-weight: 400;
    color: #dcdeec;
}

.mcp_scene_flow_box_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 16px 20px;
    box-sizing: border-box;
}

.mcp_scene_flow_box_body1 {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0px 0px 40px;
    box-sizing: border-box;
}

.mcp_scene_flow_box1 {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mcp_scene_flow_box1_head {
    font-size: 24px;
    font-weight: 800;
    text-align: center;
    line-height: 1.3;
}

.mcp_scene_flow_box1_head_plain {
    padding: 18px 10px 8px;
    color: #4a3bd3;
}

.mcp_scene_flow_box1_head_sub {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 600;
    color: #dcdeec;
}

.mcp_scene_flow_box1_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 18px 16px 20px;
    box-sizing: border-box;
}

.mcp_scene_flow_pill {
    margin: 0 0 12px;
    padding: 6px 25px;
    width: fit-content;
    background: #eef1f8;
    border-radius: 999px;
    color: #4b536d;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #D4D6E4;
}

.mcp_scene_flow_list {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mcp_scene_flow_list li {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    background: #edf0fdbf;
    border-radius: 8px;
    color: #2d3768;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
}

.mcp_scene_flow_filetypes {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin: 12% 0 18px;
}

.mcp_scene_flow_filetypes img {
    width: 46px;
}

.mcp_scene_flow_filetypes_text {
    color: #474c60;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
    text-align: center;
}

/* flow connectors — bidirectional request / response arrows */
.mcp_scene_flow_connector {
    flex: 0 0 170px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding: 0 6px;
}

.mcp_scene_flow_step {
    position: relative;
    display: flex;
    justify-content: center;
}

.mcp_scene_flow_num {
    position: absolute;
    top: -17px;
    left: 10%;
    transform: translateX(-50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #7AA3F6;
    border: 2px solid #ffffff;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
    z-index: 2;
}

.mcp_scene_flow_num1 {
    position: absolute;
    top: -6px;
    left: 14%;
    transform: translateX(-50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #7AA3F6;
    border: 2px solid #ffffff;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
    z-index: 2;
}

.mcp_scene_step_num {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-right: 8px;
    border-radius: 50%;
    background: #4952b9;
    color: #ffffff;
    font-size: 21px;
    font-weight: 800;
    vertical-align: middle;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
    padding: 0px 1px 2px;
}

.mcp_scene_flow_step_num {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 8px;
    border-radius: 50%;
    background: #7AA3F6;
    border: 2px solid #ffffff;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    vertical-align: middle;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
}

.mcp_scene_flow_bubble {
    position: relative;
    padding: 8px 10px;
    background: #D6E3FE;
    border-radius: 6px;
    /* box-shadow: 0 2px 8px rgba(32, 43, 150, 0.12); */
    color: #3d4368;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
}

.mcp_scene_flow_bubble::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #D6E3FE;
}

.mcp_scene_flow_bubble1 {
    position: relative;
    padding: 8px 10px;
    background: #D6E3FE;
    border-radius: 6px;
    /* box-shadow: 0 2px 8px rgba(32, 43, 150, 0.12); */
    color: #3d4368;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
}

.mcp_scene_flow_bubble1::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -9px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid #D6E3FE;
}

.mcp_scene_flow_arrow {
    position: relative;
    height: 14px;
    margin: 2px 14px;
    background: linear-gradient(90deg, #ffb65700 0%, #f3c46a 50%, #ffb657 100%);
}

.mcp_scene_flow_arrow1 {
    position: relative;
    height: 14px;
    margin: 2px 14px;
    background:linear-gradient(89deg, #ffb657 0%, #f3c46a 50%, #ffb65700 100%);
}

.mcp_scene_flow_arrow.arrow_right::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 13px solid #ffb657;
}

.mcp_scene_flow_arrow1.arrow_left::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -13px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-right: 13px solid #ffb657;
}

.mcp_scene_row {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.mcp_scene_box {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    background: #ffffff;
    border-radius: 14px;
    padding: 22px 16px 18px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.mcp_scene_box_num {
    position: absolute;
    top: -16px;
    left: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #4952b9;
    border: 2px solid #ffffff;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

.mcp_scene_box_title {
    margin: 6px 0 14px;
    color: #2d3347;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    min-height: 50px;
}

.mcp_scene_arrow {
    flex: 0 0 40px;
    align-self: center;
    position: relative;
    width: 40px;
    height: 44px;
    margin: 0 -4px;
    background: linear-gradient(90deg, #ffb657 0%, #f3c46a 50%, #ffb657 100%);
    z-index: 1;
}

.mcp_scene_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -26px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 26px solid transparent;
    border-bottom: 26px solid transparent;
    border-left: 27px solid #ffb657;
}

/* box1 prompt mock */
.mcp_scene_prompt {
    position: relative;
    padding: 14px 16px 12px;
    border-radius: 14px;
    background: #ffffff;
    border: 1.5px solid #e2c7f2;
    box-sizing: border-box;
    margin-bottom: 14px;
}

.mcp_scene_prompt_label {
    display: inline-block;
    margin-bottom: 8px;
    padding: 4px 12px;
    background: #eef1f8;
    border-radius: 999px;
    color: #4b536d;
    font-size: 12px;
    font-weight: 700;
}

.mcp_scene_prompt_text {
    margin: 0 0 10px;
    color: #4a4f66;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

.mcp_scene_prompt_bottom {
    display: flex;
    justify-content: flex-end;
}

.mcp_scene_prompt_send {
    padding: 6px 18px;
    border-radius: 999px;
    background: linear-gradient(90deg, #3d77f0 0%, #3268ef 100%);
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
}

.mcp_scene_tool_label {
    margin: 0 0 8px;
    color: #8a90a8;
    font-size: 12px;
    font-weight: 700;
}

.mcp_scene_tool_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1.5px solid #e3e5ef;
    border-radius: 8px;
    overflow: hidden;
}

.mcp_scene_tool_item {
    padding: 8px 6px;
    background: #ffffff;
    color: #4a5066;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    border-right: 1.5px solid #e3e5ef;
    border-bottom: 1.5px solid #e3e5ef;
}

.mcp_scene_tool_item:nth-child(2n) {
    border-right: none;
}

.mcp_scene_tool_item:nth-last-child(-n+2) {
    border-bottom: none;
}

/* box2 server mock */
.mcp_scene_server {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 25px 16px;
    background: linear-gradient(180deg, #5c63db 0%, #4722d8 100%);
    border-radius: 14px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
}

.mcp_scene_server_head {
    margin: 0 auto 14px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    text-align: center;
}

.mcp_scene_server_list {
    flex: 1;
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
}

.mcp_scene_server_item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
}

.mcp_scene_mini_icon {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mcp_scene_mini_icon svg {
    width: 14px;
    height: 14px;
}

.mcp_scene_server_item:last-child {
    margin-bottom: 0;
}

.mcp_scene_server_foot {
    margin: auto 0 0;
    color: #d6daf9;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
}

/* box3 file list */
.mcp_scene_filelist {
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    flex: 1;
}

.mcp_scene_filelist_item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding: 8px 10px;
    background: #f3f4fa;
    border-radius: 8px;
    color: #3d4359;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
}

.mcp_scene_filelist_item img {
    width: 20px;
    flex: 0 0 auto;
}

.mcp_scene_dots {
    margin: 0 0 10px;
    color: #b7bcd6;
    font-size: 18px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 2px;
}

/* box4 file badges */
.mcp_scene_filebadges {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 8px;
}

.mcp_scene_filebadge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.mcp_scene_filebadge img {
    width: 40px;
}

.mcp_scene_filebadge span {
    color: #4b536d;
    font-size: 10px;
    font-weight: 800;
}

.mcp_scene_filebadges_sm {
    margin-bottom: 4px;
}

.mcp_scene_filebadges_sm img {
    width: 32px;
}

.mcp_scene_filecount {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
    padding: 8px 10px;
    background: #f3f4fa;
    border-radius: 8px;
    color: #3d4359;
    font-size: 13px;
    font-weight: 800;
}

.mcp_scene_filecount .check {
    width: 20px;
    height: 20px;
    background: #4952b9;
    margin-top: 0;
}

.mcp_scene_filecount .check img {
    width: 11px;
}

/* box5 hand-off */
.mcp_scene_subcaption {
    margin: 0 0 14px;
    padding: 10px 12px;
    background: #f3f4fa;
    border-radius: 8px;
    color: #6b7290;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
}

.mcp_scene_down_arrow {
    position: relative;
    width: 14px;
    height: 26px;
    margin: 4px auto;
    background: linear-gradient(180deg, #5c63db 0%, #4952b9 100%);
}

.mcp_scene_down_arrow::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -13px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 14px solid #4952b9;
}

.mcp_scene_claude_badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 12px auto 0;
    padding: 10px 22px;
    width: fit-content;
    border: 1.5px solid #b9c0ef;
    border-radius: 12px;
    background: #ffffff;
    color: #2d3347;
    font-size: 17px;
    font-weight: 800;
}

.mcp_scene_spark {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
}

/* box6 large analysis panel */
.mcp_scene_down_connector {
    position: relative;
    width: 99%;
    height: 97px;
    margin: 0px 0;
    background: linear-gradient(160deg, #a3a7bd6b 0%, #a3a7bd45 90%, #a3a7bd81 100%);
    clip-path: polygon(40px 0%, 345px 0%, 114% 100%, 0% 100%);
    z-index: 2;
    top: -29px;
}

@media screen and (max-width: 980px) {
    .mcp_scene_down_connector {
        clip-path: polygon(18px 0%, 140px 0%, 100% 100%, 0% 100%);
    }
}

.mcp_scene_box6 {
    position: relative;
    margin-top: 0px;
    padding: 28px;
    /* background: #333EA7; */
    border-radius: 18px;
    box-sizing: border-box;
    z-index: 2;
    top: -47px;
    background: linear-gradient(180deg, #4147b1 0%, #30369c 100%);
}

.mcp_scene_prompt_panel {
    flex: 0.95;
    min-width: 0;
    display: flex;
    flex-direction: column;
    margin-top: 15px;
}

.mcp_scene_prompt_panel_head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0px;
    z-index: 2;
}

.mcp_scene_prompt_avatar {
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
}

.mcp_scene_prompt_avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mcp_scene_prompt_panel_title {
    margin: 0;
    color: #ffffff;
    font-size: 23px;
    font-weight: 800;
}

.mcp_scene_prompt_panel_title_sub {
    margin-left: 6px;
    color: #b9c0ef;
    font-size: 16px;
    font-weight: 500;
}

.mcp_scene_chatbox {
    display: flex;
    flex-direction: column;
    padding: 20px 20px 16px;
    background: #F8F9F6;
    border-radius: 16px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    z-index: 1;
    position: relative;
    top: -10px;
}

.mcp_scene_chatbox_hello {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #2d3347;
    font-size: 27px;
    font-weight: 700;
}

.mcp_scene_chatbox_contents {
    display: flex;
    flex-direction: column;
    padding: 20px 20px 16px;
    background: #F8F9F6;
    border-radius: 8px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1.2px solid #a6a8be73;
}

.mcp_scene_chatbox_hello .mcp_scene_spark {
    width: 20px;
    height: 20px;
}

.mcp_scene_chatbox_text {
    flex: 1;
    margin: 0 0 25px;
    color: #4f5156;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7;
}

.mcp_scene_chatbox_bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid #eaebf0;
    flex-wrap: wrap;
    width: 100%;
}

.mcp_scene_chatbox_plus {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid #dfe2ef;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7290;
    font-size: 15px;
    font-weight: 700;
}

.mcp_scene_boxchattab{
    padding: 3px 4px;
    background: #f3f4fa;
    border-radius: 8px;
    color: #a2a8bd;
    font-size: 13px;
    font-weight: 700;
    align-items: center;
    flex-direction: row;
    display: flex;
}

.mcp_scene_chatbox_tab {
    padding: 4px 12px;
    border-radius: 6px;
    color: #a2a8bd;
    font-size: 13px;
    font-weight: 700;
}

.mcp_scene_chatbox_tab.is_active {
    background: #eef1f8;
    color: #2d3347;
}

.mcp_scene_chatbox_spacer {
    flex: 1;
}

.mcp_scene_chatbox_model {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 999px;
    /* background: #f3f4fa; */
    color: #4b536d;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.mcp_scene_chatbox_model svg {
    width: 12px;
    height: 12px;
}

.mcp_scene_chatbox_mic {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mcp_scene_chatbox_mic svg {
    width: 16px;
    height: 16px;
}

.mcp_scene_chatbox_send {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e8611f;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mcp_scene_chatbox_send svg {
    width: 14px;
    height: 14px;
}

.mcp_scene_result_panel {
    flex: 1.35;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.mcp_scene_result_title {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}

.mcp_scene_doc_log {
    flex: 1;
    min-width: 0;
    padding: 10px 18px;
    background: #F8F9F6;
    box-sizing: border-box;
    overflow: hidden;
}

.mcp_scene_doc_log_main {
    margin: 0 0 10px;
    color: #44464b;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.35;
    background-color: #F1EFEA;
    border-radius: 8px;
    padding: 8px 10px;
}

.mcp_scene_doc_log_steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mcp_scene_doc_log_steps li {
    margin-bottom: 4px;
    color: #5f6064;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;
}

.mcp_scene_doc_log_steps li.mcp_scene_doc_log_tool {
    margin-bottom: 2px;
    color: #9a9ba19e;
    font-size: 8.5px;
    font-weight: 700;
}

.mcp_scene_doc_agenda {
    margin-top: 35px;
}

.mcp_scene_doc_agenda_head {
    margin: 0 0 4px;
    color: #189185;
    font-size: 12px;
    font-weight: 800;
}

.mcp_scene_doc_agenda_item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
}

.mcp_scene_doc_agenda_num {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #189185;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mcp_scene_doc_agenda_text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mcp_scene_doc_agenda_text b {
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.mcp_scene_doc_agenda_text span {
    color: #189185;
    font-size: 10px;
    font-weight: 500;
}

/* MCP security highlights + feature grid */
.mcp_security_wrap {
    margin-top: 48px;
}

.mcp_security_highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 56px;
}

.mcp_security_highlight_card {
    padding: 38px 28px 32px;
    background: #ffffff;
    border: 1.5px solid #BABDD0;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(32, 44, 150, 0);
    text-align: center;
    box-sizing: border-box;
    transition: .25s;
}

.mcp_security_highlight_card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 44px rgba(32, 43, 150, 0.16);
    border-color: #BABDD0;
}

.mcp_security_highlight_icon {
    width: 90px;
    height: 90px;
    margin: 0 auto 20px;
}

.mcp_security_highlight_icon-speed {
    width: 90px;
    height: 90px;
}

.mcp_security_highlight_icon-search {
    width: 90px;
    height: 90px;
}

.mcp_security_highlight_icon-ai {
    width: 90px;
    height: 90px;
}

.mcp_security_highlight_icon svg,
.mcp_security_highlight_icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mcp_security_highlight_title {
    margin: 0 0 10px;
    color: #0a1730;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.6;
}

.mcp_security_highlight_text {
    margin: 0;
    color: #66758b;
    font-size: 20px;
    line-height: 1.55;
}

.mcp_security_heading {
    margin: 0 0 28px;
    color: #2a2f42;
    font-size: 35px;
    font-weight: 800;
    text-align: center;
    line-height: 1.4;
}

.mcp_security_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 24px;
}

.mcp_security_card {
    padding: 25px 19px 30px;
    background: #ffffff;
    border: 1.5px solid #b9bee6;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(32, 43, 150, 0.08);
    box-sizing: border-box;
}

.mcp_security_card_head {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 10px;
}

.mcp_security_card_title {
    margin: 0;
    color: #2a2f42;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.3px;
}

.mcp_security_card_text {
    margin: 0 0 0 45px;
    color: #5c6076;
    font-size: 16px;
    line-height: 1.7;
}

.mcp_scene_box6_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 4px 0 20px;
}

.mcp_scene_box6_title {
    margin: 0;
    color: #2d3347;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.3;
}

.mcp_scene_dev_badge {
    flex: 0 0 auto;
    padding: 8px 18px;
    border-radius: 999px;
    background: linear-gradient(130deg, #da6cf2 0%, #4d72ff 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.mcp_scene_box6_body {
    display: flex;
    align-items: stretch;
    gap: 4px;
}

.mcp_scene_chat {
    flex: 1;
    min-width: 0;
    padding: 18px 20px;
    background: #f7f8fc;
    border: 1.5px solid #dfe2ef;
    border-radius: 14px;
    box-sizing: border-box;
}

.mcp_scene_chat_head {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 12px;
    color: #4a5066;
    font-size: 14px;
    font-weight: 700;
}

.mcp_scene_chat_head_brand {
    color: #2d3347;
    font-weight: 800;
    margin-right: 4px;
}

.mcp_scene_chat_head_sub {
    margin-left: 6px;
    color: #a2a8bd;
    font-size: 12px;
    font-weight: 500;
}

.mcp_scene_chat_text {
    margin: 0 0 16px;
    padding: 14px 16px;
    background: #ffffff;
    border-radius: 10px;
    color: #3d4359;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}

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

.mcp_scene_chat_bar_item {
    padding: 6px 12px;
    background: #ffffff;
    border: 1px solid #dfe2ef;
    border-radius: 999px;
    color: #4b536d;
    font-size: 12px;
    font-weight: 700;
}

.mcp_scene_chat_bar_model {
    margin-left: auto;
    padding: 6px 14px;
    background: #eef1f8;
    border-radius: 999px;
    color: #4952b9;
    font-size: 12px;
    font-weight: 800;
}

.mcp_scene_gen_arrow {
    flex: 0 0 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
}

.mcp_scene_gen_arrow_label {
    color: #e08a3e;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.mcp_scene_gen_arrow_shape {
    position: relative;
    width: 100%;
    height: 25px;
    background: linear-gradient(90deg, #b7c0f000 0%, #8f9be8 100%);
}

.mcp_scene_gen_arrow_shape::after {
    content: "";
    position: absolute;
    right: -22px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 24px solid transparent;
    border-bottom: 24px solid transparent;
    border-left: 24px solid #8f9be8;
}

.mcp_scene_gen_arrow_icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ff9a4d;
    border: 3px solid #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.mcp_scene_gen_arrow_icon svg {
    width: 16px;
    height: 16px;
}

.mcp_scene_doc {
    flex: 1;
    min-width: 0;
    display: flex;
    background-color: #ffffff;
    border: 1.5px solid #6E7CE6;
}

.mcp_scene_doc_points {
    flex: 1;
    min-width: 0;
    padding: 16px 18px;
    background: #f7f8fc;
    border: 1.5px solid #dfe2ef;
    border-radius: 14px;
    box-sizing: border-box;
}

.mcp_scene_doc_points_head {
    margin: 0 0 8px;
    color: #2d3347;
    font-size: 13px;
    font-weight: 800;
}

.mcp_scene_doc_points ul,
.mcp_scene_doc_points ol {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
}

.mcp_scene_doc_points ol {
    padding-left: 18px;
    list-style: decimal;
}

.mcp_scene_doc_points ul li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 6px;
    color: #4a5066;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.4;
}

.mcp_scene_doc_points ul li .check {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    margin-top: 1px;
}

.mcp_scene_doc_points ul li .check img {
    width: 9px;
}

.mcp_scene_doc_points ol li {
    color: #4a5066;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.6;
}

.mcp_scene_doc_preview {
    flex: 1;
    min-width: 0;
    padding: 18px 20px 5px;
    background: linear-gradient(160deg, #1D2D47 0%, #0a1f30 100%);
    border-radius: 0px;
    box-sizing: border-box;
}

.mcp_scene_doc_preview_label {
    margin: 0 0 2px;
    color: #63B3BB;
    font-size: 13px;
    font-weight: 700;
}

.mcp_scene_doc_preview_title {
    margin: 0 0 4px;
    color: #ffffff;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.35;
}

.mcp_scene_doc_preview_sub {
    margin: 0 0 18px;
    color: #63B3BB;
    font-size: 12px;
    font-weight: 500;
}

.mcp_scene_doc_stats {
    display: flex;
    gap: 8px;
}

.mcp_scene_doc_stat {
    flex: 1;
    min-width: 0;
    padding: 10px 6px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    text-align: center;
}

.mcp_scene_doc_stat b {
    display: block;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
}

.mcp_scene_doc_stat span {
    display: block;
    margin-top: 3px;
    color: #63B3BB;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.3;
}

@media screen and (max-width: 480px) {
    .mcp_scene_row {
        flex-direction: column;
    }

    .mcp_scene_arrow {
        display: none;
    }

    .mcp_scene_down_connector {
        display: none;
    }

    .mcp_scene_box {
        margin-bottom: 20px;
    }

    .mcp_scene_top {
        flex-direction: column;
    }

    .mcp_scene_flow_card {
        padding: 32px 18px 20px;
    }

    .mcp_scene_flow_row {
        flex-direction: column;
    }

    .mcp_scene_flow_box,
    .mcp_scene_flow_box1 {
        flex: 1 1 auto;
    }

    .mcp_scene_flow_box {
        margin-bottom: 6px;
        margin-top: 6px;
    }

    .mcp_scene_flow_box1 {
        margin-bottom: 6px;
    }

    .mcp_scene_flow_connector {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-content: center;
        gap: 6px 10px;
        margin: 8px 0 0;
        padding-bottom: 0px;
        flex: 0 0 150px;

    }

    .mcp_scene_flow_connector .mcp_scene_flow_step {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 0;
        position: relative;
        z-index: 2;
    }

    .mcp_scene_flow_step_num2,
    .mcp_scene_flow_step_num3 {
        grid-column: 1;
    }


    .mcp_scene_flow_step_num2{
      top:-7px;
    }

    .mcp_scene_flow_step_num3 {
      top:-8px;
    }



    .mcp_scene_flow_step_num5,
    .mcp_scene_flow_step_num4 {
        grid-column: 2;
        align-self: end;
        padding-top: 0;
        padding-bottom: 7px;
        flex-direction: column-reverse;
        gap: 6px;
    }


        .mcp_scene_flow_step_num4{
      top:-54px;
    }

    .mcp_scene_flow_step_num5 {
      top:-54px;
    }



    .mcp_scene_flow_connector .mcp_scene_flow_num,
    .mcp_scene_flow_connector .mcp_scene_flow_num1 {
        position: static;
        transform: none;
        margin-bottom: -4px;
    }

    .mcp_scene_flow_step_num5 .mcp_scene_flow_num1,
    .mcp_scene_flow_step_num4 .mcp_scene_flow_num1 {
        margin-bottom: -75px;
    }

    .mcp_scene_flow_bubble::after,
    .mcp_scene_flow_bubble1::before {
        display: none;
    }

    .mcp_scene_flow_arrow,
    .mcp_scene_flow_arrow1 {
        display: block;
        position: absolute;
        width: 14px;
        height: 140px;
        top: -10px;
        margin: 0;
        z-index: 1;
        background: linear-gradient(180deg, #ffb65700 0%, #f3c46a 60%, #ffb657 100%);
    }

    .mcp_scene_flow_arrow {
        left: 25%;
        margin-left: -7px;
        transform: none;
    }

    .mcp_scene_flow_arrow1 {
        left: 75%;
        margin-left: -7px;
        transform: none;
        top: auto;
        bottom: 0;
        background: linear-gradient(180deg, #ffb657 0%, #f3c46a 60%, #ffb65700 100%);
    }

    .mcp_scene_flow_arrow.arrow_right::after {
        top: auto;
        right: auto;
        left: 50%;
        bottom: -11px;
        transform: translateX(-50%);
        border-top: 13px solid #ffb657;
        border-bottom: none;
        border-left: 13px solid transparent;
        border-right: 13px solid transparent;
    }

    .mcp_scene_flow_arrow1.arrow_left::before {
        top: -11px;
        left: 50%;
        bottom: auto;
        transform: translateX(-50%);
        border-bottom: 13px solid #ffb657;
        border-top: none;
        border-right: 13px solid transparent;
        border-left: 13px solid transparent;
    }

    .mcp_scene_box6_body {
        flex-direction: column;
    }

    .mcp_scene_prompt_panel,
    .mcp_scene_result_panel {
        flex: none;
    }

    .mcp_scene_prompt_panel {
        margin-bottom:0;
    }

    .mcp_scene_gen_arrow {
        flex: 0 0 auto;
        flex-direction: column-reverse;
        height: auto;
        margin: 10px 0 28px;
    }

    .mcp_scene_gen_arrow_shape {
        width: 26px;
        height: 60px;
        transform: rotate(90deg);
    }

    .mcp_scene_doc {
        flex-direction: column;
    }

    .mcp_scene_doc_log {
        flex: 1 1 auto;
    }

    .mcp_scene_top {
        gap: 12px;
        margin: 0 0 14px;
    }

    .mcp_scene_desc {
        font-size: 14px;
        line-height: 1.6;
    }

    .mcp_scene_flow_card {
        padding: 0 0px 16px;
    }

    .mcp_scene_flow_cardbox {
        padding: 18px 14px 16px;
        border-radius: 14px;
    }

    .mcp_scene_flow_box_head {
        font-size: 16px;
        padding: 10px 8px 8px;
    }

    .mcp_scene_flow_box_head_sub {
        font-size: 12px;
    }

    .mcp_scene_flow_box_body{
        padding: 18px 12px 16px;
    }

    .mcp_scene_flow_box_body1 {
        padding: 0;
    }

    .mcp_scene_flow_box1_head {
        font-size: 16px;
    }

    .mcp_scene_flow_box1_head_plain {
        padding: 0px 8px 6px;
    }

    .mcp_scene_flow_pill {
        padding: 6px 16px;
        font-size: 13px;
    }

    .mcp_scene_flow_list li {
        padding: 7px 10px;
        font-size: 14px;
    }

    .mcp_scene_flow_filetypes {
        gap: 10px;
        margin: 8% 0 14px;
    }

    .mcp_scene_flow_filetypes img {
        width: 34px;
    }

    .mcp_scene_flow_filetypes_text {
        font-size: 13px;
    }

    .mcp_scene_flow_connector {
        gap: 10px;
    }

    .mcp_scene_flow_bubble,
    .mcp_scene_flow_bubble1 {
        font-size: 12px;
        padding: 7px 8px;
    }

    .mcp_scene_server {
        padding: 18px 14px;
    }

    .mcp_scene_server_head {
        font-size: 14px;
        padding: 7px 12px;
    }

    .mcp_scene_server_item {
        font-size: 14px;
        gap: 8px;
    }

    .mcp_scene_mini_icon {
        width: 20px;
        height: 20px;
    }

    .mcp_scene_down_connector {
        height: 90px;
        clip-path: polygon(14px 0%, 100px 0%, 100% 100%, 0% 100%);
        top: 0;
    }

    .mcp_scene_box6 {
        padding: 20px 16px;
        top: 25px;
        border-radius: 14px;
    }

    .mcp_scene_box6_head {
        flex-wrap: wrap;
        gap: 10px;
        margin: 4px 0 16px;
    }

    .mcp_scene_box6_title {
        font-size: 18px;
    }

    .mcp_scene_dev_badge {
        font-size: 12px;
        padding: 6px 14px;
    }

    .mcp_scene_prompt_panel_head {
        gap: 10px;
    }

    .mcp_scene_prompt_avatar {
        width: 56px;
        height: 56px;
    }

    .mcp_scene_prompt_panel_title {
        font-size: 19px;
    }

    .mcp_scene_prompt_panel_title_sub {
        display: block;
        margin-left: 0;
        font-size: 13px;
    }

    .mcp_scene_chatbox {
        top: 0;
        margin-top: 14px;
    }

    .mcp_scene_chatbox,
    .mcp_scene_chatbox_contents {
        padding: 14px 14px 12px;
    }

    .mcp_scene_chatbox_hello {
        font-size: 20px;
        margin: 0 20px 5px 0;
    }

    .mcp_scene_boxchattab {
        flex: 1;
    }

    .mcp_scene_chatbox_spacer {
        flex-basis: 100%;
        height: 0;
    }

    .mcp_scene_chatbox_model{
      flex:1;
    }


    .mcp_scene_chatbox_text {
        font-size: 13px;
        margin-bottom: 16px;
    }

    .mcp_scene_result_title {
        font-size: 17px !important;
    }

    .mcp_security_wrap {
        margin-top: 30px;
    }

    .mcp_security_highlights {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 32px;
    }

    .mcp_security_highlight_card {
        padding: 26px 22px;
    }

    .mcp_security_highlight_icon {
        width: 80px;
        height: 80px;
        margin-bottom: 5px;
    }

    .mcp_security_highlight_icon-speed {
        width: 80px;
        height: 80px;
    }

    .mcp_security_highlight_icon-search {
        width: 80px;
        height: 80px;
    }

    .mcp_security_highlight_icon-ai {
        width: 80px;
        height: 80px;
    }

    .mcp_security_highlight_title {
        font-size: 22px;
        line-height: 1.4;
    }

    .mcp_security_highlight_text {
        font-size: 16px;
    }

    .mcp_security_heading {
        margin-bottom: 20px;
        font-size: 21px;
    }

    .mcp_security_grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .mcp_security_card {
        padding: 18px;
    }

    .mcp_security_card_title {
        font-size: 20px;
    }

    .mcp_security_card_text {
        font-size: 15px;
        margin: 0 0 0 36px;
        line-height: 1.5;
    }

    .mcp_scene_doc_log {
        padding: 10px 12px;
    }

    .mcp_scene_doc_preview {
        padding: 14px 16px 15px;
    }

    .mcp_scene_doc_preview_title {
        font-size: 18px;
    }

    .mcp_scene_doc_stats {
        gap: 6px;
    }

    .mcp_scene_doc_stat {
        padding: 8px 4px;
    }

    .mcp_scene_doc_stat b {
        font-size: 13px;
    }

    .mcp_scene_chat {
        padding: 14px 16px;
    }

    .mcp_scene_chat_text {
        padding: 12px 14px;
        font-size: 13px;
    }

    .mcp_scene_gen_arrow_shape {
        height: 30px;
    }
}

/* bottom usecase */
.feature_mcp_usecase_area {
    margin-top: 0;
    display: grid;
    background: #4952b9;
    box-sizing: border-box;
    height: 160px;
    border-radius: 0 0 15px 15px;
}



.feature_mcp_usecase_label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 24px;
    color: #ffffff;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
    box-sizing: border-box;
    position: relative;
}

.feature_mcp_usecase_label::after {
    content: "";
    position: absolute;
    top: 8px;
    right: 0;
    width: 1.35px;
    height: 92%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
}


.feature_mcp_usecase_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
}

.feature_mcp_usecase_item {
    position: relative;
    padding: 24px 20px 24px 44px;
    display: flex;
    box-sizing: border-box;
    align-items: flex-start;
    gap: 12px;
}

.check {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    flex: 0 0 auto;
    margin-top: 4px;
}



/* .feature_mcp_usecase_item::before {
    content: "✓";
    position: absolute;
    top: 26px;
    left: 18px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #8d95ff;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    text-align: center;
} */

.feature_mcp_usecase_title {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.3;
}

.feature_mcp_usecase_desc {
    margin: 0;
    color: #d6daf9;
    font-size:20px;
    font-weight: 500;
    line-height: 1.5;
}

/* responsive */
@media screen and (max-width: 1280px) {
    .feature_mcp_top_inner {
        gap: 22px;
    }

    .feature_mcp_node_title {
        font-size: 24px;
    }

    .feature_mcp_client_item {
        font-size: 18px;
    }

    .feature_mcp_server_item {
        font-size: 20px;
    }

    .feature_mcp_arrow {
        width: 72px;
    }

    .feature_mcp_info_area {
        gap: 24px;
    }

    .feature_mcp_table th,
    .feature_mcp_table td {
        font-size: 16px;
    }

    .feature_mcp_usecase_label {
        font-size: 30px;
    }

    .feature_mcp_usecase_title {
        font-size: 18px;
    }
}

@media screen and (max-width: 980px) {
    .feature_mcp_top_inner {
        grid-template-columns: 1fr;
    }

    .feature_mcp_arrow {
        display: none;
    }

    .feature_mcp_info_area {
        grid-template-columns: 1fr;
    }

    .feature_mcp_usecase_area {
        grid-template-columns: 1fr;
    }

    .feature_mcp_usecase_list {
        grid-template-columns: 1fr;
    }

    .feature_mcp_usecase_item {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
    }
}

@media screen and (max-width: 480px) {
    .feature_mcp_top_area {
        padding: 18px 16px 18px;
        border-radius: 12px;
    }

    .feature_mcp_dev_badge {
        top: -14px;
        right: 14px;
        min-width: 110px;
        padding: 8px 14px;
        font-size: 14px;
    }

    .feature_mcp_node_title {
        font-size: 22px;
        margin: 10px 0 7px;
    }

    .feature_mcp_client_box,
    .feature_mcp_source_box,
    .feature_mcp_server_box {
        border-radius: 12px;
    }

    .feature_mcp_client_item {
        font-size: 16px;
    }

    .feature_mcp_server_head {
        min-width: 0;
        width: 100%;
        font-size: 18px;
        padding: 10px 14px;
    }

    .feature_mcp_server_item {
        padding-left: 0;
        font-size: 18px;
    }

    .feature_mcp_server_item::before {
        width: 24px;
        height: 24px;
        font-size: 15px;
        line-height: 24px;
    }

    .feature_mcp_info_title {
        font-size: 22px;
        margin: 0 0 8px;
    }

    .feature_mcp_info_title::before {
        height: 34px;
    }

    .feature_mcp_table th,
    .feature_mcp_table td {
        padding: 12px 14px;
        font-size: 14px;
    }

    .feature_mcp_usecase_label {
        justify-content: flex-start;
        padding: 20px 16px;
        font-size: 26px;
    }

    .feature_mcp_usecase_item {
        padding: 20px;
        border-top:none;
        gap: 13px;
    }




    .feature_mcp_usecase_item::before {
        top: 20px;
        left: 14px;
        width: 24px;
        height: 24px;
        font-size: 15px;
        line-height: 24px;
    }

    .check {
    width: 24px;
    height: 24px;
}

    .feature_mcp_usecase_title {
        font-size: 18px !important;
    }

    .feature_mcp_usecase_desc {
        font-size: 14px !important;
    }



.feature_mcp_block{
padding: 20px 16px 10px;
}

.feature_mcp_server_box{
  padding: 20px 16px;
}


.feature_mcp_source_item{
      padding: 14px 14px;
}

.feature_mcp_source_name{
      font-size: 16px;
}


.feature_mcp_source_icon{
      line-height: 38px;
}



td.feature_mcp_table_head{
      width: 46%;
}


.feature_mcp_info_area{
  gap: 40px;
  padding: 25px 0 0;
}


.feature_mcp_usecase_area{
      height: auto;
}







.check {
    width: 22px;
    height: 22px;
  }


  .feature_mcp_usecase_title {
      font-size: 18px !important;
      margin: 0 0 4px !important;
  }

  .feature_mcp_usecase_label {
      font-size: 23px;
      position: relative;
      padding-bottom: 16px;
  }

  .solution_security {
    padding: 35px 0 !important;
}

  .feature_mcp_usecase_label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    top:60px;
    width: 100%;
    height: 1.35px;
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.4) 50%,
      rgba(255, 255, 255, 0) 100%
    );
  }

  .feature_mcp_arrow {
      display: block;
      width: 40px;
  }


  .feature_mcp_arrow.feature_mcp_arrow_left {
      z-index: 9;
      top: 64.4%;
      transform: rotate(90deg);
      left: 42%;
  }


  .feature_mcp_arrow.feature_mcp_arrow_right {
      z-index: 9;
      top: 33%;
      left: 42%;
      transform: rotate(90deg);
  }

  span.feature_mcp_arrow_label {
    transform: rotate(270deg);
    top: 0;
    left: -60%;
    z-index: 999;
  }

  .feature_mcp_top_inner {
    gap: 100px;
}



.contents_item_area.features4{
      background: linear-gradient(#fff, #fff) padding-box, linear-gradient(1deg, #202b96 0%, #4952b9 100%) border-box;
          padding: 0px 0px 8px;
}








}








/*-------------- 特徴 5 start  ↓↓  --------------  */


.mcp_link_send_block {
    width: 100%;
    border: 2px solid #4b58cc;
    border-radius: 20px;
    overflow: hidden;
    background: #4b58cc;
    box-sizing: border-box;
}

.mcp_link_send_header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    padding: 20px 8px 15px 45px;
    background: #4952b9;
    box-sizing: border-box;
}

.mcp_link_send_header_label {
  padding: 10px 20px 11px;
    border: 2px solid #7981dd;
    border-radius: 10px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    background-color: #3e47b2;
    margin-left: 13px;
    display: inline-block;
    text-align: center;
}

.mcp_link_send_header_title {
    margin: 0;
    color: #ffffff;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.2;
    width: 46.5%;
}

.mcp_link_send_header_title1 {
    margin: 0;
    color: #ffffff;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.2;
}

.mcp_link_send_header_badge {
    position: absolute;
    top: 30px;
    right: 18px;
    min-width: 146px;
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(130deg, #da6cf2 0%, #4d72ff 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0px 0px 5px #323c9724;
}

.mcp_link_send_header_badge1 {
    /* position: absolute; */
    top: 30px;
    right: 18px;
    /* min-width: 146px; */
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(130deg, #da6cf2 0%, #4d72ff 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0px 0px 5px #323c9724;
    width: 10.5%;
    margin-right: 20px;
    margin-bottom: 3px;
}

.mcp_link_send_header_badge2 {
    /* position: absolute; */
    top: 30px;
    right: 18px;
    /* min-width: 146px; */
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(130deg, #da6cf2 0%, #4d72ff 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    box-shadow: 0px 0px 5px #323c9724;
    width: 20%;
    margin-right: 20px;
    margin-bottom: 3px;
}

.mcp_link_send_body {
    padding: 30px 32px 40px;
    background: #ffffff;
    box-sizing: border-box;
}

.mcp_link_send_body1 {
    padding: 25px 32px 0px;
    background: #ffffff;
    box-sizing: border-box;
}

.mcp_link_send_section {
    margin-bottom: 50px;
}

.mcp_link_send_section:last-child {
    margin-bottom: 0;
}

.mcp_link_send_section_title {
  font-size: 31px;
  font-weight: 800;
  color: #1d2537;
  line-height: 1.2;
  margin: 0 0 8px;
  padding-left: 16px;
  border-left: 4px solid #465ae0;
}


.mcp_link_send_section_title_sub {
    color: #73799a;
    font-size: 24px;
    font-weight: 400;
}

.mcp_link_send_section_title_subtxt {
    font-size: 20px;
    padding-left: 20px;
    padding-bottom: 8px;
}

.mcp_link_send_section_title_subtxt1 {
    font-size: 20px;
    padding-left: 0px;
    padding-bottom: 8px;
}

.section_subtitle_sub {
    font-size: 17px;
    font-weight: 100;
}

/* GUI */
.mcp_link_send_gui_box {
    padding: 22px;
    background: #f7f8fc;
    border: 2px solid #cfd1e3e3;
    box-sizing: border-box;
    border-radius: 12px;
}

.mcp_link_send_gui_steps {
    display: grid;
    grid-template-columns: 1fr 44px 1fr 44px 1fr 44px 1fr;
    align-items: center;
    gap: 10px;
}

.mcp_link_send_gui_step {
    min-width: 0;
}

.mcp_link_send_gui_step_head {
    position: relative;
    padding: 14px 16px 14px 24px;
    background: linear-gradient(90deg, #7888e2 0%, #3f48d8 100%);
    color: #ffffff;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.2;
    clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%);
}

.mcp_link_send_gui_step_body {
    padding: 12px 0 0;
}

.mcp_link_send_gui_arrow {
    position: relative;
    width: 44px;
    height: 18px;
    background: linear-gradient(90deg, #e9eaf1 0%, #cfd2df 100%);
    border-radius: 999px;
}

.mcp_link_send_gui_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -14px;
    transform: translateY(-50%);
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 14px solid #cfd2df;
}

.mcp_link_send_gui_mock {
    height: 180px;
    background: #ffffff;
    border: 1px solid #d8dced;
    box-sizing: border-box;
    overflow: hidden;
}

.mcp_link_send_gui_mock_top {
    height: 18px;
    background: #7f8de3;
}

.mcp_link_send_gui_mock_file {
    display: grid;
    grid-template-columns: 72px 1fr;
    grid-template-rows: 18px 1fr;
}

.mcp_link_send_gui_mock_file .mcp_link_send_gui_mock_top {
    grid-column: 1 / 3;
}

.mcp_link_send_gui_mock_side {
    background: #f5f7fd;
    border-right: 1px solid #e0e5f2;
}

.mcp_link_send_gui_mock_main {
    padding: 10px;
}

.mcp_link_send_gui_mock_line {
    height: 18px;
    margin-bottom: 10px;
    background: #eef1f8;
}

.mcp_link_send_gui_mock_line_wide {
    width: 88%;
}

.mcp_link_send_gui_mock_line_highlight {
    width: 62%;
    background: #f3ea68;
}

.mcp_link_send_gui_mock_form {
    display: flex;
    flex-direction: column;
}

.mcp_link_send_gui_mock_panel,
.mcp_link_send_gui_mock_mail,
.mcp_link_send_gui_mock_expire {
    padding: 14px;
}

.mcp_link_send_gui_mock_field {
    height: 20px;
    margin-bottom: 12px;
    background: #eef1f8;
    border: 1px solid #d8dced;
}

.mcp_link_send_gui_mock_field_marked {
    border: 2px solid #ff4a68;
    background: #ffffff;
}

.mcp_link_send_gui_mock_button_row {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.mcp_link_send_gui_mock_button {
    width: 58px;
    height: 20px;
    background: #7f8de3;
    border-radius: 4px;
}

.mcp_link_send_gui_mock_button_light {
    background: #d9dfef;
}

.mcp_link_send_gui_mock_mail_row {
    height: 24px;
    margin-bottom: 12px;
    background: #eef1f8;
    border: 1px solid #d8dced;
}

.mcp_link_send_gui_mock_mail_row_marked {
    border: 2px solid #ff4a68;
    background: #ffffff;
}

.mcp_link_send_gui_mock_mail_box {
    height: 52px;
    margin-top: 10px;
    background: #eef1f8;
    border: 1px solid #d8dced;
}

.mcp_link_send_gui_mock_mail_box_marked {
    border: 2px solid #ff4a68;
    background: #ffffff;
}

/* Prompt area */
.mcp_link_send_prompt_area {
    display: grid;
    grid-template-columns: 0.85fr 82px 1.6fr;
    align-items: center;
    gap: 5px;
    padding: 47px 22px 26px;
    background: #f7f8fc;
    border: 2px solid #cfd1e3e3;
    border-radius: 12px;
    box-sizing: border-box;
    align-items: stretch;
}

.mcp_link_send_prompt_box {
  position: relative;
  padding: 22px 28px 18px;
  border-radius: 20px;
  background: #ffffff;
  box-sizing: border-box;
  z-index: 0;
}


.mcp_link_send_prompt_box::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 2.2px;
  background: linear-gradient(130deg, #e56cf2 0%, #4d72ff 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
}

.mcp_link_send_prompt_text {
    min-height: 126px;
    color: #4a4f66;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.5;
}

.mcp_link_send_prompt_bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.mcp_link_send_prompt_icons {
    display: flex;
    gap: 10px;
}

.mcp_link_send_prompt_icon {
    width: 36px;
    height: 36px;
    border: 1.5px solid #dcdee3ba;
    border-radius: 999px;
    background: #ffffff;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}


.mcp_link_send_prompt_icon img {
    width: 16px;
    height: 16px;
    display: block;
}



.mcp_link_send_prompt_send {
  min-width: 115px;
  padding: 10px 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d77f0 0%, #3268ef 100%);
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  position: relative;
}


.mcp_link_send_prompt_send img {
    position: absolute;
    width: 42%;
    left: 90px;
    top: 12px;
}




.mcp_link_send_prompt_arrow {
  position: relative;
  width: 52px;
  height: 28px;
  margin: 0 auto;
  background: linear-gradient(90deg, #f8e5ae00 0%, #ffb657 100%);
  top: 48%;
  left: -10px;
}

.mcp_link_send_prompt_arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translateY(-50%);
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 25px solid #ffb657;
}

.mcp_link_send_agent_box_wrap {
    position: relative;
}

.mcp_link_send_agent_label {
    position: absolute;
    top: -20px;
    left: 24px;
    padding: 12px 38px;
    border-radius: 999px;
    background: linear-gradient(130deg, #db52f4 0%, #294ef2 100%);
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    z-index: 2;
}

.mcp_link_send_agent_label_sub {
    font-size: 0.8em;
    font-weight: 100;
    color: #ffffffc2;
}

.mcp_link_send_agent_box {
    position: relative;
    padding: 52px 20px 20px;
    border-radius: 20px;
    background: #ffffff;
    box-sizing: border-box;
    z-index: 0;
}

.mcp_link_send_agent_box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 2.2px;
  background: linear-gradient(130deg, #da6cf2 0%, #4d72ff 20%, #4d72ff  100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
}

.mcp_link_send_agent_steps {
    display: grid;
    grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr;
    gap: 0px;
    align-items: center;
}

.mcp_link_send_agent_step {
    padding: 18px 16px 14px;
    background: #f3f5fb;
    border-radius: 12px;
    text-align: center;
}

.mcp_link_send_agent_icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 14px;
    border-radius: 999px;
    background: #ffffff;
    /* border: 1px solid #e1e6f2; */
    color: #5a6ef0;
    font-size: 34px;
    font-weight: 800;
    line-height: 88px;
    text-align: center;
}


.mcp_link_send_agent_icon img{
  width: 54px;
  height: 88px;
}



.mcp_link_send_agent_text {
    margin: 0;
    color: #222738;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}


.mcp_link_send_agent_flow_arrow {
  position: relative;
  width: 24px;
  height: 16px;
  background: linear-gradient(90deg, #dbe0f61a 0%, #b8c6ff 100%);
}

.mcp_link_send_agent_flow_arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -16px;
  transform: translateY(-50%);
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  border-left: 17px solid #b8c6ff;
}

/* responsive */
@media screen and (max-width: 1280px) {
    .mcp_link_send_header_title {
        font-size: 28px;
    }

    .mcp_link_send_header_title1 {
        font-size: 28px;
    }

    .mcp_link_send_section_title {
        font-size: 24px;
    }

    .mcp_link_send_gui_step_head {
        font-size: 16px;
    }

    .mcp_link_send_prompt_text {
        font-size: 20px;
    }

    .mcp_link_send_agent_label {
        font-size: 20px;
    }

    .mcp_link_send_agent_icon {
        width: 72px;
        height: 72px;
        font-size: 28px;
        line-height: 72px;
    }
}

@media screen and (max-width: 980px) {
    .mcp_link_send_gui_steps {
        grid-template-columns: 1fr;
    }

    .mcp_link_send_gui_arrow {
        display: none;
    }

    .mcp_link_send_prompt_area {
        grid-template-columns: 1fr;
    }

    .mcp_link_send_prompt_arrow {
        transform: rotate(90deg);
        margin: 10px auto;
    }

    .mcp_link_send_agent_steps {
        grid-template-columns: 1fr;
    }

    .mcp_link_send_agent_flow_arrow {

    }
}

@media screen and (max-width: 480px) {
    .mcp_link_send_header {
        padding: 16px 12px 18px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .mcp_link_send_header_label {
        font-size: 16px;
    }

    .mcp_link_send_header_title {
        font-size: 26px;
    }

    .mcp_link_send_header_badge {
        top: 12px;
        right: 12px;
        min-width: 110px;
        padding: 8px 14px;
        font-size: 14px;
    }

    .mcp_link_send_body {
        padding: 14px 14px 18px;
    }

    .mcp_link_send_body1 {
        padding: 14px 14px 24px;
    }

    .mcp_link_send_section_title {
        font-size: 22px;
        padding-left: 10px;
    }

    .mcp_link_send_section_title::before {
        height: 34px;
    }

    .mcp_link_send_gui_box,
    .mcp_link_send_prompt_area {
        padding: 14px;
    }

    .mcp_link_send_gui_step_head {
        font-size: 15px;
        padding: 12px 14px 12px 18px;
    }

    .mcp_link_send_gui_mock {
        height: 150px;
    }

    .mcp_link_send_prompt_box {
        padding: 18px 16px 16px;
        border-radius: 16px;
    }

    .mcp_link_send_prompt_text {
        min-height: 96px;
        font-size: 18px;
    }

    .mcp_link_send_prompt_send {
        min-width: 90px;
        font-size: 16px;
    }

    .mcp_link_send_agent_label {
        left: 14px;
        right: 14px;
        padding: 10px 16px;
        font-size: 18px;
        text-align: center;
    }

    .mcp_link_send_agent_box {
        padding: 60px 20px 20px;
        border-radius: 16px;
    }

    .mcp_link_send_agent_step {
        padding: 16px 12px 12px;
    }

    .mcp_link_send_agent_icon {
        width: 64px;
        height: 64px;
        margin-bottom: 10px;
        font-size: 24px;
        line-height: 64px;
    }

    .mcp_link_send_agent_text {
        font-size: 16px;
    }


.mcp_link_send_header_badge1{
  width: 22.5%;
  font-size: 12px;
  position: absolute;
  top: 20px;
  padding: 9px 16px;
  margin-right: 0;
}

.mcp_link_send_header_badge2{
  width: 22.5%;
  font-size: 13px;
  position: absolute;
  top: 20px;
  padding: 7px 18px;
  margin-right: 0;
}



.mcp_link_send_block{
      border: 2px solid #4952b9;
}




}



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

.ai_logo_img2{
  width: 100% !important;

}

.ai_logo_img2 img {
    padding-bottom: 0 !important;
    width: 65% !important;
}


.mcp_tit_area {
    /* gap: 12px;
    display: grid;
    grid-template-columns: 0.7fr 1fr;
    width: 100%; */
    display: flex;
    flex-direction: row;
    gap: 0px;
    min-width: 0;
    width: 100%;
    margin-left: 0px;
}


.mcp_link_send_header_label{
  margin: 0 auto;
  width: 36%;
  display: inline;
  padding: 15px 0 6px;
  font-size: 14px;
  height: 50px;
  margin-left: 0;
}



.mcp_link_send_header_title{
  width: 59%;
  text-align: left;
  margin-top: 0px;
  font-size: 20px;
}

.mcp_link_send_body {
    padding: 24px 16px;
}


.mcp_link_send_prompt_text{
          font-size: 16px;
}


.mcp_link_send_prompt_send {
    min-width: 90px;
    font-size: 16px;
    min-width: 90px;
    height: 30px;
    padding: 7px 0;
    font-size: 14px;
}


.mcp_link_send_prompt_send img {
    position: absolute;
    width: 42%;
    left: 75px;
    top: 12px;
}



.mcp_link_send_prompt_send img {
    right: -14px;
    bottom: -30px;
    width: 29px;
    left: 66px;
    top: 8px;
}


.mcp_link_send_agent_label_sub{
  display: block;
  margin-top: 7px;
  font-size: 0.75em;
}



.mcp_link_send_prompt_arrow {
    left: 0;
    top: 0;
    height: 20px;
    width: 32px;
    margin-bottom: 50px;
}

.mcp_link_send_prompt_arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
    border-left: 22px solid #ffb657;
}


.mcp_link_send_agent_box{
    padding: 60px 14px 14px;
}

.mcp_link_send_agent_box::before{
    padding: 2px;

}


.mcp_link_send_agent_flow_arrow {
        transform: rotate(90deg);
        left:46%;
        margin-bottom: 20px;
        top:5px;
    }


  .mcp_link_send_agent_step {
        padding: 22px 12px 18px;
    }


  .mcp_link_send_agent_icon {
    width: 80px;
    height: 80px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

}

.mcp_link_send_agent_icon img {
    width: 60%;
}

.mcp_link_send_section_title_sub {
    font-size: 16px;
}



.section_subtitle_sub{
      font-size: 13px;
}



.mcp_link_send_section_title_subtxt {
  font-size: 18px;
  padding-left: 0;
  padding-bottom: 8px;
  line-height: 1.36;
}

.mcp_link_send_section_title_subtxt1 {
  font-size: 17px;
  padding-left: 0;
  padding-bottom: 8px;
  line-height: 1.5;
}



.feature_movie_box{
  padding: 10px !important;
}



}










.fls-flow-wrap {
  --fls-step-ref-height: 180px; /* 1번 기준으로 맞출 높이값 */
background-color: #fff;
}

.fls-flow-steps {
display: grid;
grid-template-columns: 370px 320px 320px 1fr;
gap: 0;
margin-bottom: 0;
overflow: hidden;
border-radius: 0;
}

.fls-flow-step {
position: relative;
background: #4256d6;
color: #fff;
min-height: 54px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 20px;
padding: 0 30px 0 24px;
text-align: center;
}


.fls-flow-step.flow-step1 {
  background: #7386E7;
}

.fls-flow-step.flow-step1:not(:last-child)::after {
   border-left: 28px solid #7386E7;
}

.fls-flow-step.flow-step2 {
  background: #5667E4;
}

.fls-flow-step.flow-step2:not(:last-child)::after {
      border-left: 28px solid #5667E4;
}


.fls-flow-step.flow-step3 {
  background: #4444E0;
}

.fls-flow-step.flow-step3:not(:last-child)::after {
      border-left: 28px solid #4444E0;
}

.fls-flow-step.flow-step4 {
  background: #3743B3;
}


.fls-flow-step:not(:last-child)::after {
content: "";
position: absolute;
top: 0;
right: -27.5px;
width: 0;
height: 0;
border-top: 27px solid transparent;
border-bottom: 27px solid transparent;
border-left: 28px solid #4256d6;
z-index: 3;
}

.fls-flow-step:not(:first-child)::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-top: 27px solid transparent;
border-bottom: 27px solid transparent;
border-left: 28px solid #f5f6fb;
z-index: 2;
}

.fls-flow-step span {
position: relative;
z-index: 4;
white-space: nowrap;
}



.fls-flow-content-row {
display: grid;
grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1fr;
align-items: center;
column-gap: 16px;
padding: 20px;
}

.fls-flow-card {
position: relative;
}


.fls-flow-image-slot {
background: #fff;
display: flex;
align-items: center;
justify-content: center;
overflow: visible;
}

.fls-flow-image-slot img {
display: block;
border: 1px solid #cfcfcf;
}

/* 1번: 1번만 자기 비율대로 */
.fls-flow-card-01 .fls-flow-image-slot img {
width: 100%;
height: auto;
min-width: 318px;
}

/* 2~4번: 1번 기준 높이에 맞춤 */
.fls-flow-card-02 .fls-flow-image-slot img,
.fls-flow-card-03 .fls-flow-image-slot img,
.fls-flow-card-04 .fls-flow-image-slot img {
height: var(--fls-step-ref-height);
width: auto;
max-width: 100%;
}


.fls-flow-arrow-col {
display: flex;
align-items: center;
justify-content: center;
position: relative;
}

.fls-flow-arrow-col::before {
content: "";
display: block;
width: 0;
height: 0;
border-top: 14px solid transparent;
border-bottom: 14px solid transparent;
border-left: 18px solid #e4e5e7;
}



.arrow-col-01{
left:8px;
}



@media (max-width: 900px) {
.fls-flow-steps,
.fls-flow-content-row {
grid-template-columns: 1fr 1fr;
}

.fls-flow-step {
min-height: 50px;
font-size: 14px;
}
}

@media (max-width: 640px) {
.fls-flow-steps,
.fls-flow-content-row {
grid-template-columns: 1fr;
row-gap: 0;
padding: 0;
}

.fls-flow-step:not(:last-child)::after,
.fls-flow-step:not(:first-child)::before,
.fls-flow-card-arrow {
display: none;
}




.fls-flow-image-slot {
    background: #fff;
    padding: 8px;
}


.fls-flow-card-01 .fls-flow-image-slot img {
    width: 100%;
    height: auto;
    min-width: 100%;

}



.fls-flow-wrap{
  background-color: inherit;
}

.fls-flow-step {
    font-size: 17px;
}

.fls-flow-arrow-col::before{
  transform: rotate(90deg);
  border-left: 18px solid #d6d6d6;
}

.fls-flow-arrow-col {
    left: 0;
    margin: 10px 0;
}


.fls-flow-step.flow-step2,
.fls-flow-step.flow-step3,
.fls-flow-step.flow-step4 {
    display: flex;
}


.fls-flow-step{
  min-height: 45px;
}


.fls-flow-card-02 .fls-flow-image-slot img,
.fls-flow-card-03 .fls-flow-image-slot img,
 .fls-flow-card-04 .fls-flow-image-slot img {
    height: auto;
    width: auto;
    max-width: 100%;
}

}





.feature_movie_box{
  padding: 22px;
background: #f7f8fc;
border: 2px solid #cfd1e3e3;
    box-sizing: border-box;
    border-radius: 12px;
}










/*-------------- 特徴 5 end  ↑↑  --------------  */





/*-------------- 特徴 6 start ↓↓  --------------  */

/* =========================
   Features ⑥ admin GUI only
========================= */

.admin-flow-wrap {
  background-color: #fff;
}

.admin-flow-steps {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr 1fr;
  gap: 0;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 0;
}

.admin-flow-step {
  position: relative;
  color: #fff;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 21px;
  padding: 0 30px 0 24px;
  text-align: center;
}

.admin-flow-step span {
  position: relative;
  z-index: 4;
  white-space: nowrap;
}

.admin-flow-step-01 {
  background: #7386E7;
}

.admin-flow-step-02 {
  background: #5667E4;
}

.admin-flow-step-03 {
  background: #3743B3;
}

.admin-flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  right: -27.5px;
  width: 0;
  height: 0;
  border-top: 27px solid transparent;
  border-bottom: 27px solid transparent;
  z-index: 3;
}

.admin-flow-step-01:not(:last-child)::after {
  border-left: 28px solid #7386E7;
}

.admin-flow-step-02:not(:last-child)::after {
  border-left: 28px solid #5667E4;
}

.admin-flow-step-03:not(:last-child)::after {
  border-left: 28px solid #3743B3;
}

.admin-flow-step:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 27px solid transparent;
  border-bottom: 27px solid transparent;
  border-left: 28px solid #f5f6fb;
  z-index: 2;
}

.admin-flow-content-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 20px;
}

.admin-flow-card {
  position: relative;
  min-width: 0;
}

.admin-flow-card-01 {
  flex: 1.15 1 0;
}

.admin-flow-card-02 {
  flex: 0.92 1 0;
}

.admin-flow-card-03 {
  flex: 1 1 0;
}

.admin-flow-image-slot {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.admin-flow-image-slot img {
  display: block;
  max-width: 100%;
  border: 1px solid #cfcfcf;
}

.admin-flow-card-01 .admin-flow-image-slot img {
  width: 100%;
  height: auto;
}

.admin-flow-card-02 .admin-flow-image-slot img,
.admin-flow-card-03 .admin-flow-image-slot img {
  height: 220px;
  width: auto;
  max-width: 100%;
}

.admin-flow-arrow-col {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 26px;
}

.admin-flow-arrow-col::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 18px solid #e4e5e7;
}


/* =========================
   Features ⑥ admin prompt only
========================= */
.mcp_link_send_agent_steps.type-5 {
  grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_step {
  padding: 18px 10px 14px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_text {
  font-size: 14px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon {
  width: 80px;
  height: 80px;
  margin-bottom: 12px;
  line-height: 80px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img {
  width: 50px;
  height: 80px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_flow_arrow {
  width: 20px;
  height: 14px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_flow_arrow::after {
  right: -16px;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 16px solid #b8c6ff;
}



.admin-prompt-box .mcp_link_send_prompt_text{
      min-height: 116px;
}



@media screen and (max-width: 980px) {
  .mcp_link_send_agent_steps.type-5 {
    grid-template-columns: 1fr;
  }

  .mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_flow_arrow {
  }
}

@media screen and (max-width: 480px) {
  .mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_step {
    padding: 16px 12px 12px;
  }

  .mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon {
    width: 64px;
    height: 64px;
    margin-bottom: 10px;
    line-height: 64px;
  }

  .mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img {
    width: 42px !important;
    height: 64px;
  }

  .mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_text {
    font-size: 13px;
    white-space: normal;
  }

  .admin-prompt-area {
    grid-template-columns: 1fr;
  }

  .admin-flow-content-row {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }


  .admin-flow-wrap{
    background-color: inherit;
  }

  .admin-flow-arrow-col,
  .admin-agent-flow-arrow {
        margin:10px 0;
        transform: rotate(90deg);
  }

  .admin-flow-step-01:not(:last-child)::after,
  .admin-flow-step-02:not(:last-child)::after,
  .admin-flow-step-03:not(:last-child)::after,
  .admin-flow-step:not(:first-child)::before  {
    border-left:none;
}


.admin-flow-card-02 .admin-flow-image-slot img,
.admin-flow-card-03 .admin-flow-image-slot img{
  height:auto;
}


  .admin-agent-steps {
    flex-direction: column;
    gap: 12px;
  }

  .admin-flow-step {
    font-size: 17px;
    padding: 12px 14px 12px 18px;
    min-height: 50px;
    width:100%;
    line-height: 1.3;
  }

  .admin-flow-step span,
  .admin-agent-text {
    white-space: normal;
  }

  .admin-agent-box {
    padding: 54px 14px 14px;
  }

  .admin-agent-step {
    padding: 16px 12px 12px;
  }

  .admin-agent-icon {
    width: 64px;
    height: 64px;
  }

  .admin-agent-icon img {
    max-width: 42px;
    max-height: 42px;
  }

  .admin-agent-text {
    font-size: 13px;
  }


.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_flow_arrow::after{
      right: -14px;
}


.admin-flow-image-slot{

  padding:8px;
}







  }







.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img.log_api_icon_img {
  width: 60px;
  height: 80px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img.doc_api_icon_img {
  width: 55%;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img.user_search_icon_img {
  width: 52px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img.send_email_icon_img {
  width: 48px;
}

.mcp_link_send_agent_steps.type-5 .mcp_link_send_agent_icon img.schedule_time_icon_img {
  width: 48px;
}




/*-------------- 特徴 6 end  ↑↑  --------------  */




















/*-------------- 特徴 6 start  ↓↓  --------------  */



.movieimg_area{
  width: 100%;
  margin: 0 auto;
	padding: 18px 16px;
	background: #f7f8fc;
	border: 1px solid #d5dbec;
}

.movie_video_wrap{
  position: relative;
  width: 100%;
}

.movie_video{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #fff;
}

.movie_play_btn{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 84px;
  border: 0;
  border-radius: 24px;
  background: #ff0000;
  cursor: pointer;
  z-index: 3;
  padding: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.movie_play_btn::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-35%, -50%);
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 30px solid #fff;
}

.movie_video_wrap.is-playing .movie_play_btn{
  opacity: 0;
  pointer-events: none;
}

@media screen and (max-width: 767px){
  .movie_play_btn{
    width: 88px;
    height: 62px;
    border-radius: 18px;
  }

  .movie_play_btn::before{
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 22px solid #fff;
  }
}








/*-------------- 特徴 6 end  ↑↑  --------------  */





/* ========================================
■ section　悩み end ▲
======================================== */





/* ========================================
■ section メリット start ▼
======================================== */

.section_merit{
  padding: 70px 0 70px;
  background-size: contain;
  background-color: #ffffff;
  background: url(/images/lp/hybrid/bg_pattern_6.svg) center center no-repeat;
  background-size: cover;
}


.dc_ai_view_top{
    width: 100%;
    font-size: 45px;
    color: #444;
    padding: 5px 0 30px;
    text-align: center;
    font-weight: bold;
    display: flex;
    align-items: center;
}


.dc_ai_view_top:before,
.dc_ai_view_top:after {
  content: "";
  height: 1.7px;
  flex-grow: 1;
  background-color: #d4dbff;
}

.dc_ai_view_top:before {
    margin-right: 2rem;
}

.dc_ai_view_top:after {
    margin-left: 2rem;
}


.convenience_2{
  margin-top: 80px;
  border-top: 1px dashed #c6c8e3;
}


.convenience_movie{
  margin-top: 29px;
  background: #4952b9;
}


.movie_title{
  font-size: 26px;
      text-align: center;
      font-weight: bold;
      color: #ffffff;
      line-height: 1.4;
      padding: 13px;
      background-color: #5e65b5;
}

.youtube_iframe {
    padding: 40px;
    background-color: #f7f7fb;
}


.strength_area {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0px;
}

.strength_con {
  width: 32%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-evenly;
  border-radius: 5px;
  flex-wrap: wrap;
  box-sizing: border-box;
}



.box_title{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}


.tit_line_left, .tit_line_right{
  width: 30px;
  display: flex;
  justify-content: center;
}

.tit_line_center{
width:230px;
}

 .title_before {
       height: 3px;
       background-color: #ceccdc;
       width: 40px;
       transform: rotateZ(316deg);
}

.title_after {
  height: 3px;
  background-color: #ceccdc;
  width: 34px;
  transform: rotateZ(316deg);
}



.strength_con_title {
  width: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 12px 0 12px;
  background: #4952b9;
  border-radius: 5px 5px 0 0;
}

p.sct_p {
  text-align: center;
  font-size: 22px;
  line-height: 1.3;
}

.strength_con_txt {
  padding: 11px 25px 25px;
  font-size: 17px;
  line-height: 1.4;
  height: 108px;
}

.strength_con_txt li{
  text-indent: -17px;
  padding-left: 17px;
}

.strength_con_img {
  text-align: center;
  width: 90%;
  background-color: #fbfbff;
  border: 1px solid #eaf2f7;
  padding: 0px 25px;
  box-sizing: border-box;
  display: flex;
  height: 177px;
  margin: 18px auto 0;
}




/* ========================================
■ section メリット end ▲
======================================== */









/* ========================================
■ section function start ▼
======================================== */


section.section_function {
  background: #f7f8ff;
  background: #fff;
  padding: 80px 0 75px;
  position: relative;
  background: url(/images/lp/directcloud_storagetiering/bg_pattern.svg) center center no-repeat;
  background-size: cover;

}


.function_title {
    font-size: 40px;
    line-height: 1.4;
    padding: 0 12px 14px 4px;
    color: #25292f;
    font-weight: bold;
    letter-spacing: -0.5px;
}











/* ========================================
■ section function end ▲
======================================== */












/* ========================================
■ section scene start
======================================== */


.section-scene{
  padding: 75px 0 80px;
  background: #f7f8ff;
  background:url(/images/lp/directcloud_storagetiering/bg_pattern.svg) center center no-repeat;
}

.scene_area{
margin-top:0px;
position: relative;
z-index:33;
}

h2.scene_point_title{
  padding-top: 15px;
    padding-bottom: 25px;
    margin: 0 auto;
    font-size: 57px;
    color: #000929;
    text-align: center;
    font-weight: 700;
    line-height: 1.3;
}

h2.scene_point_title1{
  padding-top: 1%;
  padding-bottom: 20px;
  margin: 0 auto;
  font-size: 62px;
  color: #2a2f42;
  text-align: center;
  font-weight: 700;
  line-height: 1.55;
}

h2.scene_point_title2{
  padding-top: 15px;
    padding-bottom: 20px;
    margin: 0 auto;
    font-size: 57px;
    color: #2a2f42;
    text-align: center;
    font-weight: 700;
    line-height: 1.3;
}

h2.scene_point_title3{
    padding-top: 0%;
  padding-bottom: 0px;
  margin: 0 auto;
  font-size: 62px;
  color: #2a2f42;
  text-align: center;
  font-weight: 700;
  line-height: 1.55;
}

.chap_subtxt{
    font-size: 22px;
    line-height: 1.5;
    font-weight: 100;
    color: rgb(87 89 98 / 82%);
    margin-bottom: 35px;
    text-align: center;
}

.chap_subtxt1 {
    font-size: 22px;
    line-height: 1.5;
    font-weight: 100;
    color: rgb(87 89 98 / 82%);
    margin-bottom: 20px;
    text-align: center;
}

.chap_subtxt_s{
    font-size: 18px;
    line-height: 1.5;
    font-weight: 100;
    color: #6b6d8c;
    margin-bottom: 7px;
    text-align: right;
    padding-right: 5px;
}

.scene_title{
  background-color: #ffffff;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
}

.scene_title h4 {
  font-size: 38px;
  color: #444;
  padding: 20px 50px 5px;
  letter-spacing: -.3px;
  margin-bottom: 0;
  font-weight: bold;
  line-height: 1.4;
}

.scene_title p {
  width: 94%;
  font-size: 20px;
  font-weight: bold;
}

.scene2,.scene3{
  margin-top:70px;
}

.esh_title {
    font-size: 24px !important;
}


.serve_text_g {
  padding: 7px 0px;
  color: #666666;
  font-size: 25px;
  display: block;
  margin-top: 17px;
  line-height: 35px;
  letter-spacing: -0.2pt;
}

.scene_content img {
  width: 170px;
}


.scene_con {
  border-radius: 15px;
  padding: 55px 45px;
  background-color: #ffffff;
  box-shadow: 0px 0px 7px #cdced9bd;
  border: 1.5px solid #e3e5ef;
}



.scene_img_area{
  background-color: #edecf9cc;
  padding: 20px 30px;
  border: 1px solid #b6bde1;
  border-radius: 8px;
  margin-top:35px;
}


.soution_small_title:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #4952b9;
  margin-left: 116rem;
  width: 10.7%;
  position: absolute;
}



.scene_merit_area{
  display: flex;
  padding: 20px 0px 5px;
  flex-direction: row;
  flex-wrap: wrap;
  width: 92%;
  border-top: 1px solid #d1dbee;
  margin: 20px auto 0;
  justify-content: space-between;
}


.scene_merit_icon{
  width: 12%;
  margin-right: 10px;
  margin-left: 7px;
}

.scene_merit_area ul{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: 22px;
  font-weight: bold;
  align-items: center;
  width: 85%;
}


.scene_merit_area ul li{
margin-right:40px;
}

.scene_merit_area ul li:nth-last-child(1){
margin-right:0;
}


/* ========================================
■ section scene end
======================================== */



.footer{
    text-align: center;
}

#page_top a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
}


A:visited {
    color: #3959ca;
    text-decoration: none;
}


#page_top {
    position: fixed;
    bottom: -72px;
    opacity: 1;
    border-radius: 50%;
    z-index: 5;
    right: 1.5%;
}




.invisible {
    display: none;
}


/* ========================================
■ section-solution
======================================== */




.section-solution .wrap{
  padding-top: 0px;
  padding-bottom: 0px;
}

.section-solution .cta-wrap{
  padding-top: 60px;
  padding-bottom: 0px;

  position: relative;
  width: 1200px;
  margin: 0 auto;
}



.solution_1 {
  /* padding: 1% 0 3.5%;
  position: relative;
  background-color: #f1f1f9; */
  background: #f7f8ff;
  background: #fff;
  padding: 75px 0 75px;
  position: relative;
  background: url(/images/lp/hybrid/bg_pattern_6.svg) center center no-repeat;
  background-size: cover;
}


.solution_2 {
    padding: 65px 0 60px;
    background: #f1f4ff;
    position: relative;
    background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}

.solution_security {
    padding: 65px 0 75px;
    background: #f1f4ff;
    position: relative;
    background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}

.solution_3 {
  background: #f7f8ff;
  background: #fff;
  padding: 65px 0px;
  position: relative;
  background: url(/images/lp/hybrid/bg_pattern_6.svg) center center no-repeat;
  background-size: cover;
}


/* .solution_1::after{
  position: absolute;
  width: 0;
  height: 0;
  content: "";
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  border-top: 80px solid #f7f7fb;
  top: 100%;
  z-index:1;
} */


/* .solution_2::after{
  position: absolute;
  width: 0;
  height: 0;
  content: "";
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  border-top:80px solid #f1f1f9;
  top: 100%;
  z-index:1;
} */


.soution_small_title{
  width: 91%;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-left: 10px;
}


.small_left{
  font-weight: 100;
  background: #4952b9;
  border: 2px solid #4952b9;
  height: 116px;
  transform: skewX( -21deg);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23%;
  padding-top: 5px;
}


.small_left p{
  transform: skewX(21deg);
  font-size: 34px;
  font-weight: bold;
  font-family: "Meiryo";
  text-align: center;
  padding-left:6px;
}

.small_right{
  background-color: #FFF;
  color: #4952b9;
  border: 2px solid #4952b9;
  width: 100%;
  box-sizing: border-box;
  height: 116px;
  transform: skewX( -21deg);
  margin-left: -1px;
  /* display: flex;
  align-items: center;
  justify-content: center; */
  padding-top: 17px;
  padding-left:20px;
}


.small_right p{
  transform: skewX(21.4deg);
  font-size: 29px;
  font-weight: bold;
  font-family: "Meiryo";
  line-height:1.45;
}




/* ========================================
■ section-value
======================================== */


.txtbox-blue {
  width: 100%;

  line-height: 15px;
  padding: 30px 0 0px 0px;
  font-weight: bold;
  margin: 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-content: center;

}



.title_text-blue {
  margin: 0;
  padding: 0;
  font-size: 34px;
  color: #444;
  font-weight: bold;
  line-height: 1.36;
  width: 100%;
  padding: 3px 5px 20px;
}



.icon_wrap {
  /* background-color: #fff;
  padding: 50px; */
  border-radius: 30px;
  margin-top: 50px;
}



.icon_reduction_li {
margin: 0;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
width: 19%;
}



.hybrid_view_txt {
      font-size: 22px;
      line-height: 1.45;
      border-top: 0;
      padding: 12px 5px 0px;
      color:#333;
}

.violet_font_num {
  color: #4952b9;
  font-size: 67px;
  letter-spacing: 0px;
  padding-left:23px;
}

.violet_font_num:before {
  content: "・";
    display: inline-block;
    position: absolute;
    top: -35px;
    font-size: 39px;
    padding-left: 0px;
}

.violet_font {
  color: #4952b9;
  font-size: 68px;
  letter-spacing: 0px;
}

.violet_font:before {
  content: "・";
    display: inline-block;
    position: absolute;
    top: -42px;
    font-size: 46px;
    padding-left: 14px;
}

.orange_font {
    color: #4952b9;
    font-size: 48px;
    letter-spacing: -9.6px;
}

.orange_font:before {
    content: "・";
    display: inline-block;
    position: absolute;
    top: -25px;
    font-size: 40px;
}

.point_pad_left {
  padding-left:10px;
}



.title_tri{
position: relative;
width: 140px;
height: 140px;
/* background-color:#4952b9; */
background-color: #5863bc;
border-radius: 50%;
margin: 0 auto;
display: flex;
flex-direction: column;
justify-content: center;
}


.title_tri p{
    margin:0;
    padding:0;
    border: 2px solid #c6c8e3;
    width: 18px;
    border-radius: 30px;
    margin: 0 auto;
}


.title_tri::after{
  position: absolute;
    width: 0;
    height: 0;
    content: "";
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    /* border-top: 18px solid #4952b9; */
    border-top: 18px solid #5863bc;
    top: 95%;
    left: 40%;
    z-index: 5;
}



.underline_y{
    background: linear-gradient(transparent 65%, #fff829e6 65%);
    padding-bottom: 0px;
    padding-left: 2px;
  }

  #bannerin_campaign   {
      display: none;
      position: fixed;
      left: 0px;
      bottom: 50px;
      z-index: 998;
      text-align: center;
      padding: 0;
  }

  #closebanner_campaign {
      width: 100%;
      position: fixed;
      left: -4px;
      bottom: 58px;
      z-index: 999;
      text-align: right;
      padding: 0;
      cursor: pointer;
  }

  #closebanner_campaign img {
    position: absolute;
    right: 23.4rem;
    width: 32px;
    height: 32px;
    bottom: 34.9rem;
    background-color: rgb(244 248 255 / 0%);
    border: 0px solid #378ee4;
    border-radius: 0px 0px 0px 12px;
    padding: 0em;
    box-shadow: 0px 0px 0px 0px rgb(193 193 193 / 0%);
    background-image: none;
  }

  .side_bn_title_wrap {
      position: relative;
      width: 16rem;
      min-width: 256px;
      height: auto;
      position: fixed;
      right: -2px;
      bottom: 10rem;
      background-color: #f4f8ff;
      border: 1px solid #210318;
      border-radius: 12px 0px 0px 12px;
      box-shadow: 0px 0px 5px 0px rgb(193 193 193 / 55%);
  }

  img.box-contents {
      border-radius: 12px 0px 0px 10px;
  }



  #banner{
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 999;
    padding: 20px 0;
    background-color: #2f2f2fd6;
  }

  .banner.hide {
    transform:translateY(-60px);
  }

  .fixed {
      position: fixed;
      top: 0; /*ページ上部の固定する位置*/
      width: 100%;
      z-index: 9999;
  }


.border_left_title{
  font-size: 38px;
  color: #444;
  margin: 0 1px 10px;
  font-weight: bold;
  position: relative;
  padding-left: 26px;
}

.border_left_title::before {
  content: "";
  width: 8px;
  height: 52px;
  display: inline-block;
  background: linear-gradient(180deg, #007AC6, #1853A4);
  position: absolute;
  border-radius: 5px;
  left: 0;
  top: 7px;
  background: #4952b9;
}


  .ai_usage_area {
    width: 100%;
    padding: 25px 32px 34px;
    background: #fff;
    border-radius:0;
    position: relative;
  }

  .ai_usage_area::after{
    position: absolute;
    top: -2px; bottom: -2px;
    left: -2px; right: -2px;
    content: '';
    z-index: -1;
    border-radius: 16px;
  }

  .ai_logo_img {
    width: 26%;
    padding-left: 0px;
    vertical-align: middle;
  }

   .ai_logo_img img {
  vertical-align: middle;
    padding-bottom: 6px;
    width: 93%;
}


.ai_logo_img1 {
    width: 26%;
    padding-left: 0px;
    vertical-align: middle;
    padding-bottom: 10px;
  }

   .ai_logo_img1 img {
  vertical-align: middle;
    padding-bottom: 6px;
    width: 93%;
}

  .ai_logo_img2 {
    width: 26%;
    padding-left: 0px;
    vertical-align: middle;
    padding-top: 4px;
  }

   .ai_logo_img2 img {
  vertical-align: middle;
    padding-bottom: 3px;
    width: 93%;
}

  .ai_usage_title {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0px 12px;
    border-radius: 16px 16px 0 0;
    border-image: linear-gradient(to right, #EAC0D9 0%, #742E86 28%, #CBE6EE 50%, #3761A5 72%, #CBE6EE 100%);
    border-image-slice: 1;
  }

  .ai_usage_title_w {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 21px 8px 25px 30px;
    border-radius: 16px 16px 0 0;
    border-image: linear-gradient(to right, #EAC0D9 0%, #742E86 28%, #CBE6EE 50%, #3761A5 72%, #CBE6EE 100%);
    border-image-slice: 1;
    justify-content: space-between;
  }

  .ai_usage_title_w1 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 21px 0px 17px;
    border-radius: 16px 16px 0 0;
    border-image: linear-gradient(to right, #EAC0D9 0%, #742E86 28%, #CBE6EE 50%, #3761A5 72%, #CBE6EE 100%);
    border-image-slice: 1;
  }

  .ai_usage_title_w2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 19px 0px 21px;
    border-radius: 16px 16px 0 0;
    border-image: linear-gradient(to right, #EAC0D9 0%, #742E86 28%, #CBE6EE 50%, #3761A5 72%, #CBE6EE 100%);
    border-image-slice: 1;
  }

  .ai_usage_line {
    border-left: 2px solid #615ea857;
    width: 2px;
    height: 62px;
    border-left: 1.5px solid #697ac3;
  }



  .mcp_tit_area {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    width: 56%;
    margin-left: 16px;
}

  .ai_usage_text {
    font-size: 24px;
    width: 55.5%;
    line-height: 1.4;
    /* color: rgb(48 52 68 / 80%); */
    color: #ffffff;
    text-align: left;
    font-weight: 100;
    font-family: "Meiryo";
  }



span.usage_text_span {
  display: block;
  font-size: 18px;
  color: #ffffffa6;

  }



  .ai_usage_text_1 {
    font-size: 26px;
    width: 69.5%;
    line-height: 1.4;
    /* color: rgb(48 52 68 / 80%); */
    color: #ffffff;
    text-align: left;
    font-weight: 100;
    font-family: "Meiryo";
  }

    .ai_usage_text_2 {
    font-size: 40px;
    width: 69.5%;
    line-height: 1.4;
    /* color: rgb(48 52 68 / 80%); */
    color: #ffffff;
    text-align: left;
    font-weight: 800;
    font-family: "Meiryo";
    padding-top: 5px;
  }

  .ai_usage_scenetext {
    font-size: 31px;
    line-height: 1.3;
    color: #ffffff;
    text-align: left;
    font-weight: 700;
  }


  .ai_usage_text1 {
    font-size: 41px;
    line-height: 24px;
    color: #ffffff;
    text-align: center;
    font-weight: 700;
    font-family: "Meiryo";
    padding-top: 10px;
  }


  span.features_usage_span {
      display: block;
      font-size: 24px;
      font-weight: 100;
      color: #bdc3fd;
      padding-top: 0px;
  }


  .ai_usage_text2 {
    font-size: 41px;
    line-height: 24px;
    /* color: rgb(48 52 68 / 80%); */
    color: #ffffff;
    text-align: center;
    font-weight: 700;
    font-family: "Meiryo";
  }

  .red_point {
      padding-left: 0px;
      line-height: 22px;
      font-size: 11px;
      color: red;
      color: red;
  }

    .red_point_faq {
      padding: 0px 7px;
      line-height: 22px;
      font-size: 11px;
      color: red;
      color: red;
  }

  .faq-text-info{
    display: block;
    padding-left: 17px;
    line-height: 2.0;
  }

  .red_point_h {
      padding-left: 0px;
      line-height: 22px;
      font-size: 11px;
      color: red;
      color: red;
  }


  .price_caution {
      padding-left: 2px;
      line-height: 22px;
      font-size: 12px;
      color: #B4C1F2;
      font-weight: 100;
      vertical-align: middle;
  }



td {
    vertical-align: middle;
    border: 1px solid #c7c8deb3;
}

.table_disc li {
  font-size: 13px;
  color: #9398a5;
  margin-top: 0px;
  margin-left: 1px;
}

.table_disc_p li {
  font-size: 13px;
  color: #9398a5;
  margin-top: 0px;
  margin-left: 1px;
}


.table_disc{
  margin-top:10px;
}

.table_disc_p{
  margin-top:10px;
}


.table_disc_notice{
  font-size: 13px;
  color: #a1a4af;
  margin-top:12px;
}

.table_disc_notice_s{
  font-size: 16px;
  color: #989ba9;
}



.func_table_l_title{
  text-align: left;
  padding-left: 20px;
  background: #dddfe8;
}

.func_cat_icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-right: 8px;
  vertical-align: -8px;
  border-radius: 8px;
  background: #fff;
  color: #4952b9;
}

.func_cat_icon svg{
  width: 16px;
  height: 16px;
}

.func_table_l_title_w{
  text-align: left;
  background: #ffffff;
  padding: 18px 30px;
  font-size: 18px;
  color: #222;
}


.func_table_s_title{
  text-align: left;
  padding-left: 20px;
  background:#eff0f7;
}

.box_play_bg{
  width: 4.7%;
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border-radius: 60px;
    padding: 13px 4px 13px 0px;
    height: auto;
}

.box_tit_v{
  width: 89%;
}

.icon-play-link {
    width: 46px;
    padding-left: 10px;
    padding-top: 2px;
    opacity: 1;
}

.icon-play-link:hover,
.icon-play-link:focus,
.icon-play-link:active{
  opacity: 1;
}

.rowspan_title{
  width: 50%;
  border: none;
  border-right: 1px solid #C7C8DE;
  background: #eff0f7;
  text-align: left;
  padding-left: 20px;
}


.rowspan_right_line{
  border: none;
  border-bottom: 1px solid #C7C8DE;
  background:#eff0f7;
  text-align: left;
  padding-left: 20px;
  height:52px;
}


.func_table_area{
  width: 100%;
  text-align: center;
  background-color: #fff;
  position:relative;
  font-size: 17px;
  border: 1.5px solid #a7a8bb;
  color: #3C3D4E;
}

.func_table_area,
.price_table{
  width: 100%;
  text-align: center;
  background-color: #fff;
  position:relative;
  font-size: 18px;
  border: 1.5px solid #a7a8bb;
  color: #3C3D4E;
}

.table_point_area{
  width: 51%;
  font-weight: bold;
  color: #fff;
  font-size:26px;
  background: linear-gradient(45deg, #0071BE 8%, #033491, #3C1E87);
  background:#576ED1;
  padding: 13px 0px 14px 0px;
}

.table_point_area_w{
  width: 50%;
  font-weight: bold;
  color: #fff;
  font-size:26px;
  background: linear-gradient(45deg, #0071BE 8%, #033491, #3C1E87);
  background:#576ED1;
  padding: 13px 0px 14px 0px;
}

/* 料金プラン サマリーカード（dc_whitedefender の price-card を参考） */
.ai_price_cards{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin: 40px 0 60px;
}

.ai_price_card{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 22px 28px;
  background: #fff;
  border: 1.5px solid #e2e4f3;
  border-radius: 16px;
  box-shadow: 0 5px 12px rgba(30,40,90,.045);
  transition: transform .2s ease, box-shadow .2s ease;
}

.ai_price_card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15,26,46,.12);
}

.ai_price_card_best{
  border: 2px solid #4952b9;
  background: #f8f9ff;
  box-shadow: 0 14px 32px rgba(73,82,185,.16);
  padding-top: 32px;
}

.ai_price_card_best:hover{
  box-shadow: 0 18px 36px rgba(73,82,185,.2);
}

.ai_price_card_blue{
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 18px;
  border-radius: 999px;
  background: #506dea;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  z-index: 2;
}

.ai_price_card_badge{
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 18px;
  border-radius: 999px;
  background: #E72046;
  background: linear-gradient(90deg, #E94F79 0%, #E72046 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  z-index: 2;
}

.ai_price_card_name{
  font-size: 30px;
  font-weight: 800;
  color: #2a2f42;
  margin-bottom: 6px;
}

.ai_price_card_target{
  font-size: 15.5px;
  font-weight: 800;
  color: #4952b9;
  margin-bottom: 6px;
}

.ai_price_card_desc{
  font-size: 13px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0 0 18px;
}

.ai_price_card_divider{
  width: 100%;
  border-top: 1px solid #e2e4f3;
  margin-bottom: 20px;
}

.ai_price_card_amt{
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  color: #4952b9;
  margin-bottom: 28px;
  line-height: 1;
  min-height: 40px;
}

.ai_price_card_amt_yen{
  font-size: 15px;
  font-weight: 700;
}

.ai_price_card_amt_num{
  font-size: 42px;
  font-weight: 900;
  letter-spacing: -.01em;
}

.ai_price_card_amt_free{
  font-size: 34px;
  font-weight: 900;
}

.ai_price_card_points{
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ai_price_card_points li{
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  color: #666;
  line-height: 1.5;
}

.ai_price_card_points li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #4952b9;
  font-weight: 800;
}

.ai_price_card_note{
  font-size: 12px;
  color: #999;
}

@media screen and (max-width: 1280px){
  .ai_price_cards{ grid-template-columns: repeat(3, 1fr); }
}

@media screen and (max-width: 768px){
  .ai_price_cards{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

@media screen and (max-width: 480px){
  .ai_price_cards{ grid-template-columns: 1fr;margin: 15px 0 25px;}
  .ai_price_card_best{ margin-top: 20px; }
  .ai_price_card {padding: 15px 20px 25px;}
  .ai_price_card_name {font-size: 32px;margin-bottom: 2px;}
  .ai_price_card_target {font-size: 16px;}
  .ai_price_card_amt_free {font-size: 32px;}
  .ai_price_card_desc {margin-bottom: 14px;}
  .ai_price_card_divider {margin-bottom: 16px;}
  .ai_price_card_amt {margin-bottom: 16px;}
  .ai_price_card_points {padding: 0;gap: 7px;}

}

.tit_function_txt{
  background: #777c94;
  font-weight: bold;
  color: #fff;
  font-size: 27px;
  border-right: 1px solid #777c94;
  padding: 14px 0px 15px 0px;
}

.br_line_top{
  border-top: 2.5px solid #4952B9;
}

.br_line_bottom{
  border-bottom: 2.5px solid #4952B9;
}

.br_line_left{
  border-left: 2.5px solid #4952B9;
}

.br_line_right{
  border-right: 2.5px solid #4952B9;
}

.tit_small_b{
  font-size: 16px;
  line-height: 1.15;
  font-weight: 100;
  color: #bfc3ef;
}

.table_point_line {
    background-color: #ffffff;
    color:#3C3D4E;
    font-weight:100;
    line-height: 1.75;
}

.table_point_line_2025 {
  background-color: #ffffff;
  color:#676975;
  font-weight:100;
}

.price_table_td{
  background-color: #ffffff;
  color: #3C3D4E;
  font-weight: 100;
  font-size: 17px;
  padding: 15px !important;
  line-height: 23px;
}

.best_txt{
  color: #222;
}

.no_line_td{
  color: #7d80b07a;
  font-size: 24px;
}

.price_table_qna_td{
  background-color: #ffffff;
  color:#000;
  font-weight:100;
  font-size:25px;
  padding: 10px 0px 16px;
}

a.price_qna_link{
  font-size: 20px;
  letter-spacing: -0.3px;
  color: #4952b9 !important;
}



.table_price_txt {
  color:#222;
  font-weight:100;
  font-size: 24px;
  /* font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "AOS Icons", "Hiragino Kaku Gothic Pro","Helvetica Neue", Helvetica, Arial, sans-serif; */
}

.table_tit_txt {
  color:#222;
  font-weight:100;
  font-size: 23px;
  /* font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "AOS Icons", "Hiragino Kaku Gothic Pro","Helvetica Neue", Helvetica, Arial, sans-serif; */
}

.table_point_border{
  border: 2px solid #4952b9;
  width: 51%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}

.table_point_border_price{
  border: 2px solid #4952b9;
  width: 69.7%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}

.pric_table_l{
  text-align: left;
    padding-left: 13px;
    background: #eff0f7;
    color: #3C3D4E;
    line-height: 1.45;
    width: 7.8%;
    letter-spacing: -0.3pt;
}

.line-height-i{
  line-height: 1.2 !important;
}

.pric_table_r{
  background:#ffffff;
  font-weight: bold;
  font-size: 22px;
}


.cost_comm {
    font-size: 15px;
    padding-left: 1px;
}

.cost_comm1 {
  font-size: 15px;
  color: #797979;
  line-height: 20px;
}

.cost_comm2{
  font-size: 16px;
  color: #797979;
  line-height: 24px;
  padding-top: 3px;
}

.plan_subname {
  font-size: 17px;
  margin: 0;
  line-height: 14px;
  color: #daddf1;
  padding: 0;
  font-weight: 100;
}

.table_c_icon{
  width: 20px;
  padding-bottom: 3px;
  opacity: 0.85;
}

.num_comparetxt{
  font-size: 20px;
}

.price_text_only{
  font-size: 18px;
}

.price_plan_sub_txt {
  font-size: 15px;
  font-weight: 400;
  color: #8b93a5;
}

.table_c_icon_price{
  width: 18px;
  padding-bottom: 2px;
  opacity:0.8;
}

.table_c_icon_price1 {
    width: 18px;
    vertical-align: baseline;
    opacity: 0.85;
    padding-top: 6px;
}


.table_t_icon{
  width: 22px;
  vertical-align: sub;
}


.table_x_icon{
  width: 17px;
  vertical-align: middle;
  padding-bottom: 0px;
}



 .features_td{
	 padding: 15px;
	 background: #eff0f7;
	 text-align: left;
    padding: 15px !important;
 }








/*         section       index_cta     start         */


.index_cta{
  background: url(/images/lp/dc_ai/cta-bg-new-ai.jpg) center / cover no-repeat;
  color: #fff;
  min-width: 1200px;
  padding: 35px 0 25px;
}

.cta_contents{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

.cta_wrap {
  position: relative;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  z-index: 100;
  padding: 0px 0px;
}

.cta_item {
  width: 31%;
  padding-top: 15px;
}

.cta_text {
  width: 68%;
  margin-top: 0.45em;
}

h4.cta_maintxt{
  font-weight: bold;
  font-size: 51px;
  text-align: center;
  color: #34353f;
  margin-top: 0px;
  line-height: 1.25;
  letter-spacing: 0px;
}

h5.cta_subtxt{
  font-size: 23px;
    text-align: center;
    line-height: 1.0;
    color: #747474;
    font-weight: 100;
    margin-bottom: 10px;
    margin-top: 6px;
}

.cta_subtxt_s{
  font-size: 19px;
    color: #7c7d8b;
}

h5.cta_subtxt:before,
h5.cta_subtxt:after
 {
   content: "";
   display: inline-block;
   position: absolute;
   width: 2.6%;
   height: 1.35px;
   background: #b0b2c5;
   top: 27px;
 }

 h5.cta_subtxt:before{
  transform: rotate(53deg);
  left: 49.6%;
}

h5.cta_subtxt:after{
  transform:rotate(-53deg);
}


.cta_btn_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top:26px;
}

.btn_trial{
  background: #FF114A;
  width: 40%;
  color: #fff !important;;
  text-align: center;
  border-radius: 68px;
  height: 65px;
  position: relative;
  font-size: 25px;
  font-weight: bold;
  margin-right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn_trial:hover,
.btn_trial:focus,
.btn_trial:active{
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25);
  cursor:pointer;transform:scale(1.04,1.04);transition:transform .2s;
}

.btn_trial a{
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #fff !important;;
  font-size: 24px;
  text-decoration: none;
  letter-spacing: -0.3pt;
}

.btn_trial a:hover,
.btn_trial a:active{
  text-decoration: none;
}


.btn_down {
    background: #fff;
    width: 40%;
    text-align: center;
    border-radius: 68px;
    height: 65px;
    position: relative;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e5e5e5;
    color: #4C4C4C !important;;
}

.btn_down:hover,
.btn_down:focus,
.btn_down:active{
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25);
  cursor:pointer;transform:scale(1.04,1.04);transition:transform .2s;
}

.btn_down a{
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #4c4c4c !important;
  font-size: 24px;
  text-decoration: none;
  letter-spacing: -0.3pt;
}

.btn_down a:hover,
.btn_down a:active{
  color: #378ee4 !important;
  text-decoration: none;
}



/************** メリット　**************/
.eng_box_line {
  text-align: center;
  margin: 0 auto;
}

.eng_title_s1 {
  font-size: 25px !important;
}

.eng_title_top1 {
  display: inline-block;
    font-size: 21px;
    font-weight: 700;
    text-align: center;
    color: #4952b9;
    padding: 0px 40px 3px 40px;
    border-radius: 40px;
    border: solid 2px rgb(73 82 185 / 80%);
    /* margin-bottom: 7px; */
    line-height: 1.6;
    background-color: rgb(255 255 255 / 80%);
}

.difference_point {
  padding: 53px 50px 22px;
  position: relative;
  margin-top: 85px;
  border-radius: 8px;
  background: #f6f7ff;
  border: 1.5px solid #a8b8e4;
}


.difference_point_box {
  width: 94%;
  display: flex;
  padding: 50px 35px 30px;
  position: relative;
  margin: 68px 0px 45px 0px;
  border-radius: 15px;
  border: 1.5px solid #b0b4db;
  background: url(/images/lp/dc_ai/ai_main_background.png) center 35% no-repeat;
  background-size: cover !important;
  background-color: #000b1f;
}

.d_point_title {
  width: 16%;
  background-color: #4952b9;
  border-radius: 10px;
  position: absolute;
  top: -40px;
  height: 7.3rem;
}

.d_point_title_box {
  width: 25%;
    background: rgb(38,39,142);
    background: linear-gradient(0deg, rgba(38,39,142,1) 1%, rgba(5,104,191,1) 50%, rgba(38,39,142,1) 100%);
    border-radius: 60px;
    border:1.5px solid rgba(5,104,191,0.5);
    position: absolute;
    top: -34px;
    height: 60px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

.d_point_title:before {
  position: absolute;
  top: 73px;
  width: 0;
  height: 0;
  content: "";
  border-left: 19px solid transparent;
  border-right: 19px solid transparent;
  border-top: 19px solid #4952b9;
  left: 42%;
}



.d_point_con{
  display:flex;
  border-radius: 8px;
  align-items: center;
}


.section_title_p {
  font-size: 26px;
  text-align: center;
  padding-bottom: 20px;
  line-height: 1.35;
  color: rgb(48 52 68 / 80%)
}

.left_img {
  width: 49%;
  padding: 9px 9px 7px 38px;
}

.right_text {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 2.0pt;
}

.center_text {
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.75;
}

.d_point_ul {
  margin-bottom: 0px;
  padding: 5px 10px 16px;
}

.d_point_ul li:nth-child(1){
    font-size: 32px;
    line-height: 1.4;
    color: rgb(48 52 68 / 80%);
}

.d_point_ul li:nth-child(2){
  font-size: 30px;
  line-height: 1.65;
  margin-top: 20px;
  color: rgb(48 52 68 / 80%);
  margin-top:25px;
}


.d_point_check {
  position: relative;
  padding-left: 37px;
  font-size: 30px;
  margin-bottom: 10px;
  color: rgb(48 52 68 / 80%);
  line-height: 38px;
}

.point_check_icon {
  position: absolute;
  top: -7px;
  left: 0px;
  width: 3.1%;
}

.blur-txt{
	filter: blur(5px);
}

.btn_link_apply_red {
  height: 45px;
  font-size: 18px;
  color: #ffffff;
  text-align: center;
  background: #FF114A;
  line-height: 45px;
  border-radius: 45px;
}


.btn_link_apply_red:hover {
  background: #E20036;
  text-decoration: none;
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25);
  cursor:pointer;transform:scale(1.04,1.04);transition:transform .2s;
}

.all_btn_size {
  width: 220px;
  margin: 0 auto;
}

a.btn_link_a2 {
    font-size: 19px;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    display: block;
}


a.btn_link_a2:hover {
  color: #ffffff;
  text-decoration: none;
}





/* ========================================
■ section  よくある質問 start　▼
======================================== */



.section-faq {
    padding: 70px 0;
    background: linear-gradient(180deg,  #e9edff 0%, #f2f4ff 90%, #fff 100%);
}


.faq_area{
    padding-top: 0px;
}



.faq-tab-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}

.faq-tab-btn {
  flex: none;
    position: relative;
    padding: 13px 45px 11px;
    background: #ffffff;
    border: 1px solid #ccd0d9;
    border-radius: 50px;
    color: #444b62;
    font-size: 22px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    line-height: 1.4;
    letter-spacing: 0px;
    box-shadow: 0 2px 4px #eef1f396;
}

.faq-tab-btn:hover {
  background: #fff;
  border-color: #4952b9;
  color: #4952b9;
}

.faq-tab-btn.is-active {
  background: #4952b9;
  color: #fff;
  border-color: #4952b9;
}

.faq-tab-panel {
  display: none;
}

.faq-tab-panel.is-active {
  display: block;
}

.section-faq .faq-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 25px;
}

.section-faq .faq-item {
  overflow: hidden;
  border: 1.2px solid #d8dfe9;
  border-radius: 16px;
  background: #fff;
  transition: .2s;
  box-shadow: 0 4px 6px rgba(15, 26, 46, .03);
}

.section-faq .faq-item.open {
  border: 1.5px solid rgba(73, 82, 185, 0.55);
}

.section-faq .faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 20px 35px;
  cursor: pointer;
  font-weight: 400;
  font-size: 22px;
  color: #1e2a3a;
  user-select: none;
  transition: background 0.15s;
  gap: 16px;
  line-height: 1.6;
}

.section-faq .faq-question:hover {
  background: #f5f6ff;
}

.section-faq .faq-item.open .faq-question {
  background: #f5f6ff;
}

.section-faq .faq-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9aa5b4;
  font-size: 38px;
  font-weight: 300;
  line-height: 1;
  transition: color 0.2s;
}

.section-faq .faq-item.open .faq-icon {
  color: #4952b9;
}

.section-faq .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.25s;
  padding: 0px 28px;
  font-size: 20px;
  color: #4a5568;
  line-height: 1.7;
}

.section-faq .faq-item.open .faq-answer {
  max-height: 3000px;
  padding: 16px 28px 28px 35px;
}

.q_greytxt{
 font-size: 20px;
 color:#666;
}

.box_plan {
  background: #f5f6fa;
  border-radius: 10px;
  margin: 10px 0;
}

.box_plan_contents {
  display: block;
  margin-bottom: 10px;
  padding: 20px 20px;
}

.box_plan_contents li {
    padding: 5px 0px 0px 10px;
    font-size: 22px;
    line-height: 2.0;
}

.q_info_greytxt{
  font-size: 16px;
  color: #666;
  line-height: 1.7;
  padding-left: 17px;
}

.faq-text-info {
  display: block;
}

@media screen and (max-width: 480px) {
  .faq-tab-nav {
    gap: 8px;
    margin-top: 18px;
  }

  .faq-tab-btn {
    flex: none;
    padding: 7px 20px;
    font-size: 16px;
    letter-spacing: -0.3px;
  }
}


.box-pre-evaluation{
  background-color: #ffffff;
  border: 1px solid #dcdce6;
  border-radius: 6px;
  padding: 6px 6px 5px;
  vertical-align: middle;
  box-shadow: 0px 1px 2px #7777773b;
  margin: 0px 5px;
  width: 4%;
}



.faq_text_link_area{
  display: flex;
  gap: 50px;
}


.faq_text_link {
  font-size: 22px;
  padding-top: 20px;
  padding-left: 18px;
  color: #8e9398;
  font-family: "Noto Sans JP", sans-serif, Meiryo;
  line-height: 1.4;
}


.faq_text_link a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    background: url(/images/type_arrow_oran1.svg) no-repeat center center;
    background-size: contain;
    vertical-align: middle;
    vertical-align: 1px;
}


.faq_span{
  font-size: 21px;
  color: #848484;
}



.faq_a_span{
  font-size: 20px;
  margin-left: -12px;
  color: #838595;
}







/* ========================================
■ section  よくある質問 end　▲
======================================== */












/***************   table border css   *****************/

.br-line-bottom{
  border: 2px solid #4952b9;
  border-bottom: 1px solid #4952b9;
}

.br-line-side{
  border: 2px solid #4952b9;
  border-bottom: 1px solid #C7C8DE;
  border-top: 0px solid #4952b9;
}

.br-line-top{
  border: 2px solid #4952b9;
  border-top: 0px solid #4952b9;
}


.plan_span_font{
    color: #8d8d8d;
    font-size: 15px;
    display: block;
    margin-left: -8px;
    line-height: 25px;
}

.plan_span_brfont {
    color: #6c6d7b;
    font-size: 15px;
    margin-left: -4px;
}


.point_box_notice{
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    padding-left: 22px;
}

.checkmark_note {
    font-size: 11px;
    color: red;
    vertical-align: bottom;
    margin-left: 4px;
}

.pc_on{
    display: block;
}

.br_pc {
    display: block;
}

.sp_on {
    display: none !important;
}

.br_sp {
    display: none;
}


.d_point_li_span{
      line-height: 1.75;
}





.merit_usage_img{
	padding: 30px 35px 25px;
}

.merit_ul{
	width:96%;
	padding:0 22px 30px;
	font-size: 23px;
	text-align: left;
}




ul.merit_ul li {
	text-indent: -23px;
	padding-left: 23px;
	line-height: 1.3;
	padding-bottom: 15px;
}




.merit_usage_img{
  background: #f6f7ff;
  border: 1.5px solid #a8b8e4;
  padding: 30px;
  border-radius: 15px;
  width:95%;
  margin:30px auto;
}


.merit_usage_img1 {
    width: 98%;
}

.img_boxtb{
  background: #f9faff;
    border: 1.5px solid #c9d5f7;
    padding: 25px 30px;
    border-radius: 15px;
}






/* ========================================
■ section お客様の声 start ▼
======================================== */

.section_customer {
  background: #f7f8ff;
  background: #fff;
  padding: 80px 0 75px;
  position: relative;
  /* background: url(/images/lp/directcloud_storagetiering/bg_pattern.svg) center center no-repeat; */
  background: linear-gradient(180deg, #e9edff 0%, #f2f4ff 90%, #fff 100%);
  background-size: cover;


}


.feedback_area {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-top:5px;
}


.feedback_item {
    width: 31.5%;
}


.feedback_img{
  position:relative;
}

.voice_tdbox{
    box-shadow: 0px 0px 8px 0px #a7afba8c;
    border-radius: 11px;
}

.feedback_img p {
  position: absolute;
  width: 66%;
  text-align: center;
  line-height: 1.4;
  font-size: 18px;
  letter-spacing: -1px;
}


.feedback_item.voice1 .feedback_img p{
  left: 34%;
  top: 29%;
}


.feedback_item.voice2 .feedback_img p{
  left: 34%;
  top: 29%;
}


.feedback_item.voice3 .feedback_img p{
  left: 35%;
  top: 29%;
}


.hukidashi_span_red{
  font-weight: 700;
  color: #E2043E;
  font-size: 18px;
}

img.voice1_img {
    width: 100%;
    padding-left: 5px;
}

img.voice2_img {
    width: 100%;
    padding-left: 5px;
}

img.voice3_img {
    width: 100%;
    padding-left: 8px;
}


.voice_title {
    text-align: center;
    background-color: #4952b9;
    color: #fff;
    font-weight: bold;
    font-size: 26px;
    padding: 12px 0px 10px;
    border-radius: 8px 8px 0 0;
}

.voice_contents_area {
    background-color: #fff;
    padding: 20px 22px 25px 25px;
    border: 2px solid #4952b9;
    border-radius: 0 0 10px 10px;
}


.voice_p {
    line-height: 1.6;
    font-size: 20px;
    height: 180px;
    color: #333333;
    letter-spacing: -0.8px;
}


.voice_profile li {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 18px;
}

.v_p_title {
    width: 37%;
    text-align: center;
    background-color: #f1f3ff;
    margin: 13px 0 5px;
    border-radius: 6px;
    padding: 6px;
}


.v_p_text {
  padding-left: 16px;
  padding-top: 8px;
}


.yell_line{
  background: linear-gradient(transparent 75%, #fcff38d6 10%);
  font-weight: 700;
}




/* ========================================
■ section  お客様の声　end　▲
======================================== */



/* ========================================
■ section img 吹き出し　start　▼
======================================== */


.balloon-set {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 10;
  justify-content: flex-end;
  padding-bottom: 10px;
}


.balloon-text {
  background-color: #ffe0e0;
  padding: 18px 20px 18px 20px;
  border-radius: 12px;
  position: relative;
  font-size: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  text-align: left;
  color: #37393e;
  line-height: 1.5;
  display: inline-block;
}


.balloon-text::after {
    content: '';
    position: absolute;
    border-width: 13px 0 13px 30px;
    border-style: solid;
    border-color: transparent transparent transparent #ffe0e0;
    right: -30px;
    top: 55px;
}


.b-text1line.balloon-text::after {
    top: 21px;
}


.b-text2line.balloon-text::after {
    top: 35px;
}


.balloon-icon img {
    width: 100%;
    min-width: 110px;
    max-width: 110px;
    margin-top: 0;
}



.balloon-set.b-set4 {
  position: absolute;
  top: 24px;
  right: 36px;
}

.balloon-set.b-set5 {
  position: absolute;
  top: 24px;
  right: 36px;
}

.balloon-set.b-set6 {
  position: absolute;
  top: 24px;
  right: 36px;
}




.b-text4::after {
    right: -25px;
    top: 36px;
}


.b-text5::after {
    right: -25px;
    top: 35px;
}


.b-text6::after {
    right: -25px;
    top: 35px;
}




.balloon-left-arrow{
  justify-content: flex-start;
  top: 25px;
  left: 54px;
  position: absolute;
}



.balloon-left-arrow .balloon-text::after {
    left: -30px;
    right: auto;
    border-width: 13px 30px 13px 0;
    border-color: transparent #ffe0e0 transparent transparent;
}


.balloon-left-arrow .b-text2line.balloon-text::after {
    top: 35px;
}



/* ========================================
■ section  お客様の声　end　▲
======================================== */










/* ========================================
           tab design ↓↓
======================================== */

    .tab-btn {
      padding: 2px 0 18px 0px;
      display: flex;
      flex-direction: column;
      gap: 25px;
      width: 100%;
      min-width: 100%;
      height: 100%;
  }

  .margin-r-fix{
    margin-right: 50px !important;
  }

  .box_tab_contents{
    max-width: 1500px;
    width: 100%;
    margin: 0 auto;
  }

    .enter_tab {
        flex-basis: 13.9%;
        text-align: center;
        position: relative;
    }




    .enter_tab a {
      display: block;
      position: relative;
      font-size: 22px;
      padding: 13px 8px 12px 15px;
      text-decoration: none;
      line-height: 1.45;
      color: #f1f5ff;
      cursor: pointer;
      font-weight: 100;
      text-align: left;
      letter-spacing: 0px;
      border: 2px solid transparent;
      letter-spacing: -.8px;
  }

    .enter_tab a.is-active {
      background-color: #ffffff;
      color: #003164;
      font-weight: 700;
      border-radius: 10px;
      font-size: 22px;
    }



    .enter_tab a.is-active:hover {
      color: #003164;
    }


    .enter_tab a:hover {
      border-radius: 10px;
      border: 2px solid #ffffffc4;
      font-weight: 700;
      text-decoration: none !important;
      opacity: 1.0 !important;
      color:#ffffff;
  }


  .enter_tab_sec a:hover {
    border-radius: 10px;
    border: 2px solid #ffffffc4;
    font-weight: 700;
    text-decoration: none !important;
    opacity: 1.0 !important;
    color:#ffffff;
}


    .enter_tab_thi a:hover {
      border-radius: 8px;
      border: 2px solid #ffffffc4;
      font-weight: 100;
      text-decoration: none !important;
      opacity: 1.0 !important;
  }


    .enter_tab_fourth a:hover {
      border-radius: 8px;
      border: 2px solid #ffffffc4;
      font-weight: 100;
      text-decoration: none !important;
      opacity: 1.0 !important;
    }



    .tab-cont-box{
      width: 83%;
      border-radius: 12px;
      background-color: #fff;
    }



    .enter_tab_sec,
    .enter_tab_thi,
    .enter_tab_fourth{
      flex-basis:19.7%;
    }


      .enter_tab_sec a,
      .enter_tab_thi a,
      .enter_tab_fourth a {
        display: block;
        position: relative;
        font-size: 23px;
        padding: 13px 5px 15px 12px !important;
        line-height: 24px;
        text-decoration: none;
        color: #f1f5ff;
        cursor: pointer;
        font-weight: 100;
        text-align: left;
        letter-spacing: 0pt;
        border: 2px solid transparent;

    }



    .sec_hspace{
      padding: 12px 0px 13px 19px;
    }

    .enter_usage_subtxt{
      font-weight: 700;
      font-size: 16px;
      line-height: 1.5;
      color: #378ee4;
      width: 63%;
      text-align: center;
      border-radius: 20px;
      margin-bottom: 10px;
      background-color: #e8f4ff;
      padding: 2px 13px 3px;
  }

  .enter_usage_subtxt-active {
      font-weight: 700;
      font-size: 16px;
      line-height: 1.5;
      color: #378ee4;
      width: 63%;
      text-align: center;
      border-radius: 20px;
      margin-bottom: 10px;
      background-color: #e8f4ff;
      padding: 2px 13px 3px;
  }

  .eng_txt_tit{
    margin-top: 10px;
    font-size: 27px;
    padding-left: 3px;
    letter-spacing: 0pt;
  }

      .enter_tab_sec a.is-active {
        background-color: #FFFFFF;
        color: #003164;
        font-weight: 700;
        border-radius: 8px;
        font-size: 23px;
        border: 2px solid transparent;
        letter-spacing: 0pt;
        padding: 13px 10px 15px 18px;
        line-height: 24px;
        min-width: 100%;
        width: 100%;
      }


      .enter_tab_thi a.is-active {
        background-color: #ffffff;
        color: #003164;
        font-weight: 700;
        border-radius: 8px;
        font-size: 23px;
        border: 2px solid transparent;
        letter-spacing:0pt;
        line-height: 24px;
      }


        .enter_tab_thi a {
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
      }




      .enter_tab_fourth a.is-active {
        background-color: #ffffff;
        color: #003164;
        font-weight: 700;
        border-radius: 8px;
        font-size: 23px;
        border: 2px solid transparent;
        letter-spacing: 0pt;
        line-height: 24px;
      }


        .enter_tab_fourth a {
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
      }


      .enter_tab_fourth a.is-active {
          height: 73px;
          width: 100%;
          min-width: 270px;
      }


    .tab_menu {
      display: flex;
      align-items: center;
      gap: 6px 40px;
      border-radius: 20px;
      /* padding: 16px; */
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 100%;
      margin: 0 auto;
      /* background: linear-gradient(90deg, #4fa4fc 0%, #2d89ef 25%, #1475d6 97%); */
      background: linear-gradient(180deg, #4952b9 15%, #424aa7 45%, #3b4295 100%);
      box-shadow: 0 3px 6px rgba(0, 0, 0, .15);
    }

    /* .tab_menu:after {
      background: url(/images/lp/lp_enterprise/entreprise_bg.png) center 75%;
      background-size: 100% !important;
    } */

    .tab_menu_bg{
      background-position: bottom 0% center;
      background-size: 100% auto;
      background-repeat: repeat-x;
      border-radius: 20px;
      padding: 22px;
    }



    .tab_menu_box {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      width: 100%;
      margin: 0 auto;
      height: 100%;
    }


.tab_menu_left{
    width: 15.5%;
}



p.tab_item_title {
    font-size: 38px;
    line-height: 1.4;
    padding: 16px 12px 14px;
    color: #ffffff;
    font-weight: bold;
    letter-spacing: -0.5px;
    text-align: center;
    background-color: #4952b9;
    border-radius: 8px 8px 0px 0px;
}


.tab_item_titspan{
  font-size: 26px;
  font-weight: 100;
  color: #dfebff;
  letter-spacing: -2px;
}



    p.tab_item_p {
        margin-bottom: 15px;
        font-size: 20px;
        line-height: 1.7;
        color: #606060;
        padding: 0px 0px 0px 2px;
        letter-spacing: -0.5px;
        margin-top: 0px;
    }

    p.tab_item_p1 {
      margin-bottom: 13px;
      font-size: 21px;
      line-height: 1.5;
      color: #575757;
      padding-left: 6px;
  }

    .tab_item_subtxt {
      font-size: 18px;
      color: #707070;
  }


  .tab_item_table {
    border: 1.5px solid #d5dee8;
    background-color: #f7fbff;
    padding: 35px 25px;
    border-radius: 6px;
  }


    .tab_item_img {
      border: 1.5px solid #d5dee8;
      background-color: #f7f9fd;
      padding: 35px 25px;
      border-radius: 0;
      margin-bottom:0px;
      border-top:0px;
      text-align: center;
      position: relative;
    }


    .tab_item_func1{
      /* padding-top: 15%; */
    }


    .tab_item_img img{
      width:100%;
      margin: 0 auto;
    }

    .tab_item_img_storage {
      padding: 30px 25px;
      background: linear-gradient(116deg, #fef1f1 0%, #fff9ef 36%, #e8fcff 68%, #e6f4ff 80%, #e4f3ff 100%);
      border-radius: 10px;
      border: 1.5px solid #d0d6dc;
    }

    .tab_item_img_storage img{
      width:100%;
    }

    .tab_item_img1 {
        border: 1.5px solid #d5dee8;
        background-color: #f7f9fd;
        padding: 40px 55px;
        border-radius: 0px;
        margin: 0 auto;
    }

    .tab_item_img1 img{
      width:90%;
    }

    .tab_item_img2 {
      border: 1.5px solid #d9e3ee;
      background-color: #f7f9fd;
      padding: 35px 25px;
      border-radius: 6px;
      margin-bottom:30px;
    }

    .tab_item_img2 img{
      width:100%;
    }

    .tab_item_movie {
      border: 1.5px solid #d5dee8;
      background-color: #f7f9fd;
      padding: 30px 25px 28px;
      border-radius: 0px;
  }

    .tab_item_bg {
      width: 100%;
      padding: 15px !important;
      background-color: #fff !important;
      margin: 0 auto;
  }

  .shield_scene_box{
    width: 100%;
    background-color: #eff5ff;
    border: 1.5px solid #ced6e3;
    border-radius: 10px;
    padding: 30px 25px;
  }



  .tab-contents-item,
  .tab-contents-item-sec,
  .tab-contents-item-thi,
  .tab-contents-item-fourth {
    display: none;
    width: 100%;
    height: auto;
    justify-content: center;
    border-radius: 12px;
    padding: 32px 30px 35px;
}


.tab-contents-item.is-active,
.tab-contents-item-sec.is-active,
.tab-contents-item-thi.is-active,
.tab-contents-item-fourth.is-active
 {
    display: flex;
    /* background-color: #ffffff; */
}


.tab-contents-item>p,
.tab-contents-item-sec>p,
.tab-contents-item-thi>p,
.tab-contents-item-fourth>p {
    margin: auto;
    height: auto;
    opacity: 0;
}




.tab-contents-item.is-active>div,
.tab-contents-item-sec.is-active>div,
.tab-contents-item-thi.is-active>div,
.tab-contents-item-fourth.is-active>div {
  animation:  fadeinAnime 1s forwards;
  width:100%;
}


  @keyframes fadeinAnime{
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
  }

/*************** tab design end  ***************/




/************** youtube movie css add ***********/
#player-container {
  position: relative;
  width: 100%;
  /* height: 0; */
  padding-top: 0%;
  background-color: #000;
}

iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: none;
}

iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

.thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 1px solid #e2e8ee;
}

.custom-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 15px 30px;
  background-color: rgba(255, 0, 0, 0.8);
  color: white;
  font-size: 18px;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  z-index: 10;
}

/************ button ************/
.ytp-button {
  border: none;
  background-color: transparent;
  padding: 0;
  color: inherit;
  text-align: inherit;
  font-size: 100%;
  font-family: inherit;
  cursor: pointer;
  line-height: inherit;
}

.ytp-large-play-button {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 108px;
  height: 108px;
  margin-left: -54px;
  margin-top: -54px;
  transition: opacity .25s cubic-bezier(0.0, 0.0, 0.2, 1);
  z-index: 63;
  border: none;
}

.ytp-large-play-button:focus,
.ytp-large-play-button {
  outline: 0;
}

.ytp-large-play-button svg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  pointer-events: none;
}

.ytp-large-play-button-bg {
  transition: fill .1s cubic-bezier(0.4, 0.0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0.0, 1, 1);
  fill: #ff0000;
  fill-opacity: 1;
}

.ytp-large-play-button:hover .ytp-large-play-button-bg {
  transition: fill .1s cubic-bezier(0.0, 0.0, 0.2, 1), fill-opacity .1s cubic-bezier(0.0, 0.0, 0.2, 1);
  fill: #f00;
  fill-opacity: 1;
}



div.play-button {
  transition: fill .1s cubic-bezier(0.4, 0.0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0.0, 1, 1);
  fill: #ff0000;
  fill-opacity: 1;
}

.icon-play-link {
  width: 46px;
  padding-left: 10px;
  padding-top: 2px;
  opacity: 0.8;
}

.icon-play-link:hover,
.icon-play-link:focus,
.icon-play-link:active{
  opacity: 1;
}


@media screen and (max-width: 480px) {
  .movie-wrap iframe {
    border-radius: 0px;
  }

  .ytp-large-play-button {
      width: 60px !important;
      height: 60px !important;
      margin-left: -29px;
      margin-top: -29px;
  }

  a.video span {
    background-size: 400%;
  }

  .icon-play-link {
      width: 38px;
      padding-left: 8px;
  }

}

/* ↑↑ youtube movie css (pc/sp) end　↑↑ */







/* ========================================
■ section new 悩み start ▼
======================================== */
.section_distress_ai {
    font-size: 17px;
    background: #f7f8ff;
    background: #fff;
    padding: 65px 0;
    position: relative;
    background: url(/images/lp/directcloud_storagetiering/bg_pattern.svg) center center no-repeat;
    background-size: cover;
}

h2.strength_title_ai {
  color: #262b34;
  text-align: center;
  font-size: clamp(3.6em, 5vw, 68px);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 21px;
  padding-bottom: 15px;
  letter-spacing: 0px;
  padding-top: 2px;
}

.section_title_p_ai{
  font-size: 25px;
  text-align: center;
  padding-bottom: 20px;
  line-height: 1.35;
  color: rgb(58 71 82 / 70%);
}


.blue_font_ai {
  color: #4952b9;
  font-size: 77px;
  letter-spacing: 5.5px;
  position: relative;
}

.blue_font_ai:before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: -27px;
  font-size: 40px;
  padding-left: 4px;
}



font.blue_font_ai.second:before {
  left:-12px;
}


font.blue_font_ai.thi:before {
  left:13px;
}

.distress_img_box_ai {
  width: 100%;
  height: 350px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  /* background-color: #fff;
  border-radius: 0 0 15px 15px; */
}


img.distress_img_ai {
      height: 100%;
}

.distress_area_ai {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 30px 0 15px;
border-radius: 15px;
}

.area_hidden {
clear: both;
overflow: hidden;
}



.distress_con_ai {
width: 32.3%;
display: flex;
flex-direction: column;
align-items: center;
align-content: space-between;
}

.distress_con_ai_cen {
  width: 29%;
}

.distress_con_ai_title {
font-size: 24px;
color: #fff;
text-align: center;
padding: 6px 0 5px;
background-color: #0078c9;
border-radius: 8px 8px 0 0;
}

.distress_con_ai_txt {
padding:17px 15px;
height: 160px;
background-color: #ffffff;
border-radius: 11px;
}

.distress_con_ai_txt ul li {
padding-left: 12px;
margin-bottom: 10px;
letter-spacing: -0.5px;
line-height: 23px;
position: relative;
}


.distress_con_ai_txt ul li::before {
position: absolute;
    color: #4472C4;
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 87px;
    top: 12px;
    left: 3px;
    background-color: #4472C4;
}

.distress_img_box_ai {
width: 100%;
text-align: center;
position: relative;
}



.dist_hukidashi{
  font-size: 26px;
  position: absolute;
  font-weight: bold;
  line-height: 1.4;
  color: #535DC1;
  text-align: center;
}

.hukidashi_a{
  top: 16px;
  letter-spacing: -1px;
}

.hukidashi_b{
  top: 17px;
  letter-spacing: -1px;
}

.hukidashi_c {
  top: 17px;
  letter-spacing: -1px;
}

.distress_con_title {
  font-size: 33px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 90px;
}

.distree_m_box{
  border: 2px solid #d91442;
  border-radius: 11px;
  margin-top: 15px;
  background-color: #fff;
  width: 94%;
}

.distress_m_title {
  font-size: 23px;
  color: #fff;
  text-align: center;
  padding: 7px 0 8px;
  background-color: #d91442;
  border-radius: 8px 8px 0 0;
  font-weight: 700;
  letter-spacing: -1.5px;
}

.circle_m_txt{
  border-radius: 5px;
  padding: 3px 10px 4px;
  font-size: 20px;
  margin-right: 12px;
  line-height: 18px;
  background-color: #fff;
  color: #d5213f;
  letter-spacing: 0px;
}

.distress_m_txt {
    padding: 18px 10px 0px 16px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: left;
    border-radius: 0 0 12px 12px;
    height: 230px;
}

.distress_m_txt ul li {
  padding-left: 13px;
  margin-bottom: 11px;
  letter-spacing: -0.55px;
  line-height: 1.5;
  position: relative;
  font-size: 19px;
  color: #444;
}



.distress_m_txt ul li:nth-last-child(1) {
  margin-bottom: 0;
}




.distress_m_txt ul li::before {
  position: absolute;
  color: #b6b5c0;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 100px;
  top: 11px;
  left: 0px;
  background-color: #b6b5c0;
}


img.distress_img_ai {
  width: 100%;
  max-width: 100%;
}

ul.distress_con_txt_ul {
  font-size: 23px;
  color: #000;
  /* font-weight: bold; */
}


.distress_con_txt_ul li{
position: relative;
    padding-left: 20px;
}


.distress_con_txt_ul li::before{
position: absolute;
color: #4472C4;
content: "";
width: 4px;
height: 4px;
border-radius: 87px;
top: 19px;
left: 3px;
background-color: #4472C4;
}





@media screen and (max-width: 480px) {
  .keyv .mv .logo {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 0px;
  }


.g-wrapper {
    min-width: 100%;
}


.offerstart_day{
  padding: 0px 0 30px;
}

.dc_ai_date{
  width: 93%;
  margin: 0 auto;
}


.dc_ai_logo{
  width: 38%;
  margin-right: 0%;
  margin-top: 0px;
}


.dc_ai_wrap {
    padding: 35px 0;
}

h1.catch img{
  width: 95%;
  margin:0 auto;
}


.main_b_txt p{
  font-size: 10px;
  padding: 0px 25px 0px 22px;
  text-align: left;
  margin-top: 6px;
  line-height: 1.25;
}


  .ai_usage_area {
      width: 100%;
      padding: 14px 14px 14px;
  }


  .ai_logo_img {
      width: 100%;
      padding-left: 0;
      text-align: left;
      padding:0 4px;
  }

  .ai_logo_img img {
      padding-bottom: 0 !important;
      width:65%;
  }

  .ai_logo_img1 img {
      padding-bottom: 0 !important;
      width:65%;
  }



.feature_score_area{
      padding: 0px !important;
}

.feature_score_column_left{
    padding: 16px;
    border-radius: 12px;
    border-bottom: 1.5px solid #DBDCE5;
}




  .distress_con_title_w.ai_usage_title_w {
    padding: 0 16px 0;
    height: auto;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .distress_con_title_w1.ai_usage_title_w1 {
    padding: 10px 16px;
    height: auto;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .distress_con_title_w1.ai_usage_title_w2 {
    padding: 10px 16px;
    height: auto;
    flex-direction: column;
    flex-wrap: nowrap;
  }


  .ai_usage_text {
      font-size: 1.8rem;
      width: 100%;
      padding: 12px 4px 14px;
      font-family: 'Noto Sans JP', sans-serif;
  }


  span.usage_text_span {
      display: block;
      font-size: 15px;
      color: #ffffffa6;
  }


  .ai_usage_scenetext{
      font-size: 1.8rem;
  }

  .ai_usage_text1 {
    font-size: 23px;
    width: 100%;
    /* padding: 10px 15px 15px; */
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 28px;
}

.ai_usage_text2 {
  font-size: 30px;
  width: 100%;
  padding: 10px 5px 15px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 33px;
}

  .ai_usage_line {
      width: 100%;
      border-bottom: 1.5px solid #697ac3;
      height: auto;
  }


  .section-solution .cta-wrap{
    padding: 20px 20px 0px 20px;
    width:100%;
  }


.wrap {
    width: 100%;
    padding: 0 20px;
  }

/**** 悩み　********/
section.section_distress {
  padding: 30px 0;
}


.AI_merit_view_top:after,
.AI_merit_view_top:before{
display: none;
}


.distress_area {
padding: 20px;
}

.distress_con {
width: 100%;
margin: 0 auto;
}

.distress_con:nth-child(2) {
margin: 25px 0;
}


.distress_img_box{
height: 230px;
}

img.distress_img {
height: 87.5%;
}


.distress_con_title{
font-size:27px;
height:74px;
}

.merit_subtxt{
font-size: 16px;
}

.merit_subtxt1{
font-size: 19px;
line-height: 25px;
margin-bottom: 3px;
}

.merit_subtxt2{
font-size: 19px;
line-height: 25px;
padding-bottom: 9px;
}


.scene_con{
padding: 25px;
}

h2.scene_point_title {
padding-top: 1px !important;
padding-bottom: 11px !important;
font-size:2.8rem !important;
line-height: 1.3;
}



h2.scene_point_title2{
padding-top: 1px !important;
padding-bottom: 11px !important;
font-size: 3.0rem !important;
line-height: 1.3;
}

h2.scene_point_title3{
padding-top: 1px !important;
padding-bottom: 5px !important;
font-size: 3.4rem !important;
line-height: 1.3;
}

.distress_con_wide {
border-radius: 8px;
}

.distress_con_movie {
border-radius: 8px 8px 0px 0px;
}

.ai_usage_title_w1 {
border-radius: 6px 6px 0 0;
}

.ai_usage_title_w2 {
border-radius: 6px 6px 0 0;
}

.distree_box_w {
border-radius: 6px 6px 0 0;
}

.distree_box_movie {
border-radius: 6px 6px 0 0;
padding: 4px 10px;
}

.scene_area {
padding: 0;
}


.serve_text_g {
  font-size: 1.1em;
  line-height: 1.4;
  margin-top: 5px;
}

.scene_img_area{
  padding: 18px;
  margin-top: 14px;
}


.scene_img_area img {
  padding: 0;
}


.soution_small_title {
width: 100%;
margin: 0 auto;
display: flex;
flex-direction: row;
flex-wrap: wrap;
position: relative;
}

.soution_small_title:after {
margin-left: 14.5rem;
top: 13%;
width: 36%;
display: none;
}

.small_left {
height: 38px;
width: 83%;
margin-left: 20px;
padding-top: 0px;
display: flex;
justify-content: center;
/* transform: none; */
position: absolute;
top: 0px;
left: 3%;
}

.small_left p {
font-size: 19px;
line-height: 1.2;
padding-left: 0px;
font-family: 'Noto Sans JP', sans-serif;
/* transform: none; */
}

.small_right {
width: 100%;
height: auto;
transform: none;
padding: 34px 18px 18px;
margin-left: 0;
margin-top: 19px;
margin-bottom: 7px;
}

.small_right p {
font-size: 18px;
width: 100%;
line-height: 1.35;
padding-left: 0;
box-sizing: border-box;
font-family: 'Noto Sans JP', sans-serif;
transform: none;
text-indent: -22px;
padding-left: 18px;
margin-bottom: 8px;

&:nth-last-child(1){
margin-bottom:0;
}
}


.left_img {
  width: 100%;
  padding: 6px 9px;
  min-width: 50px;
  max-width: 50px;
}

.right_text {
    font-size: 19px;
}

.d_point_title {
  left: 5%;
  width: 35%;
  margin: 0 auto;
  top: -21px;
  height: 4.3rem;
  display: inline-block;
}


.difference_point {
    margin-top: 35px;
    padding: 35px 10px 20px;
}


.d_point_title:before {
    top: 35px;
    left: 41%;
    transform: translateX(-50%);
    left: 50%;

}

.d_point_check {
    font-size: 1.8rem;
    padding-left: 25px;
    line-height: 1.2;
    margin-bottom: 12px;
    padding-left: 27px;
}

.point_check_icon {
  width: 9%;
  top: -4px;
}

.d_point_ul {
    padding: 5px 10px 0;
}

.d_point_ul li:nth-child(1) {
    font-size: 18px;
    line-height: 1.3;
}

.d_point_ul li:nth-child(2) {
    font-size: 1.8rem;
    margin-top:13px;
    padding-left: 27px;
    line-height: 1.4;
}

.table_disc_notice_s {
  font-size: 14px;
  padding-top: 7px;
}


.violet_font{
  font-size:4.5rem;
}

h3.AI_merit_view_top {
  font-size: 4.5rem;
  display: flex;
  flex-direction: column;
  line-height: 1.45;
  padding: 0;
}

font.violet_font_num{
  font-size: 5.5rem;
padding-left: 4px;
}

.violet_font_num:before {
  top: 55px;
  font-size: 30px;
}

.violet_font:before{
  font-size: 30px;
  padding-left: 8px;
  top: 55px;
}

.violet_font_area{
  letter-spacing: -9.1px;
}


.eng_title_s1 {
  font-size: 18px !important;
  margin-bottom: 10px;
  padding: 7px 20px 7px;
  line-height: 1.2;
}



.solution_1,
.solution_2,
.solution_3{
  padding: 40px 0px;
}



/* cta start */

  .index_cta {
      min-width: 100%;
      padding: 20px 0 30px;
  }

  .cta_wrap {
    width: 90%;
    margin: 0 auto;
}

.cta_contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
}

.cta_item {
    width: 71%;
    padding-top: 0px;
}

.cta_text {
    width: 100%;
    margin-top: 2px;
}

h5.cta_subtxt {
  text-align: center;
  font-size: 19px;
  line-height: 1.2;
  margin-bottom: 8px;
}

h5.cta_subtxt:before, h5.cta_subtxt:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 25px;
  height: 1px;
  background: #a3a3a3;
  top: 40.5%;
}

h5.cta_subtxt:before {
    transform: rotate(53deg);
    left: 0;
}

.cta_subtxt_s {
    font-size: 16px;
}

h4.cta_maintxt {
    font-size:28px;
    line-height: 1.3;
    margin-bottom: 3px;
}

.cta_btn_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top:15px;
}

.btn_trial {
    width: 98%;
    height: 50px;
    margin-right: 0;
    margin-bottom: 10px;
}

.btn_trial a, .btn_down a {
    font-size: 19px;
}

.btn_down {
    width: 98%;
    height: 50px;
}

.btn_trial a, .btn_down a {
    font-size: 19px;
}

/* cta end */

.dc_ai_wrap img{
  width:96%;
}


.pc_on {
  display: none !important;
}


.br_pc
 {
    display: none;
}


.sp_on{
      display: block !important;
}


.br_sp {
    display: block;
}


.tit_function_txt {
  width: 18%;
  font-size: 18px;
  padding: 10px 0px 9px 0px;
}

.pric_table_l {
    font-size: 17px;
    padding-left: 12px !important;
    line-height: 1.45;
}

.table_point_area{
  width: 15%;
  font-size: 18px;
  padding: 10px 0px 14px;
  line-height: 1.2;
}

.table_point_area_w{
  font-size: 18px;
  padding: 10px 0px 14px;
  line-height: 1.2;
}

.tit_small_b{
  font-size:14px;
}

.all_btn_size {
    width: 98%;
    margin: 0 auto;
}


.plan_span_font{
  color: #888;
  font-size: 13px;
  display: block;
  margin-left:-6px;
}


.plan_span_brfont{
  color: #888;
  font-size: 13px;
  display: block;
  margin-left:-6px;
}

.plan_span_font1{
  color: #888;
  font-size: 13px;
  margin-left:-6px;
}

.btn_link_apply_red{
  height: 35px;
  line-height: 35px;
}

a.btn_link_a2 {
    font-size: 14px;
}

.table_price_txt{
  font-size: 18px !important;
}

.table_disc li {
  text-indent: -23px;
  padding-left: 25px;
  font-size: 12px;
  margin-bottom: 5px;
  letter-spacing: -0.75px;
  line-height: 18px;
}


.table_disc li:nth-last-child(1) {
  text-indent: -14px;
  padding-left: 16px;
}



.table_disc_p li {
  text-indent: -11px;
  padding-left: 10px;
  font-size: 12px;
  margin-bottom: 5px;
  letter-spacing: -0.75px;
  line-height: 18px;
}




.func_table_area, .price_table{
  font-size:15px;
}


.func_table_l_title {
  padding: 9px 2px;
  width: 2%;
  text-align: center;
  font-size: 14px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 3pt;
}

.func_cat_icon {
  display: none;
}

.func_table_l_title_w{
  padding: 8px 10px;
  font-size: 14px;
  line-height: 1.3;
}

.icon-play-link {
      width: 38px;
      padding-left: 8px;
  }

.func_table_s_title{
  padding-left: 13px;
      line-height: 1.3;
      font-size: 14px;
}

.rowspan_title{
  width: 55% !important;
  padding: 10px;
  font-size: 14px;
  text-align: left;
}

.rowspan_right_line{
  width: 43%;
  text-align: center;
  font-size: 14px;
  padding: 11px;
}


.table_c_icon{
  width: 15px;
  vertical-align: sub;
  padding-bottom: 0px;
}

.table_c_icon_price{
  width: 15px;
  vertical-align: middle;
  padding-bottom: 0;
}

.table_c_icon_price1{
  width: 15px;
  vertical-align: middle;
  padding-bottom: 0;
}

.table_t_icon{
  width: 17px;
  vertical-align: sub;
}

.table_x_icon{
  width: 14px;
  vertical-align: middle;
  padding-bottom: 0;
}

.red_point{
  padding-left: 4px;
  font-size:11px;
  letter-spacing: 1px;
}

.red_point_h{
  padding-left: 4px;
  font-size:11px;
  letter-spacing: 1px;
  writing-mode: horizontal-tb;
  white-space: nowrap;
  flex-shrink: 0;
}


.table_point_line{
  font-size:14px;
  line-height: 18px;
}

.table_point_line_2025{
  font-size:14px;
  line-height: 18px;
}

.table_point_border{
      width: 41%;
}

.price_table_td{
  font-size:20px;
}


.section-scene {
    padding: 50px 20px;
}


.scene2, .scene3 {
    margin-top: 25px;
}

#banner_campaign{
  display: none !important;
}

footer.footer p {
    padding: 0 20px;
}


.d_point_li_span{
  line-height: 1.3;
  padding-top: 9px;
  display: block;
}

a.price_qna_link {
    font-size: 18px;
}

.cost_comm {
    font-size: 15px;
}

.cost_comm1 {
  font-size: 13px;
}

.cost_comm2 {
  font-size: 13px;
}



.merit_usage_img,.merit_usage_img1 {
  padding: 14px;
  width: 100%;
}


.usage_merit_img {
    background: #f6f7ff;
    border: 1.5px solid #a8b8e4;
    padding: 12px;
    border-radius: 8px;
}


.merit_ul {
    width: 100%;
    padding: 0 15px 15px;
    font-size: 17px;
    text-align: left;
}


 .sp_span_block{
   display:block;
 }



/* new 料金　start */

.scroll-hint.is-left-scrollable {
    background: linear-gradient(180deg, rgb(193 193 193 / 15%) 0, rgb(255 0 0 / 0%) 16px, rgb(81 37 37 / 0%)) !important;
}




dt.tit_service_txt_sp.border-right-none.func_tit_font {
    text-align: center;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height:73px;
    background: #777c94;
    color: #fff;
    width: 100%;
}

.price_sub_txt {
    font-size: 12px;
    font-weight: 400;
    color: #6e7482;
}

dt.rowspan_title2 {
    width: 100%;
    padding: 14px 8px 14px 14px;
    font-size: 14px;
    height: 52px;
    line-height: 1.4;
    vertical-align: initial;
    align-items: flex-start;
    justify-content: center;
      border-left: 1px solid #d8dee3;
}

dt.rowspan_title2 span.txt-compare {
    line-height: 1.25;
    text-indent: 0;
    font-size: 13px;
    color: #888;
}

.txt-compare_h {
    line-height: 1.25;
    text-indent: 0;
    font-size: 13px;
    color: #888;
}



dd.tit_service_txt_sp{
  font-size: 18px !important;
  height: 73px;
  text-align: center;
  line-height: 1.22;
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
}




dd.point_txt_tit {
  width: 100%;
  padding: 14px 4px;
  font-size: 16px;
  height: 52px;
  line-height: 1.4;
  vertical-align: initial;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid #d8dee3;
}




.dl_right_dd,.dl_right_dd2{
  width: 100%;
  padding: 14px 4px;
  font-size: 16px;
  height: 52px;
  line-height: 1.4;
  vertical-align: initial;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8dee3;
  border-left:none;
  border-top:0;
  text-align: center;
  background-color: #fff;
  width: 100%;
}

.dl_right_dd .no_line_td,.dl_right_dd2 .no_line_td{
  font-size: 16px;
}

.price_plan_sub_txt {
  flex-basis: 100%;
  font-size: 13px;
  font-weight: 400;
  color: #868a94;
}

dt.rowspan_title3 {
    width: 100%;
    padding: 14px 8px 14px 14px;
    font-size: 18px;
    height: 52px;
    line-height: 1.4;
    vertical-align: initial;
    align-items: flex-start;
    justify-content: center;
      border-left: 1px solid #d8dee3;
}

dt.rowspan_title3 span.txt-compare {
    line-height: 1.25;
    text-indent: 0;
    font-size: 14px;
}




.hscroll{
  width:100%;
  margin:0;
}


.hscroll ul {
    overflow-x: auto;
}


.hscroll ul {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    border: 2px solid #576ed1;
    border-top: none;
}


.hscroll li {
    list-style: none;
    display: inline-block;
    vertical-align: top;
    scroll-snap-align: center;
    width: 100%;
    height: 100%;
}



li.dl_table1{
    margin:0px -4px 0 0px !important;
}

li.dl_table2 {
  margin:0px -4px 0 0px !important;
}

li.dl_table3 {
margin:0px -4px 0 0px !important;
}

li.dl_table4 {
margin:0px -4px 0 0px !important;
}

li.dl_table5 {
margin:0px -4px 0 0px !important;
}

li.dl_table6 {
margin:0px -4px 0 0px !important;
}

li.dl_table7 {
margin:0px -4px 0 0px !important;
}


.cost_comm {
    font-size: 15px;
    padding-top: 2px;
}


.flex_right{
  border-left: 1.5px solid #a7a8bb;
  border-bottom: 1.5px solid #a7a8bb;
}





dt.rowspan_title2.add_features {
    display: flex;
    flex-direction: row;
    height: auto;
    align-items: center;
		padding:0;
		 flex-wrap: wrap;
}


.add_features_left {
    writing-mode: vertical-rl;
    text-align: center;
    margin: 0 auto;
		width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
		 letter-spacing: 4px;
}

.add_features_left1 {
    writing-mode: vertical-rl;
    text-align: center;
    margin: 0 auto;
		width: 20%;
    display: flex;
    align-items: center;
		 letter-spacing: 4px;
}

.txt-compare-h {
    text-orientation: upright;
}



.add_features_right {
    width: 80%;
    font-size: 14px;
		border-left: 1px solid #d8dee3;
}


.add_right_item {
	display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        padding: 12px 6px;
        background: #eff0f7;
        font-size: 15px;
}


.rowspan_title2{
	    background: #eff0f7;
}


.sp_plan_tite{
	background-color: #4952b9 !important;
	font-weight: bold;
	font-size: 19px;
}



.price_caution{
      padding-top: 5px;
}


/* new 料金　end  */

}


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

section.section_distress_ai {
  padding: 30px 0;
}


.AI_merit_view_top:after,
.AI_merit_view_top:before{
display: none;
}


.distress_sub_text_ai{
font-size: 18px;
text-align: left;
line-height: 1.5;
padding-top:10px;
}


h2.strength_title_ai{
margin: 0;
font-size: 37px !important;
line-height: 1.6;
}

img.distress_img_ai {
  width: 97%;
  max-width: 100%;
}

.blue_font_ai {
font-size: 41px;
letter-spacing: 2px;
}

.blue_font_ai:before {
content: "・";
display: inline-block;
position: absolute;
top: -20px;
font-size: 29px;
padding-left: 0px;
}

font.blue_font_ai.thi:before {
    left: 6px;
}

font.blue_font_ai.second:before {
    left: -8px;
}

.distress_area_ai{
  flex-direction: column;
  margin: 0px;
}


.distress_con_ai{
  width:90% !important;
  margin-bottom: 20px;
}

.distress_con_ai:nth-child(1){
margin-top: 0px;
}

.distress_con_ai:nth-child(2){

}

.distress_con_ai:nth-child(3){

}

.distress_con_ai:nth-child(4){
margin-bottom:0;
}

.distree_m_box {
  border: 2px solid #D5213F;
  border-radius: 10px;
  margin-top: 4px;
  background-color: #fff;
  width: 97%;
}

.distress_m_title {
  font-size: 21px;
  border-radius: 7px 8px 0 0;
}

.circle_m_txt {
  font-size: 19px;
  margin-right: 9px;
}

.distress_m_txt {
  padding: 15px;
  height: 100%;
}

.distress_m_txt ul li {
  padding-left: 15px;
  margin-bottom: 8px;
  line-height: 1.35;
  font-size: 17px;
}

.distress_m_txt ul li::before {
  width: 8px;
  height: 8px;
  top: 9px;
}

.distress_m_title {
  font-size: 22px;
}


.dist_hukidashi{
    font-size: 23px !important;
}

.hukidashi_a {
  top: 32px;
  letter-spacing: -1px;
  padding: 0px 15px;
}

.hukidashi_b {
  top: 32px;
  letter-spacing: -1px;
  padding: 0px 15px;
}

.hukidashi_c {
  top: 32px;
  letter-spacing: -1px;
  padding: 0px 15px;
}

.merit_subtxt{
font-size: 16px;
}

.merit_subtxt1{
font-size: 19px;
line-height: 25px;
margin-bottom: 3px;
}

.merit_subtxt2{
font-size: 18px;
line-height: 25px;
padding-bottom: 6px;
}


.scene_con_ai{
padding: 25px;
}

h2.scene_point_title {
padding-top: 1px !important;
padding-bottom: 11px !important;
font-size:2.6rem !important;
line-height: 1.3;
}

h2.scene_point_title1{
padding-top: 1px !important;
padding-bottom: 11px !important;
font-size: 3.4rem !important;
line-height: 1.3;
}

h2.scene_point_title2{
padding-top: 1px !important;
padding-bottom: 11px !important;
font-size: 3.0rem !important;
line-height: 1.3;
}

h2.scene_point_title3{
padding-top: 1px !important;
padding-bottom: 5px !important;
font-size: 3.4rem !important;
line-height: 1.3;
}

.distress_con_wide {
border-radius: 16px 16px 0 0;
}

.distress_con_movie {
border-radius: 8px 8px 0px 0px;
}

.ai_usage_title_w1 {
border-radius: 6px 6px 0 0;
}

.ai_usage_title_w2 {
border-radius: 6px 6px 0 0;
}

.distree_box_w {
border-radius:12px 12px 0 0;
}

.distree_box_movie {
border-radius: 6px 6px 0 0;
padding: 4px 10px;
}

.scene_area_ai {
padding: 10px 20px 0;
}


.serve_text_g {
font-size: 1.1em;
line-height: 1.4;
margin-top: 5px;
}

.scene_img_area_ai{
  padding-top: 6px;
}


.scene_img_area_ai img {
padding: 15px;
}


.soution_small_title {
width: 100%;
margin: 0 auto;
display: flex;
flex-direction: row;
flex-wrap: wrap;
position: relative;
}

.soution_small_title:after {
margin-left: 14.5rem;
top: 13%;
width: 36%;
display: none;
}

.small_left {
height: 38px;
width: 83%;
margin-left: 20px;
padding-top: 0px;
display: flex;
justify-content: center;
/* transform: none; */
position: absolute;
top: 0px;
left: 3%;
}

.small_left p {
font-size: 19px;
line-height: 1.2;
padding-left: 0px;
font-family: 'Noto Sans JP', sans-serif;
/* transform: none; */
}

.small_right {
width: 100%;
height: auto;
transform: none;
padding: 34px 16px 18px;
margin-left: 0;
margin-top: 19px;
margin-bottom: 7px;
}

.small_right p {
font-size: 20px;
width: 100%;
line-height: 1.35;
padding-left: 0;
box-sizing: border-box;
font-family: 'Noto Sans JP', sans-serif;
transform: none;
text-indent: -22px;
padding-left: 18px;
margin-bottom: 8px;
}

&:nth-last-child(1){
margin-bottom:0;
}










/* faq start */



.section-faq{
  padding: 40px 0;

}


.faq_area {
  padding: 10px 0px 0px;
}




.section-faq .faq-list {
    margin-top: 20px;
    gap: 14px;
}

.section-faq .faq-question {
    padding: 16px 17px 16px 20px;
    font-size: 18px;
    line-height: 1.5;
    gap: 10px;
}



.section-faq .faq-icon {
    width: 35px;
    height: 35px;
    font-size: 32px;
}

.q_greytxt{
 font-size: 13px;
 color:#666;
}

.q_info_greytxt{
 font-size: 11px;
 color:#666;
 line-height: 1.4;
 padding-left: 0px;
}

.section-faq .faq-item.open .faq-answer {
    padding: 16px 17px 16px 20px;
    font-size: 17px;
}


.box_plan {
    background: #f5f6fa;
    border-radius: 8px;
    margin: 8px 0;
}

.box_plan_contents {
    display: block;
    margin-bottom: 10px;
    padding: 10px 14px;
    /* width: 100%; */
}


.box_plan_contents li {
    padding: 0px;
    font-size: 16px;
    line-height: 27px;
    align-items: flex-start;
    display: block;
    margin-bottom: 10px;
}


.faq_text_link{
  font-size: 16px;
padding-left: 0;
padding-top: 10px;
}

.faq_text_link a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 4px;
    background: url(/images/type_arrow_oran1.png) no-repeat center center;
    background-size: contain;
    vertical-align: middle;
    vertical-align: -3px;
}


li.text-int-dot {
  font-size: 16px;
  padding: 0 0 20px 20px !important;
}

.text-int-dot:nth-child(1) {
    margin-top: 0;
}

.text-int-dot:nth-last-child(1) {
    padding-bottom: 0 !important;
}


.text-int-dot:before{
  font-size: 8px;
  left: 4px;
  top: 8px;
}


.box-pre-evaluation{
  margin: 0px 4px;
  padding: 4px;
  width: 10%;
}




/*  faq end */




section.section_customer {
    padding: 40px 20px;
}

.feedback_area{
    flex-direction: column;
    align-content: center;
}

.feedback_item {
    width: 100%;
}

.feedback_item.voice2 {
    margin: 25px 0;
}

.voice_p{
      height: auto;
      font-size: 18px;
}

.voice_profile {
    margin-top: 20px;
}

.feedback_item.voice1 .feedback_img p {
    top: 32%;
}

.feedback_img p{
  font-size: 16px;
}

.v_p_title {
    width: 35%;
    margin: 6px 0 5px;
    border-radius: 6px;
    padding: 4px;
}

.v_p_text {
    padding-left: 13px;
    padding-top: 3px;
}

.hukidashi_span_red{
    font-size: 15px;
}


.balloon-set {
  width:94%;
  left: 8px;
}


.balloon-set.b-set4,
.balloon-set.b-set5,
.balloon-set.b-set6 {
    top: 20px;
    right: 6px;
}


.b-text4::after{
    right: -20px;
    top: 28px;
}




.b-text5::after,
.b-text6::after {
    right: -17px;
    top: 18px;
}



.balloon-icon img {
    width: 100%;
    min-width: 64px;
    max-width: 64px;
    padding:0px;
    margin-top: 0px;
}


.balloon-text{
  font-size: 14px;
  padding: 10px 12px;
}


.b-text1line.balloon-text::after {
  top: 50%;
  transform: translateY(-50%);
  right: -22px;
}

.b-text2line.balloon-text::after {
  top: 50%;
  transform: translateY(-50%);
  right: -22px;
}


.tab_func2_title2{
      margin-top: 22px;
}

.balloon-left-arrow .b-text2line.balloon-text::after {
  top: 40px;
  right: 240px;
}






/* sp tab (selected) style start ↓↓ */



/* tab design ↓↓  */


    .tab-btn {
      padding: 6px 0 18px 5px;
      display: flex;
      flex-direction: column;
      gap: 25px;
      width: 294px;
      min-width: 280px;
      height: 100%;
  }

  .margin-r-fix{
    margin-right: 50px !important;
  }

  .box_tab_contents{
    max-width: 1500px;
    width: 100%;
    margin: 0 auto;
  }

    .enter_tab {
        flex-basis: 13.9%;
        text-align: center;
        position: relative;
    }




    .enter_tab a {
      display: block;
      position: relative;
      font-size: 24px;
      padding: 13px 10px 12px 18px;
      text-decoration: none;
      line-height: 1.3;
      color: #f1f5ff;
      cursor: pointer;
      font-weight: 100;
      text-align: left;
      letter-spacing: 0px;
      border: 2px solid transparent;
      letter-spacing: -.8px;
  }

    .enter_tab a.is-active {
      background-color: #ffffff;
      color: #003164;
      font-weight: 700;
      border-radius: 10px;
      font-size: 24px;
    }

    .enter_tab a:hover
     {
      border-radius: 10px;
      border: 2px solid #ffffffc4;
      font-weight: 700;
      text-decoration: none !important;
      opacity: 1.0 !important;
  }


    .enter_tab_sec a:hover {
      border-radius: 8px;
      border: 2px solid #ffffffc4;
      font-weight: 100;
      text-decoration: none !important;
      opacity: 1.0 !important;
  }

    .enter_tab_thi a:hover {
      border-radius: 8px;
      border: 2px solid #ffffffc4;
      font-weight: 100;
      text-decoration: none !important;
      opacity: 1.0 !important;
  }


    .enter_tab_fourth a:hover {
      border-radius: 8px;
      border: 2px solid #ffffffc4;
      font-weight: 100;
      text-decoration: none !important;
      opacity: 1.0 !important;
    }



    .tab-cont-box{
      width: 100%;
    }



    .enter_tab_sec,
    .enter_tab_thi,
    .enter_tab_fourth{
      flex-basis:19.7%;
    }


      .enter_tab_sec a,
      .enter_tab_thi a,
      .enter_tab_fourth a {
        display: block;
        position: relative;
        font-size: 23px;
        padding: 13px 5px 15px 12px !important;
        line-height: 24px;
        text-decoration: none;
        color: #f1f5ff;
        cursor: pointer;
        font-weight: 100;
        text-align: left;
        letter-spacing: 0pt;
        border: 2px solid transparent;
        border-radius: 50px;
    }



    .sec_hspace{
      padding: 12px 0px 13px 19px;
    }

    .enter_usage_subtxt{
      font-weight: 700;
      font-size: 16px;
      line-height: 1.5;
      color: #378ee4;
      width: 63%;
      text-align: center;
      border-radius: 20px;
      margin-bottom: 10px;
      background-color: #e8f4ff;
      padding: 2px 13px 3px;
  }

  .enter_usage_subtxt-active {
      font-weight: 700;
      font-size: 16px;
      line-height: 1.5;
      color: #378ee4;
      width: 63%;
      text-align: center;
      border-radius: 20px;
      margin-bottom: 10px;
      background-color: #e8f4ff;
      padding: 2px 13px 3px;
  }

  .eng_txt_tit{
    margin-top: 10px;
    font-size: 27px;
    padding-left: 3px;
    letter-spacing: 0pt;
  }

      .enter_tab_sec a.is-active {
        background-color: #FFFFFF;
        color: #003164;
        font-weight: 700;
        border-radius: 8px;
        font-size: 23px;
        border: 2px solid transparent;
        letter-spacing: 0pt;
        padding: 13px 10px 15px 18px;
        line-height: 24px;
        min-width: 254px;
        width: 100%;
      }


      .enter_tab_thi a.is-active {
        background-color: #ffffff;
        color: #003164;
        font-weight: 700;
        border-radius: 8px;
        font-size: 23px;
        border: 2px solid transparent;
        letter-spacing:0pt;
        line-height: 24px;
      }


        .enter_tab_thi a {
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
      }




      .enter_tab_fourth a.is-active {
        background-color: #ffffff;
        color: #003164;
        font-weight: 700;
        border-radius: 8px;
        font-size: 23px;
        border: 2px solid transparent;
        letter-spacing: 0pt;
        line-height: 24px;
      }


        .enter_tab_fourth a {
        height: 68px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
      }


      .enter_tab_fourth a.is-active {
          height: 73px;
          width: 100%;
          min-width: 270px;
      }


    .tab_menu {
      display: flex;
      align-items: center;
      gap: 6px 40px;
      border-radius: 20px;
      padding: 12px;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 100%;
      margin: 0 auto;
      background: linear-gradient(180deg, #4952b9 15%, #424aa7 45%, #3b4295 100%);
      box-shadow: 0 3px 6px #3b3f4554;
    }

    .tab_menu:after {
      background: url(/images/lp/lp_enterprise/entreprise_bg.png) center 75%;
      background-size: 100% !important;
    }



    .tab_menu_box {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      width: 100%;
      margin: 0 auto;
      height: 100%;
      padding:0;
    }



p.tab_item_title{
    font-size: 21px;
    text-align: center;
    padding: 10px 0px 10px 0px;
    line-height: 1.3;
}

.tab_item_titspan {
  font-size: 18px;
  display: block;
  margin-left: -10px;
  }

  .sp_tap_menu_tit{
    padding-top: 0;
    position: absolute;
    top: 47px;
  }


    p.tab_item_p {
        margin-bottom: 15px;
        font-size: 17px;
        line-height: 1.55;
        color: #606060;
        padding: 0px 0px 0px 2px;
        letter-spacing: -0.5px;
        margin-top: 4px;
    }

    p.tab_item_p1 {
      margin-bottom: 13px;
      font-size: 21px;
      line-height: 1.5;
      color: #575757;
      padding-left: 6px;
  }

    .tab_item_subtxt {
      font-size: 18px;
      color: #707070;
  }


    .tab_item_img {
      border: 1.5px solid #d5dee8;
      background-color: #f7fbff;
      padding:32% 12px 20px;
      border-radius: 0px;
      margin-bottom: 14px;
    }


    .tab_item_func1{
      padding-top: 38%;
    }


    .tab_item_img img{
      width:100%;
    }

    .tab_item_img_storage {
      border-radius: 13px;
      border: 2px solid #d0d6dc;
      padding: 20px 12px;
    }

    .tab_item_img_storage img{
      width:100%;
    }

    .tab_item_img1 {
        border: 1.5px solid #d5dee8;
        background-color: #f7fbff;
        padding: 40px 55px;
        border-radius: 0px;
        margin: 0 auto;
    }

    .tab_item_img1 img{
      width:90%;
    }

    .tab_item_img2 {
      border: 1.5px solid #d9e3ee;
      background-color: #edf6ff;
      padding: 12px;
      border-radius: 0px;
      margin-bottom: 15px;
    }

    .tab_item_img2 img{
      width:100%;
    }

    .tab_item_movie {
      border: 1.5px solid #d5dee8;
      background-color: #f0f6ff;
      padding:8px;
      border-radius: 0px;
  }

    .tab_item_bg {
      width: 100%;
      padding: 15px !important;
      background-color: #fff !important;
      margin: 0 auto;
  }

  .shield_scene_box{
    width: 100%;
    background-color: #eff5ff;
    border: 1.5px solid #ced6e3;
    border-radius: 10px;
    padding: 30px 25px;
  }



    .tab-contents-item {
      display: none;
      width: 100%;
      height: auto;
      justify-content: center;
      border-radius: 12px;
      padding: 25px 14px;
  }


  .tab-contents-item.is-active{
      display: flex;
  }


  .tab-contents-item>p {
      margin: auto;
      height: auto;
      opacity: 0;
  }




  .tab-contents-item.is-active>div {
    animation:  fadeinAnime 1s forwards;
    width:100%;
  }


    @keyframes fadeinAnime{
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
    }



    .custom-select-box {
        position: relative;
        width: 100%;
        margin: 20px auto;
        line-height: 31px;
    }



    .selected-option {
        padding: 10px 40px 12px 14px;
        border: 1px solid #ccc;
        border-radius: 8px;
        background: white;
        cursor: pointer;
        position: relative;
        font-weight: bold;
        color: #2d3045;
        font-size: 21px;
    }


    .selected-option::after {
        position: absolute;
        display: block;
        content: '';
        width: 9px;
        height: 9px;
        top: 45%;
        right: 15px;
        margin-top: -3px;
        border-bottom: 2px solid #575757;
        border-right: 2px solid #575757;
        transform: rotate(45deg) translateY(-50%);
        transition: all .4s ease-in-out;
        transform-origin: 50% 0;
    }



    .dropdown-options {
        position: absolute;
        top: 110%;
        left: 0;
        right: 0;
        border: 1px solid #ccc;
        border-radius: 8px;
        background: white;
        display: none;
        z-index: 13;
        box-shadow: 0px 3px 8px 2px rgb(0 0 0 / 42%);
        font-size: 18px;
        line-height: 1.3;
    }


    .dropdown-options div {
        padding: 12px 14px;
        cursor: pointer;
        font-weight: 700;
        color: #2d3045;
    }


    span.tab_title_span {

      display: block;
      font-weight: 700;
      line-height: 1.5;
      color: #378ee4;
      width: 63%;
      text-align: center;
      border-radius: 20px;
      margin-bottom: 1px;
      background-color: #e8f4ff;
      padding: 2px 0px;
      width: auto !important;
      display: inline-block;
      padding: 2px 9px;
      font-size: 13px;
    }


    .selected-option a.is-active span.tab_title_span {
        display: block;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.5;
        color: #378ee4;
        width: 63%;
        text-align: center;
        border-radius: 20px;
        margin-bottom: 5px;
        background-color: #e8f4ff;
        padding: 2px 0px;
    }



    span.tab_title_span.span_down {
      font-weight: 100;
      font-size: 11px;
      margin-bottom: 2px;
    }


/* tab design end  */


/* sp tab style start ↑↑ */




}






/*    -----------------------------------  header sp   ----------------------------------- */

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

 #header{
    width:100%;
  }

  .header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      z-index: 999;
      background-color: #fff;
      transition: background-color .3s ease;
      box-shadow: 0px 0px 3px 0px rgb(0 0 0 / 15%);
  }


  .header_logo {
      min-width: 210px;
      margin-right: 0;
      padding-top: 4px;
    }

  .header__container {
        width: 100%;
        padding: 0px;
        justify-content: space-between;
        position: relative;
        z-index: 10;
        height: 65px;
        background: #ffffff;
    }


  .header__navi {
        display: none;
    }


  .sp_hamburger_Btn{
    display: block;
    height: 24px;
    width: 27px;
    position: relative;
    flex: none;
    margin-right: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .sp_hamburger_Btn:focus-visible {
    outline: 3px solid #4952b9;
    outline-offset: 8px;
  }


  .hamburger_Btn_line {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 3px;
      border-radius: 4px;
      background-color: #3578e3;
      transform-origin: center;
      transition: background-color .3s ease,transform .3s ease;

  }



  .hamburger_Btn_line:nth-child(2) {
      top: 10px;
  }

  .hamburger_Btn_line:nth-child(3) {
      top: 20px;
  }


  .sp_hamburger_Btn.active .hamburger_Btn_line:nth-child(1){
      transform: translateY(10px) rotate(45deg);
  }

  .sp_hamburger_Btn.active .hamburger_Btn_line:nth-child(2){
    opacity:0;
  }

  .sp_hamburger_Btn.active .hamburger_Btn_line:nth-child(3){
    transform: translateY(-10px) rotate(-45deg);
  }

  .sp_toggle_menu {
    margin-top: -30vh;
  }


.sp_toggle_menu{display:none;}

.sp_toggle_menu {
    position: fixed;
    top: 65px;
    left: 0;
    margin-top: -100vh;
    width: 100vw;
    height: calc(100vh - 64px) !important;
    overflow-y: scroll;
    background-color: #fff;
    transition: margin .3s ease !important;;
}

.sp_toggle_menu.active{
  margin-top: 0;
  border-top: 1px solid #d8d8d8;
}


.sp_toggle_menu{
  display: block;
}

.sp_toggle__list {
  height: 0;
  background-color: #fff;
  transition: height .3s ease;
  overflow: hidden;
}

.sp_toggle__list.is-open {
  display: block;
  transition: height .3s ease;
  overflow: hidden;
  height: 220px;
}


.sp_toggle_contents{
    padding: 25px;
}

.sp_toggle_menu {
    font-size: 17px;
}

.sp_toggle_title {
    position: relative;
    margin-bottom: 25px;
}

.sp_t_title3{
margin-bottom:0;
}

.sp_toggle_title a{
    color: inherit;
}

.sp_toggle_item {
    font-size: 15px;
    padding: 10px 20px;
}


.sp_toggle_title i{
  transform: rotate(0deg);
  transition: transform .3s ease;
  color: #b9bfc5;
}

.sp_toggle_title.is-open i{
  transform: rotate(180deg);
  color: #b9bfc5;
}

i.fa.fa-angle-down {
    position: absolute;
    right: 0;
    top: 5px;
}

.sp_toggle_item a{
  position: relative;
  padding-left: 5px;
}


.sp_toggle_item a:before{
  content: "";
  position: absolute;
  width: 8px;
  height: 2px;
  background-color: #158aff;
  top: 57%;
  left: -15px;
  transform: translateY(-50%);
}


.sp_toggle_cta_area{
  border-top: 1px solid #d8d8d8;
}


#lp_rightContents {
    padding: 25px;
    flex-direction: column;
}

li.navi_cta {
    width: 100%;
    height: 50px;
    margin-bottom: 15px;
}

li.navi_cta a {
    top: 4px;
    font-size: 19px;
}



}



/******************** cta css 変更 ***********************/
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .header__container {
    padding-inline: 16px;
  }
  .header_logo {
    min-width: 210px;
    margin-right: 10px;
  }
  .header__navi--left {
    font-size: 14px;
  }
  .header__navi--left li {
    margin-inline: 5px;
  }
  li.navi_cta {
    min-width: 140px;
    font-size: 14px;
  }
}

@media screen and (min-width: 1201px) {
  .sp_toggle_menu {
    display: none;
  }
}

.cta_btn_area_cont_ai {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 8px;
    gap: 0 0px;
}

.main_btn_contents_area_ai {
    display: flex;
    justify-content: center;
    padding: 5px 0px;
    align-items: center;
    gap: 20px;
    flex-direction: row;
    width: 100%;
}

.main_btn_boxtd_contents_ai {
    width: 45%;
    text-align: center;
    height: 65px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 25px;
    line-height: 1.8;
    position: relative;
    flex: 1 1;
    max-width: 44%;
    margin-top: 7px;
}

.appbt-mv-button-textai {
    margin-bottom: 6px;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: #a5abb3;
}

.appbt-mv-button-textai:before {
    transform: rotate(53deg);
    left: 13%;
}

.appbt-mv-button-textai:after {
    transform: rotate(-53deg);
}

.appbt-mv-button-textai:before, .appbt-mv-button-textai:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 6%;
    height: 1px;
    background: #a5abb3;
    top: 15px;
}

.app-btn-ai {
    transition: .2s;
    border-radius: 50px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
    background: #fff;
    border: 2px solid #dfe0e4;
    color: #4C4C4C !important;

    font-size: 21px;
    display: flex;
    align-items: center;
    width: 100%;
    height: 76px;
    margin: 0 auto;
    padding: 0 25px 0 40px;
    gap: 0 10px;
}

.app-btn-contents-image-wb {
    width: 48px;
    padding-top: 3px;
}

.app-btn-contents-text1ai {
    flex: 1 1;
    font-size: 24px;
    text-align: left;
    padding-left: 2px;
    color: #494d58;
}

.app-btn-contents-arr1-ai {
    width: 24px;
    height: 24px;
    margin-left: auto;
    pointer-events: none;
}

.main_btn_boxtd_contents_ai {
    width: 45%;
    text-align: center;
    height: 65px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 25px;
    line-height: 1.8;
    position: relative;
    flex: 1 1;
    max-width: 44%;
    margin-top: 7px;
}

.appbt-mv-button-text1ai {
    margin-bottom: 7px;
    font-size: 19px;
    font-weight: 500;
    text-align: center;
    color: #dbebff;
}

.appbt-mv-button-text1ai:before, .appbt-mv-button-text1ai:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 5%;
    height: 1px;
    background: #dbebff;
    top: 18px;
}

.appbt-mv-button-text1ai:before {
    transform: rotate(53deg);
    left: 14%;
}

.appbt-mv-button-text1ai:after {
    transform: rotate(-53deg);
}


.app-btn1-ai {
    transition: .2s;
    border-radius: 50px;
    font-weight: 700;
    line-height: normal;
    text-align: center;

    font-size: 21px;
    display: flex;
    align-items: center;
    width: 100%;
    height: 76px;
    margin: 0 auto;
    padding: 0 20px 0 35px;
    gap: 0 10px;
}

.app-btn-tertiary {
  background: #fff;
  color: #00348a;
}

.app-btn-tertiary:hover,
.app-btn-tertiary:focus {
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.2);
  cursor:pointer;transform:scale(1.04,1.04);transition:transform .2s;
  text-decoration: none;
}

.app-btn-primary-ai {
    background: #ff114a;
    color: #ffffff !important;
}

.app-btn-primary-ai:hover,
.app-btn-primary-ai:focus {
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.2);
  cursor:pointer;transform:scale(1.04,1.04);transition:transform .2s;
  text-decoration: none;
}

.app-btn-contents-image-b {
    width: 54px;
}

.app-btn-contents-text1-w {
    flex: 1 1;
    font-size: 24px;
    text-align: left;
    padding-left: 2px;
    color: #ffffff;
    letter-spacing: -0.45px;
}


.best_plan_all {
    position: absolute;
    left: 30%;
    top: -29px;
    font-size: calc(12px + 1 * (80vw - 250px) / 500);
    line-height: 1;
    font-weight: 700;
    /* background: #0576e5; */
    background: #E72046;
    background: linear-gradient(90deg, #E94F79 0%, #E72046 100%);
    border-radius: 26px;
    color: #fff;
    padding: 6px 15px;
    text-align: center;
    z-index: 2;
}




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

  .main_btn_contents_area_ai{
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }

  .main_btn_boxtd_contents_ai{
        max-width: 100%;
        width: 100%;
        margin-top: 2px;
    }

  .app-btn-ai, .app-btn1-ai {
        padding: 0 30px 0 35px;
        position: relative;
        height: 60px;
  }

  .app-btn-contents-image-wb {
      width: 37px;
      padding-top: 3px;
  }

  .app-btn-contents-image-b {
      width: 42px;
  }

  .app-btn-contents-text1ai, .app-btn-contents-text1-w {
    font-size: 20px;
  }

  .app-btn-contents-arr1-ai {
      width: 22px;
      height: 22px;
  }

  .voice_profile li{
    font-size: 15px;
}

.best_plan_all {
    position: relative;
    left: -12%;
    top: 0px;
    font-size: calc(12px + 1 * (80vw - 200px) / 400);
    padding: 6px 5px;
  }

  .chap_subtxt{
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 15px;
    margin-top: 5px;
}

  .chap_subtxt1 {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 15px;
    margin-top: 5px;
}

.chap_subtxt_s {
    font-size: 14px;
    margin-bottom: 4px;
    padding-right: 2px;
}


.dl_right_dd2 {
  width: 100%;
  padding: 14px 10px 14px;
  font-size: 16px;
  line-height: 1.5;
  vertical-align: initial;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  white-space: break-spaces;
}




dt.rowspan_title3{
  width: 100%;
  padding: 14px 8px 14px 14px;
  font-size: 16px;
  line-height: 1.4;
  vertical-align: initial;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  background-color: #eff0f7;
}



.main_v_hukidashi_area {
  width: 100%;
  padding-top:104px;
}



.main_balloon_woman img {
    width: 100%;
    min-width: 72px;
    max-width: 72px;
    margin-top: 0px;
}


.left_hukidashi {
    width: 100%;
    padding-bottom: 0px;
    margin-left: 0;
}

.main_balloon{
  width:100%;
}


.ai_usage_text1{
 font-size: 20px;
}

.dl_right_dd2{
  white-space: break-spaces;
}

.point_box_notice{
    padding-left: 0;

}

.cost_comm1 {
    font-size: 13px;
    letter-spacing: -0.5px;
    margin-top: 3px;
}

.cost_comm2 {
    font-size: 13px;
    letter-spacing: -0.5px;
    margin-top: 3px;
}


dd.dl_right_dd2.best_txt {
    background-color: #EFF2FF;
}


.main_balloon_text{
    font-size: 17px;
    padding: 10px 10px;
    border-radius: 6px;
}


  .main_balloon {
      width: 100%;
      right: 14px;
      justify-content: end;
      gap: 5px;
      top: 20px;
  }


  .main_balloon_text::after {
      top: 10px;
      left: -20px;
  }


  .faq {
      margin-top: 0;
  }


  .faq_a_span{
      font-size: 16px;
  }


.table_x_icon{
  padding-bottom: 0px;
}


section.section_function {
    padding: 40px 20px;
}





.tab-contents-item,
.tab-contents-item-sec,
.tab-contents-item-thi,
.tab-contents-item-fourth{
   padding:25px 14px;
}

}


/* ========================================
■ section 全体構成 start ▼
======================================== */

.solution_structure{
  background: linear-gradient(0deg, #ffffff 10%, #f5f7ff 65%, #eef1ff 100%);
    padding: 0;
}



.support_bgbox {
  /* background: url(/images/lp/dc_ai_new/bg_pattern_ai.png) 50% 30%;
    background-size: cover;
    padding: 70px 0; */
}



.support_title{
  font-weight: bold;
  color: #262b34;
  text-align: center;
  font-size: clamp(2.8em, -5vw, 52px);
  line-height: 1.4;
}



.balloon_support {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 10;
  justify-content: flex-end;
  padding-bottom: 40px;
}


.balloon_text {
  background-color: #ffe0e0;
  padding: 18px 15px 19px 29px;
  border-radius: 10px;
  position: relative;
  font-size: 19px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  text-align: left;
  width: 100%;
  color: #37393e;
  line-height: 1.45;
}


.balloon_text::after {
    content: '';
    position: absolute;
    border-width: 16px 0 16px 30px;
    border-style: solid;
    border-color: transparent transparent transparent #ffe0e0;
    right: -30px;
}


.balloon_text::after {
    top: 37%;
}


.balloon_icon {
    width: 11.2%;
}

.balloon_text {
    width: 49%;
}

.balloon_icon img {
    width: 100%;
    min-width: 135px;
    max-width: 110px;
}

.sec_support_img{
    display: flex;
    position: relative;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 15px;
    padding: 0px;
    border-radius: 14px;
    border: 2.5px solid #4952b9;
    box-shadow: 0px 0px 7px #a7afba59;
    background-color: #ffffff;
}


.sec_support_img h3{
    line-height: 1.4;
    font-size: 48px;
    padding: 17px 0px 25px;
    background-color: #4952b9;
    text-align: center;
    font-weight: 700;
    color: #fff;
    width: 100%;
    margin: 0px auto;
    border-radius: 10px 10px 0px 0px;
    letter-spacing: -0.4pt;
}

.dc_ai_structure {
    padding: 0 0px 55px 36px;
    width: 100%;
    background-color: #ffffff;
    border-radius: 0px 0px 12px 12px;
}


.structure_text{
  width:100%;
  margin:0 auto;
  font-size: 25px;
    line-height: 1.6;
    font-weight: 100;
    /* color: #64727e; */
    padding: 25px 30px 0;
    text-align: center;
}

.structure_text1{
  width:100%;
  margin:0 auto;
  font-size: 22px;
    line-height: 1.6;
    font-weight: 100;
    /* color: #64727e; */
    padding: 0px 30px 10px;
    text-align: center;
}


.tier_subtitle {
  font-weight: 100;
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fefeff;
    width: 29%;
    text-align: center;
    margin: 0 auto;
    border-radius: 31px;
    color: #4952b9;
    padding: 1px 0px;
    margin-top: 8px;
}

/* 라인 */
/* .tier_subtitle::before,
.tier_subtitle::after {
  content: "";
  width: 68px;
  height: 1.8px;
  background: rgb(255 255 255 / 34%);
} */

.tier_subtitle::before {
  left: 0;
}

.tier_subtitle::after {
  right: 0;
}

.issue__triangle {
    /* width: 120px;
    height: 60px;
    background:#414f76;
    position: relative;
    overflow: hidden; */
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
}

.y_dc_txt {
    background-clip: text;
    font-size: 59px;
    line-height: 1.5;
    color: #ffffff;
}




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

  .sec_support_img h3 {
      padding: 22px 0px 25px;
    }


.sec_support_img{
  margin-top: 0;
}

.y_dc_txt {
    font-size: 30px;
    display: block;
  line-height: 1.3;
}

.structure_text{
  font-size: 16px;
  padding: 20px;
  text-align: left;
  line-height: 1.45;
}

.structure_tex1{
  font-size: 18px;
  padding: 20px;
  text-align: left;
  line-height: 1.45;
}

.tier_subtitle{
  font-size: 17px;
  width: 63%;
  padding: 2px 0px;
}

.dc_ai_structure{
  padding: 0 16px 20px;
}









}








/* ========================================
■ section　全体構成 end ▲
======================================== */


/* ========================================
■ MCP Feature Detail tabs (team_business style)
======================================== */

.mcpfeat-shell {
    margin-top: 40px;
}

.feature-shell {
    background: #fff;
    border: 1.8px solid #c1c6e1;
    border-radius: 20px;
    box-shadow: 0 3px 6px rgb(175 183 195 / 18%);
    overflow: hidden;
}

.tab-bar {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    background: #eceef6;
}

.tab-bar::-webkit-scrollbar {
    display: none;
}

.tab-btn {
    flex: 1 1 0%;
    min-width: 20%;
    background: none;
    border: none;
    padding: 23px 0px;
    font-size: 26px;
    letter-spacing: -0.3px;
    font-weight: 700;
    color: #717784;
    box-shadow: inset 0 -3px 0 transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    cursor: pointer;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.tab-btn .tab-num {
    font-size: 22px;
    color: #c6ccd4;
    letter-spacing: 1.8px;
}

.tab-btn.active .tab-num {
    color: #9fa6f7;
}

.tab-btn.active {
    color: #ffffff;
    background: #4952b9;
}

.tab-btn:hover {
    color: #21252c;
}

.select_box_area {
    width: 93%;
    position: relative;
    margin: 14px auto 0;
}

.select_box_area:after {
    position: absolute;
    display: block;
    content: '';
    width: 9px;
    height: 9px;
    top: 52%;
    right: 15px;
    margin-top: -3px;
    border-bottom: 2px solid #575757;
    border-right: 2px solid #575757;
    transform: rotate(45deg) translateY(-50%);
    transform-origin: 50% 0;
}

#mcpFeatureSelect {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 18px 18px 16px;
    border: 1px solid #d5dbe6;
    border-radius: 8px;
    background: #fff;
    font-size: 18px;
    font-weight: 700;
    color: #2b3446;
}

.tab-panels {
    padding: 0;
}

.tab-panel {
    display: none;
    padding: 42px 42px 48px;
    box-sizing: border-box;
}

.tab-panel.active {
    display: block;
}

.feat-block {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 25px 40px;
    align-items: center;
}

.mcpfeat-text-only {
    grid-template-columns: 1fr;
}

.feat-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4952b9;
    font-weight: 800;
    font-size: 48px;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.feat-text h3 {
    font-size: 41px;
    font-weight: 700;
    color: #262b34;
    line-height: 1.4;
    margin: 0 0 15px;
}

.st_title{
    font-size: 29px;
    font-weight: 600;
    color: #3f4457;
    line-height: 1.4;
}

.feat-text-sub {
    font-weight: 400;
    color: #8b93a5;
    font-size:27px;
}

.price_sub_txt {
    font-size: 14px;
    font-weight: 400;
    color: #747a88;
}

.feat-text .lead {
    font-size: 19px;
    color: #5b6572;
    line-height: 1.7;
    margin: 0 0 20px;
}

.feat-tag {
    display: inline-block;
    margin: 0 8px 6px 0;
    padding: 7px 20px;
    border-radius: 999px;
    background: #eaefff;
    border: 1.5px solid #c5c9fccf;
    color: #474fc4;
    font-size: 16px;
    font-weight: 700;
}

.mcpfeat-caption {
    margin: 22px 0 0;
    padding-top: 8px;
    /* border-top: 1px solid #e6eaf2; */
    color: #4a4f66;
    font-size: 17px;
    line-height: 1.7;
}

.mcpfeat-caption-label {
    display: inline-block;
    margin-right: 10px;
    padding: 3px 12px;
    border-radius: 999px;
    background: #eef1fe;
    color: #2b3fb0;
    font-size: 13px;
    font-weight: 700;
}

.mcpfeat-note {
    margin: 10px 0 0;
    color: #8b93a5;
    font-size: 14px;
 line-height: 21px;
}

.chatbot-scene {
        margin-top: 30px;
    background: linear-gradient(160deg, #f3f6ff 0%, #eceffd 45%, #f2f6ff 100%);
    border-radius: 15px;
    /* box-shadow: 0 3px 6px rgb(175 183 195 / 18%); */
    overflow: hidden;
    border: 2px solid #4952b9;
}

.chatbot-scene1 {
    padding: 45px 30px 20px;
}

.chatbot-scene-titlebar {
    padding: 15px 40px 20px;
    text-align: center;
    background-color: #4952b9;
}

.chatbot-scene-titlebar .chatbot-scene-titlebar-title {
    margin: 0;
    color: #fff;
    font-size: clamp(18px, 2vw, 35px);
    font-weight: 800;
    line-height: 1.35;
}

.chatbot-scene-titlebar-sub {
    font-weight: 700;
    font-size: 22px;
    opacity: .85;
}

.chatbot-scene-titlebar1 {
    padding: 15px 40px 20px;
    text-align: center;
    background-color: #4952b9;
    border-radius: 12px 12px 0 0;
}

.chatbot-scene-titlebar1 .chatbot-scene-titlebar1-title {
    margin: 0;
    color: #fff;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 800;
    line-height: 1.35;
}

.chatbot-scene-titlebar1-sub {
    font-weight: 700;
    font-size: 22px;
    opacity: .85;
}

.aidiag {
    padding: 45px 30px 35px;
}

.ai-search1 {
    width: 100%;
    margin: 0 auto;
    display: block;
}

.aidiag .feature_three_column_section {
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    margin-top: 0;
}

.feature_result_titlebar {
    background: #4952b9;
    color: #ffffff;
    font-weight: 800;
    font-size: 23px;
    text-align: center;
    padding: 12px 20px;
    border-radius: 12px 12px 0 0;
}

.feature_col_right .feature_result_titlebar {
    font-size: 30px;
    padding: 12px 20px 10px;
}

.feature_col_right .feature_video_wrap {
    border-radius: 0 0 14px 14px;
}

.aidiag .feature_three_column_inner {
    position: relative;
    padding-bottom: 0px;
}

.aidiag .feature_col_left {
    flex: 0 0 260px;
}

.sales_scene_card {
    max-width: 260px;
    background: #ffffff;
    border:1.5px solid #c5cde6;
    border-radius: 14px;
    overflow: hidden;
    /* box-shadow: 0 8px 20px rgba(32, 43, 150, 0.1); */
}

.sales_scene_body {
    padding: 34px 20px 20px;
}

.sales_scene_bubble {
    position: relative;
    background: #fbdcdc;
    color: #333333;
    border-radius: 14px;
    padding: 16px 18px;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.sales_scene_bubble::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 22px solid #fbdcdc;
}

.sales_scene_person_ph {
    width: 100%;
    max-width: 160px;
    aspect-ratio: 1;
    margin: 0 auto;
}

.sales_scene_person_ph img {
    display: block;
    width: 70%;
    height: 100%;
    margin: 0 auto;
    object-fit: contain;
}

.sales_scene_caption {
    position: absolute;
    left: 60px;
    bottom: -10px;
}

.sales_scene_caption_title {
    margin: 0 0 2px;
    color: #1c2340;
    font-size: 28px;
    font-weight: 800;
    text-align: left;
    white-space: nowrap;
}

.sales_scene_caption_sub {
    margin: 0;
    white-space: nowrap;
    color: #8b93a5;
    font-size: 22px;
    text-align: center;
}

.aidiag .feature_col_center {
    position: relative;
    flex: 0 0 460px;
    width: 460px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding-top: 8%;
}

.aidiag .feature_col_right {
    position: relative;
    z-index: 2;
    flex: 1 1 20%;
    max-width: 480px;
}

.sales_scene_arrows {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.sales_scene_row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.sales_scene_pill {
    position: relative;
    width: 180px;
    box-sizing: border-box;
    background: #cfe3ff;
    color: #2b3457;
    font-weight: 100;
    font-size: 18px;
    line-height: 1.4;
    text-align: center;
    border-radius: 10px;
    padding: 16px 12px;
}

.sales_scene_pill--down::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 16px solid #cfe3ff;
}

.sales_scene_pill--up::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 16px solid #cfe3ff;
}

.sales_scene_arrow_icon {
    width: 170px;
    height: auto;
    display: block;
    margin: 0;
}

.sales_scene_cloud {
    position: relative;
    flex: 0 0 240px;
    width: 240px;
}

.sales_scene_cloud::after {
    content: '';
    position: absolute;
    top: 68%;
    left: 39%;
    width: 206px;
    height: 530px;
    transform: translateY(-50%);
    background: linear-gradient(260deg, rgb(176 180 191 / 55%), rgba(197, 208, 245, 0));
    clip-path: polygon(0 36%, 100% 0%, 100% 100%, 0 53.5%);
    pointer-events: none;
    z-index: 1;
}

.sales_scene_cloud_bg {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: auto;
}

.sales_scene_cloud_text {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 0;
    width: 82%;
    text-align: center;
    color: #2b3fb0;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.1;
    padding-top: 45px;
}

.sales_scene_cloud_text span {
    display: block;
    font-size: 22px;
    font-weight: 500;
    color: #6b7bd6;
}

.mcpfeat-usecase-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin-top: 35px;
}

.mcpfeat-usecase-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1.5px solid #bcc4e8;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 3px 6px rgb(22 26 60 / 8%);
}

.mcpfeat-usecase-media {
    position: relative;
    aspect-ratio: 4 / 3.2;
    overflow: hidden;
    background: linear-gradient(135deg, #eef1fe 0%, #dbe3fb 100%);
}

.mcpfeat-usecase-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mcpfeat-usecase-num {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 34px;
    height: 34px;
    padding-bottom: 1px;
    border-radius: 30px;
    background: #4952b9;
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
}

.mcpfeat-usecase-body {
    padding: 16px 14px 18px;
    text-align: center;
}

.mcpfeat-usecase-title {
    margin: 0 0 12px;
    color: #3d3aa8;
    font-size: 21px;
    font-weight: 800;
}

.mcpfeat-usecase-divider {
    border-top: 1px solid #e5e7f0;
    margin: 0 0 12px;
}

.mcpfeat-usecase-sub {
    margin: 0 0 4px;
    color: #1c2340;
    font-size: 19px;
    font-weight: 800;
}

.mcpfeat-usecase-desc {
    margin: 2px 0 0;
    color: #7b8194;
    font-size: 16px;
    text-align: center;
}

.mcp_security_visual_wrap {
    margin-top: 35px;
    /* padding: 24px;
    background: #f4f6fc;
    border-radius: 20px; */
    box-sizing: border-box;
}

.mcp_security_visual_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 27px;
}

.mcp_security_visual_card {
    background: #ffffff;
    text-align: center;
    background: #fff;
    border: 1.5px solid #969dd8;
    padding: 40px 0px 0px;
    border-radius: 16px;
    box-shadow: 0 4px 5px rgba(15, 26, 46, 0.10);
}

.mcp_security_visual_icon {
    width: 135px;
    height: 135px;
    margin: 0 auto 24px;
}

.mcp_security_visual_icon svg,
.mcp_security_visual_icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mcp_security_visual_icon1 {
    width: 170px;
    height: 135px;
    margin: 0 auto 24px;
}

.mcp_security_visual_icon1 svg,
.mcp_security_visual_icon1 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mcp_security_visualtxt {
    background: #f2f6ff;
    /* display: flex; */
    align-items: center;
    justify-content: center;
    padding: 25px 0px 20px;
    border-radius: 0px 0px 15px 15px;
    margin-top: 10px;
    height: 190px;
}

.mcp_security_visual_title {
    margin: 0 0 14px;
    color: #1c2340;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.4;
}

.mcp_security_visual_desc {
    margin: 0;
    color: #6b7280;
    font-size: 18px;
    line-height: 1.6;
}

.mcp_security_visual_note {
    margin: 4px 0 0;
    color: #9aa2b1;
    font-size: 15px;
}


/* ========================================
■ CSV diagram (Tab3: 高精度RAG)
======================================== */

.csv-diagram {
  --navy: #1c2340;
  --indigo: #4952b9;
  --indigo-light: #7AA3F6;
  --slate: #566080;
  --bg-lavender: #f4f6fc;
  --bg-card: #f4f5fa;
  --border-soft: #dde1f0;
  font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", sans-serif;
  background: var(--bg-lavender);
  border-radius: 16px;
  padding: 0px;
  color: #1f2540;
  box-sizing: border-box;
  margin-top: 24px;
  border: 2px solid #4952b9;
}
.csv-diagram * { box-sizing: border-box; }

.csv-diagram__intro {
  text-align: center;
  font-size: 20px;
  color: #3a4568;
  margin-bottom: 24px;
}

.csv-diagram__question {
  display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #fff;
    border: 2px solid #9199e7;
    border-radius: 50px;
    padding: 12px 40px;
    max-width: 820px;
    margin: 0 auto 40px;
    font-size: 24px;
    font-weight: 800;
    color: #1c2150;
    box-shadow: 0 2px 6px rgba(75, 63, 214, 0.08);
}
.q-icon-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0;
}
.q-icon {
      width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--indigo);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    font-weight: 800;
    padding-bottom: 4px;
}
.q-icon__arrow {
  width: 0; height: 0;
  margin-left: -3px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid var(--indigo);
}

.csv-diagram__flow {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 24px;
}
.flow-step {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1.5px solid #c7cbe8;
  border-radius: 14px;
  padding: 14px 20px;
  font-size: 20px;
  font-weight: 600;
  color: var(--indigo);
  box-shadow: 0 1px 3px rgba(30,30,80,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  white-space: nowrap;
}
.flow-step__icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.flow-step__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.flow-step__label { line-height: 1; }
.flow-arrow {
  flex-shrink: 0;
  width: 56px;
  height: 34px;
  margin: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.flow-arrow img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.csv-diagram__compare {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 30px;
}
.compare-arrow {
  position: relative;
  z-index: 2;
  align-self: center;
  width: 120px;
  height: auto;
  margin: 0 -40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.compare-arrow img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.compare-card {
  flex: 1;
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #F0F1F4;
  border: 1.5px solid #b6b9ca;
}

.compare-card--before {
  flex: 0.85;
}

.compare-card--after {
  flex: 1.15;
  border: 1.5px solid #4952b9;
    background: #ffff;
}
.compare-card__header {
  text-align: center;
  font-size: 29px;
  font-weight: 700;
  color: #fff;
  padding: 12px 0;
}
.compare-card--before .compare-card__header { background: #6c7599; }
.compare-card--after .compare-card__header { background: var(--indigo); }

.compare-card__body { padding: 24px 26px 26px; }
.compare-card__lead {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 12px;
  color: #1c2140;
}
.compare-card__list {
  margin: 0 0 18px;
  padding-left: 18px;
  font-size: 18px;
  font-weight: 400;
  color: #565e7e;
  line-height: 1.7;
  list-style: disc;
}
.compare-card__list li { margin-bottom: 2px; }

.broken-table {
  background: #fff;
  border: 1.5px solid #c6cadcc9;
  border-radius: 14px;
  padding: 22px 24px;
  margin-top:30px;
  margin-bottom: 16px;
  
}
.broken-table__row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}
.broken-table__row:last-child { margin-bottom: 0; }
.chip {
  border: 1.5px solid #c7cde6;
  border-radius: 10px;
  padding: 10px 20px;
  font-size: 18px;
  font-weight: 400;
  color: #1c2140;
  background: #fff;
}
.chip--offset2 { margin-left: 28px; }
.chip--offset3 { margin-left: auto; }
.chip--offset1 { margin-right: auto; }

.result-line {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 19px;
  font-weight: 500;
  padding-top: 8px;
}
.result-line--fail { color: #444; font-weight: 600; font-size: 20px;}
.result-line--ok { color: #283093;
    font-weight: 600;
    font-size: 21px;
    line-height: 33px; }
.result-icon {
  width: 30px; height: 30px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.result-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.result-icon--fail,
.result-icon--ok { background: none; }

.after-panels {
  display: flex;
  gap: 20px;
  margin-bottom: 18px;
}
.json-panel, .chart-panel {
  flex: 1;
  min-width: 0;
}
.panel-label {
    font-size: 15px;
    font-weight: 700;
    color: #2a2f66;
    margin-bottom: 4px;
    margin-top: 10px;
    text-align: left;
    padding-left: 5px;
}
.panel-label-sub {
  font-weight: 400;
  color: #8b91b0;
  font-size:12px;
}
.json-code-wrap {
  background: #fff;
    border: 1.5px solid #c6cadcc9;
    border-radius: 10px;
    overflow: hidden;
}

.json-code {
  padding: 16px 18px;
  font-size: 12px;
  line-height: 1.76;
  color: #2c3466;
  overflow-x: auto;
  margin: 0;
  font-family: "SF Mono", Consolas, monospace;
}

.chart-mini {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1.5px solid #c6cadcc9;
  border-radius: 10px;
  padding: 14px 16px;
}
.chart-mini__ylabel { font-size: 11px; color: #8b91b0; margin-bottom: 6px; }
.chart-mini__bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 100px;
  border-left: 1px solid #e2e5f2;
  border-bottom: 1px solid #e2e5f2;
  padding: 0 4px;
}
.bar-group {
  display: flex;
  align-items: flex-end;
  gap: 1px;
  flex: 1;
  height: 100%;
}
.bar { flex: 1; border-radius: 2px 2px 0 0; }
.bar--a { background: #4952b9; }
.bar--b { background: #7AA3F6; }
.bar--c { background: #c7d6fb; }
.chart-mini__xlabels {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  color: #9a9fbd;
  margin-top: 6px;
  padding: 0 4px;
}
.chart-mini__legend {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  font-size: 10px;
  color: #4c5273;
}
.legend-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 2px;
  margin-right: 4px;
}
.legend-dot--a { background: #4952b9; }
.legend-dot--b { background: #7AA3F6; }
.legend-dot--c { background: #c7d6fb; }

.csv-diagram__footer {
  background: var(--indigo);
  border-radius: 0 0 13px 13px;
  text-align: center;
  padding: 26px 20px 20px;
  margin: 0px;
  color: #fff;
}
.footer-headline {
  font-size: 24px;
  font-weight: 800;
  margin: 0 0 8px;
}
.footer-note {
  font-size: 15px;
  color: #cfd0f5;
  margin: 0;
}

@media (max-width: 860px) {
  .csv-diagram__flow { flex-wrap: wrap; }
  .flow-step { flex: 1 1 calc(50% - 6px); }
  .csv-diagram__compare { flex-direction: column;margin-bottom: 0px; }
  .compare-arrow { transform: rotate(90deg); }
  .after-panels { flex-direction: column; }
}


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

  .ai_main_catch {
      font-size: 32px;
}

p.ai_main_catch_serve {
    font-size: 20px;
}

.ai_usage_text_1{
  font-size: 1.8rem;
    width: 100%;
    padding: 12px 4px 14px;
    font-family: 'Noto Sans JP', sans-serif;
}

.ai_usage_text_2 {
    font-size: 23px;
    width: 100%;
    line-height: 1.4;
    /* color: rgb(48 52 68 / 80%); */
    text-align: center;
    font-weight: 800;
    font-family: "Meiryo";
    padding-top: 5px;
  }

  .structure_text1 {
    width: 100%;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 100;
    /* color: #64727e; */
    padding: 0px 0px 5px;
    text-align: center;
}

.feature_mcp_usecase_area {
    margin-top: 0;
    display: grid;
    background: #4952b9;
    box-sizing: border-box;
    height: 100%;
    border-radius: 0 0 15px 15px;
}

.feature-shell {
    border-radius: 16px;
    margin-top: 20px;
}

.tab-bar {
    display: none;
}

.select_box_area {
    width: auto;
    margin: 14px 14px 0;
}

#mcpFeatureSelect {
    font-size: 20px;
}

.tab-panel {
    padding: 24px 18px 30px;
}

.feat-block {
    grid-template-columns: 1fr;
    gap: 24px;
}

.feat-num {
    font-size: 30px;
}

.feat-text h3 {
    font-size: 25px;
    line-height: 1.0;
}

.st_title {
    font-size: 16px;
    line-height: 1.2;
    padding-top: 5px;
}

.feature_result_titlebar {
    font-size: 18px !important;
    padding: 8px 20px;
}

.sales_scene_bubble {
    padding: 12px 18px;
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 10px;
}

.sales_scene_bubble::after {
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 15px solid #fbdcdc;
}

.feat-text .lead {
    font-size: 15px;
    margin-bottom: 16px;
}

.feat-text-sub {
    font-size: 17px;
}

.feat-tag {
    font-size: 13px;
    padding: 5px 12px;
}

.mcpfeat-caption {
    font-size: 14px;
}

.chatbot-scene {
    margin-top: 18px;
}

.chatbot-scene-titlebar {
    padding: 16px 14px;
}

.chatbot-scene-titlebar .chatbot-scene-titlebar-title {
    font-size: clamp(18px, 4%, 22px);
    line-height: 1.45;
}

.chatbot-scene-titlebar-sub {
    display: block;
    margin-top: 2px;
    font-size: clamp(14px, 4vw, 17px);
    font-weight: 100;
}

.aidiag {
    padding: 14px 12px 16px;
}

.aidiag .feature_col_left {
    flex: none;
    width: 100%;
}

.sales_scene_card {
    max-width: 100%;
}

.sales_scene_caption {
    position: static;
    margin-top: 20px;
    width:100%;
}

.sales_scene_caption_title,
.sales_scene_caption_sub {
    white-space: normal;
    text-align: center !important;
}


.sales_scene_caption_title {
font-size:18px;
}


.sales_scene_caption_sub {
font-size:15px;
}


.aidiag .feature_col_center {
    flex: none;
    flex-direction: column;
    width: 100%;
    margin: 0px 0 4px;
}

.aidiag .feature_col_right {
    margin-top: 6px;
}

.feature_video_wrap .feature_video_image_box {
    height: 97%;
    padding: 20px 12px;
}

.sales_scene_cloud_text {
    top: 46%;
    padding-top: 10px;
    padding-bottom: 0px;
    font-size: 17px;
}

.sales_scene_cloud_text span {
    font-size: 19px;
}

.sales_scene_cloud::after {
    top: 50%;
    left: 50%;
    width: 90%;
    height: 90px;
    transform: translate(-50%, 0);
    background: linear-gradient(180deg, rgb(176 180 191 / 55%), rgba(197, 208, 245, 0));
    clip-path: polygon(42% 0%, 58% 0%, 100% 100%, 0% 100%);
}

.sales_mobile_flow {
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    gap: 0px;
    padding: 0;
}

.sales_mobile_flow_col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 150px;
}

.sales_mobile_flow_arrow {
    position: relative;
    display: block;
    width: 14px;
    height: 120px;
}

.sales_mobile_flow_arrow--down {
    background: linear-gradient(180deg, #ffb65700 0%, #c4c8d4 60%, #c1c8d9 100%);
}

.sales_mobile_flow_arrow--down::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -11px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 13px solid #c1c8d9;
}

.sales_mobile_flow_arrow--up {
    background: linear-gradient(180deg, #c1c8d9 0%, #c4c8d4 60%, #ffb65700 100%);
}

.sales_mobile_flow_arrow--up::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -11px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-bottom: 13px solid #c1c8d9;
}

.sales_mobile_flow_bubble {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    box-sizing: border-box;
    padding: 12px 10px;
    background: #D6E3FE;
    border-radius: 8px;
    color: #3d4368;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
    z-index: 3;
}

.mcpfeat-usecase-grid {
    grid-template-columns: 1fr;
    gap: 14px;
}

.mcpfeat-usecase-title {
    font-size: 22px;
}

.mcpfeat-usecase-sub {
    font-size: 19px;
}

.mcpfeat-usecase-desc {
    font-size: 15px;
}

.mcp_security_visual_wrap {
    margin-top: 20px;
    padding: 0px;
    border-radius: 16px;
}

.mcp_security_visual_grid {
    grid-template-columns: 1fr;
    gap: 14px;
}

.mcp_security_visual_card {
    padding: 18px 0px 0px;
}

.mcp_security_visualtxt {
    padding: 15px 0px 20px;
    height: auto;
}

.mcp_security_visual_icon {
    width: 90px;
    height: 90px;
    margin-bottom: 18px;
}

.mcp_security_visual_icon1 {
    width: 110px;
    height: auto;
    margin: 0 auto 24px;
}

.mcp_security_visual_title {
    font-size: 21px;
}

.mcp_security_visual_desc {
    font-size: 15px;
}

.mcp_security_visual_note {
    font-size: 13px;
}

.mcp_scene_step_num {
    width: 26px;
    height: 26px;
    font-size: 18px;
}

.ai_price_card_amt_num {
    font-size: 32px;
}

.sales_scene_body {
    padding: 20px 14px 14px;
}

/* csv-diagram mobile */
.csv-diagram {
    padding: 0px;
    border-radius: 14px;
}

.chatbot-scene-titlebar1 {
    padding: 15px 10px 20px;
}

.chatbot-scene-titlebar1 .chatbot-scene-titlebar1-title {
    font-size: 17px;
    line-height: 1.4;
}

.chatbot-scene1 {
    padding: 25px 15px 20px;
}

.csv-diagram__intro {
    font-size: 15px;
    margin-bottom: 18px;
}

.csv-diagram__question {
    flex-direction: column;
    gap: 10px;
    border-radius: 20px;
    padding: 20px 16px;
    font-size: 16px;
    margin: 0 auto 24px;
    text-align: center;
}

.q-icon-wrap {
    flex-direction: column;
    gap: 2px;
}

.q-icon__arrow {
    margin-left: 0;
    margin-top: -6px;
    border-top: 10px solid var(--indigo);
    border-bottom: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
}

.csv-diagram__flow {
    flex-direction: column;
    gap: 0;
    margin-bottom: 20px;
}

.flow-step {
    flex: none;
    width: 100%;
    padding: 10px 8px;
    font-size: 14px;
    gap: 8px;
    white-space: normal;
}

.flow-step__icon {
    width: 22px;
    height: 22px;
}

.flow-arrow {
    width: 32px;
    height: auto;
    margin: 10px auto;
    transform: rotate(90deg);
}

.compare-arrow {
    width: 60px;
    margin: 10px auto;
}

.compare-card__header {
    font-size: 18px;
    padding: 10px 0;
}

.compare-card__body {
    padding: 16px 16px 18px;
}

.compare-card__lead {
    font-size: 16px;
    margin-bottom: 10px;
}

.compare-card__list {
    font-size: 13px;
    padding-left: 16px;
    margin-bottom: 12px;
}

.broken-table {
    padding: 14px;
    margin-top: 16px;
    margin-bottom: 12px;
}

.broken-table__row {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.chip {
    padding: 6px 10px;
    font-size: 12px;
}

.chip--offset2 {
    margin-left: 12px;
}

.result-line {
   font-size: 15px;
        gap: 8px;
        line-height: 23px;
}

.result-icon {
    width: 24px;
    height: 24px;
}

.mcpfeat-note {
    font-size: 13px;
    line-height: 17px;
}

.after-panels {
    gap: 14px;
    margin-bottom: 14px;
}

.panel-label {
    font-size: 13px;
}

.panel-label-sub {
    font-size: 11px;
}

.json-code {
    font-size: 10px;
    padding: 10px 12px;
}

.chart-mini {
    padding: 10px 10px;
}

.chart-mini__bars {
    height: 70px;
    gap: 2px;
}

.chart-mini__xlabels {
    font-size: 7px;
}

.chart-mini__legend {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 9px;
}

.csv-diagram__footer {
    margin: 0px;
    padding: 20px 16px 16px;
}

.footer-headline {
    font-size: 18px;
    line-height: 1.4;
}

.footer-note {
    font-size: 12px;
}






.sales_scene_cloud{
  flex: 0 0 180px;
}








}

/* Source: sp/footer.css */

footer{
background-color: #3674b7;
margin-top: 25px;
}

.footer_btn_area{
    display:flex;
    list-style:none;
    margin: 0 auto;
    padding: 30px 0 30px;
    justify-content: space-between;
    flex-wrap: wrap;
    width:98%;
}

.mtb10 {
    margin: 10px 0;
    max-width:49%;
}

.mtb10 img{
   width: 100%;
}


.f_all_link{
    width:74%;
    float:right;
    justify-content: space-between;
}

.s1_item{
    display: table;
}

.f_link_s1{
    max-width:100%;
}

.s1_item_left, .s1_item_right{
    padding-right: 25px;
    display: table-cell;
}


.f_link_s2, .f_link_s3{
    max-width:100%;
}

a.mark-logo-link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 35%;
    height: 100%;
}

.pmark{
  position: relative;
}


.useful_title{
  font-size: 45px;
  color: #458be0;
  font-weight: bold;
  text-align: center;
  width:100%;
  margin: 50px auto 5px;
}


.useful_content_area {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 12px;
    align-content: flex-start;
}

.useful_content_img {
    margin: 0;
    text-align: left;
    border: 1px solid #dcdcdc;
    height:auto;
}


.useful_content_item {
  width: 24.2%;
  display: flex;
}

.post-line8-p {
    font-size: 12.2px;
    padding: 8px 10px;
    height: auto;
}


.useful_area{
  border-top: 1px solid #e7e7e7;
  margin-top: 70px;
}


.details_btn_area {
    text-align: right;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}


.details_btn {
    width: 100%;
    max-width: 350px;
    background-color: #2d89ef;
    text-align: center;
    color: #ffffff;
    height: 64px;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    position: relative;
}

.details_btn a {
    color: #ffffff;
    display: flex;
    position: absolute;
    top: 3px;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}


.funcBottom_i_title{
	margin-top: 40px;
}


.func_bottom_interview{
	width: 100%;
	margin: 0 auto;
}


.bottom_navi_title {
    font-size: 19px;
    color: #333333;
    line-height: 18px;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 8px;
    margin-top: 40px;
}

.bottom_navi{
	width: 100%;
  margin: 0 auto;
  padding-top: 0;
  border-top: 1px dotted #cccccc;
  margin-top: 40px;
}




.bottom_navi_menu{
	width:100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
		background-color: #c2d0df;
	}



  	.aws_partner {
  	    border: 1px solid #e0e0e0;
  	    background: #f9f9f9;
  	    padding: 15px;
  			width: 100%;
  			margin: 0 auto;
  			box-sizing: border-box;
  	}

  	.aws_right_area {
      width: 87%;
      font-size: 15px;
      line-height: 17pt;
  }



  .menuList{
    width: 33.33%;
    background: #eaf4ff;
    padding: 15px;
    font-size: 15px;
    box-sizing: border-box;
    border: 1px solid #c2d0df;
  }



  .menuList:nth-child(1) {
      border-right: none;
      border-bottom: none;
  }
  .menuList:nth-child(2){
  	border-right: none;
  	border-bottom: none;
  }

  .menuList:nth-child(3){
  	border-bottom: none;

  }

  .menuList:nth-child(4){
  border-right: none;
  }

  .menuList:nth-child(5){
  border-right: none;
  }

  .menuList:nth-child(6){

  }

  .menuList:nth-child(7),
  .menuList:nth-child(8) {
      border-top: none;
      border-right: none;
  }

  .menuList:nth-child(9){
  	    border-top: none;
        border-right: none;
  }



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


/* shutto デザイン start*/

footer{
    background-color: #3674b7;
    margin-top: 0;
    }


.arrow_icon{
    width: 8px;
    float: right;
    padding-right: 15px;
    opacity: 0.8;
    padding-top: 8px;

}

.sp_f_li{
    padding: 15px 0px 15px 25px;
    border: 1px solid #CCCCCC;
    border-width: 0 0 1px 0;
}
.sp_f_li_n{
    padding: 15px 0px 15px 20px;
    border: 1px solid #CCCCCC;
    border-width: 0 0 1px 0;
}

.footer_link{
    padding: 0.25em 0 0.25em 0;
    position: relative;
    display: block;
    color: inherit;
    text-decoration: inherit;
}

/* shutto デザイン end*/


    .footer_btn_area{
        padding: 15px 0;
    }

    .f_all_link{
        width:100%;
        justify-content: flex-start;
    }

    .s1_item_left {
        margin-right: 3em;
    }

    .f_link_s1{
        max-width:100%;
    }

    .f_link_s2, .f_link_s3{
        max-width:100%;
    }

    .f_link_s2{
        margin-right:3vw;
    }

}





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

    .s1_item_left {
        margin-right: 0;
    }

    .f_link_s1{
        max-width:100%;
    }

    .f_link_s2, .f_link_s3{
        max-width:100%;
    }

    #banner{
        display: none !important;
    }

}


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


.mtb10 {
  margin: 3px 0;
  max-width: 100%;
}

.useful_content_item {
  width: 49.2%;
}


.useful_area{
  border-top: 1px solid #e7e7e7;
  margin-top: 40px;
}

.useful_title {
    font-size: 3rem;
    margin: 40px auto 5px;
}

.footer_interview_btn img{
  width:100%;
}


.aws_partner{
    width: 100%;
}

.menuList{
  width: 50%;
  border: 1px solid #c2d0df;
  text-indent: 0;
  padding-left: 12px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.menuList:nth-child(2),
.menuList:nth-child(4)  {
    border-right: 1px solid #c2d0df;
    border-bottom: none;
}

.menuList:nth-child(3) {
    border-bottom: none;
    border-right: none;
}

.menuList:nth-child(6){
      border-right: 1px solid #c2d0df;
}

.menuList:nth-child(8){
   border-right: 1px solid #c2d0df;
}

.menuList:nth-child(9){
border-right: none;
}

.bottom_navi_menu {
    background-color: #d6e1ed;
}

.bottom_navi {
    width: 100%;
}




}


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

    .s1_item_left{
        padding-right: 10px;

    }

    .s1_item_right{
        padding-right: 0;
    }

}

/* Source: sp/header.css */
* {
	margin:0;
	padding:0;
}


html {
	font-size: 62.5%;
	}


body {
    /* font-family: "Meiryo"; */
    font-family:'Meiryo','メイリオ','Hiragino Sans','Hiragino Kaku Gothic Pro',sans-serif !important;

	font-size: 12px;
	color: #666666;
	word-break: break-all;
    font-size: 1.6em;
    overflow-x: hidden!important;
}


img {
	border: 0
}

A:link {color: #0054a6; text-decoration: none}
A:visited {color: #0f76cc; text-decoration: none}
A:active {color: #0054a6; text-decoration: none}
A:hover {color: #2d8ae5; text-decoration: underline}

h1{
    font-weight: lighter;
    font-size: 12px;
    color: #5c5c5c;
	padding: 3px 0px 0px;
	font-size: 5rem; /* 50px */
}

p{
	font-size: 1.5rem; /* 15px */
	}


h1.title-txt-h1{
    font-weight: lighter;
    font-size: 11px;
    color: #5c5c5c;
	line-height:15px;
    padding: 3px 0px 0px 1px;
}

h1.lp_title_txt{
	font-size: 1.4em;
    color: #5c5c5c;
}

h3{
    line-height:20px;
}

h4 {
    margin-bottom:10px;
}

h6 {
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 4px;
    color: #444;
    line-height: 41px;
}


ol{
	list-style: none;
	margin:0;
	padding:0;

}



.top-header {
    max-width: 100%;
    margin: 4px auto 5px;
    height: 65px;
		clear: both;

}

.header-logo a img{
    width: 185px;
		height:59px;
}

.header-logo-text{
	font-size: 13.5px;
	margin: 30px 0 0 0px;
	line-height: 15px;
	float: right;
	margin-left: 4px;
  }


.bread {
    padding: 20px 0;
}

#header-menu a{
	padding: 14px 0px 12px;
	display: block;
    text-decoration: none;
    font-size: 16px;
    margin-left: 0.5px;
}
#header-menu a:hover {
color: #000000 !important;
text-decoration: none;
background-color: #eeeeee;
transition: 0.2s;
cursor: pointer;
}

#header-menu a:visited{
color: #000000;
}

#header-menu a:link{
color: #000000;
}

#header-menu ul{
display: flex;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
width: 100%;
list-style: none;
font-size: 16px;
margin: 0 auto;
padding: 0;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
color: #000000;
box-sizing: border-box;
border: 1px solid #b0b0b0;
background: -moz-linear-gradient(to bottom, #ffffff, #dbdbdb);
background: -webkit-linear-gradient(to bottom, #ffffff, #dbdbdb);
background: linear-gradient(to bottom, #ffffff, #dbdbdb);
margin-left: -1px;
}

#header-menu ul li{
width: 100%;
margin: 0 auto;
text-align: center;
border-top-width: 0px;
border-bottom-width: 0px;
border-right-width: 1px;
border-left-width: 0px;
border-style: solid;
-moz-border-image: -moz-linear-gradient(to bottom, #ffffff 0%, #afafaf 100%);
-webkit-border-image: -webkit-linear-gradient(to bottom, #ffffff 0%, #afafaf 100%);
border-image: linear-gradient(to bottom, #ffffff 0%, #afafaf 100%);
border-image-slice: 1;
-webkit-border-image-slice: 1;
box-shadow: inset 0.5px -0.5px 0px #ffffff;
}

#header-menu > ul > li {
position: relative;
}

#header-menu > ul ul {
opacity: 0;
visibility: hidden;
position: absolute;
top: 120px;
margin: 0;
padding: 0;
z-index: -1;
	display: block;
}

/* #header-menu > ul li:hover ul {
opacity: 1;
visibility: visible;
margin: 0;
color: #000;
z-index: 2;
top: 50px;
left: -1px;
width: 158px;
} */

#header-menu > ul ul:before {
content: "";
position: absolute;
top: -10px;
width: 100%;
height: 20px;
background: transparent;
}

#header-menu > ul ul li {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	box-shadow: inset 0px 1px 0px #e1e1e1;
	-moz-box-shadow: inset 0px 1px 0px #e1e1e1;
	-webkit-box-shadow:inset 0px 1px 0px #e1e1e1;
	box-sizing: border-box;
	background-color: #fcfcfc;
	border-image-slice: inherit;
}

#header-menu > ul ul li a {
padding: 14px 5px;
display: block;
color: white;
font-size: 14px;
text-decoration: none;
text-transform: uppercase;
width: auto;
-webkit-transition: all 0.35s ease-in-out;
-moz-transition: all 0.35s ease-in-out;
-ms-transition: all 0.35s ease-in-out;
transition: all 0.1s ease-in-out;
}

#header-menu > ul ul li a:hover {
background-color: #eeeeee;
}



i.fas.fa-caret-down {
margin-left: 5px;
}


a.menu_link_sub.selected {
background: #eeeeee;
color: #ffffff;
text-decoration: none;
}




/*  */

.navToggle {
    display: none;
    position: fixed;
    right: 1.3rem;
    top: 1.3rem;
    width: 52px;
    height: 42px;
    cursor: pointer;
    z-index: 5;
    text-align: center;
    border: 1px solid #d6d6d6;

}

.navToggle span {
    display: block;
    position: absolute;
    width: 25px;
    border-bottom: solid 3px #3e3e3e;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 14px;


}

.navToggle span:nth-child(1) {
    top: 12px;
}

.navToggle span:nth-child(2) {
    top: 19px;
}

.navToggle span:nth-child(3) {
    top: 26px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}



.m_sp{
    display: none;
}

.sp_navi{
    display: none !important;
}



@media screen and (min-width: 1025px) {
    #header-menu > ul li:hover ul {
        opacity: 1;
        visibility: visible;
        margin: 0;
        color: #000;
        z-index: 2;
        top: 50px;
        left: -1px;
        width: 158px;
        }



}



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

    .m_pc{
        display: none !important;
    }
    .m_sp{
        display: block !important;
    }

    .pc_navi{
        display: none !important;
    }

    .sp_navi{
        display: block !important;
    }

#header-menu ul{
    display: block;
    max-width: 100%;
    overflow: hidden;
    border:none;
    background-color: none;
}

#header-menu ul li{
text-align: left;
padding-left:0;
background: #494949;
box-shadow: inset 0.5px -0.5px 0px #494949;
}






#header-menu > ul ul{
    width: 100%;
    opacity: 1;
    visibility: visible;
    margin: 0;
    color: #000;
    z-index: 2;
    left: 0px;
    position: relative;
    top: 0;
    display: none;
}

#header-menu a:link{
    color: #ffffff;
}


.has-sub span{
    float:right;

}

#header-menu a{
    padding: 16px 21px 16px 25px;
    border-bottom:1px solid #CCCCCC;
    color: #ffffff!important;
    font-size: 16px;
}


#header-menu a:nth-child(12){
    border-bottom:none;
}

.menu_link_sub {
    box-shadow: inset #c5c1c136 0px 2px 5px -3px;
}




#header-menu > ul ul li a {
    background: #fcfcfc;
    border-bottom: 1px solid #e6e6e6;
    padding-left: 20px !important;
}

#header-menu > ul ul li a:hover {
    background: #fcfcfc;

}


#header-menu a:hover{
    color: #ffffff !important;
    background-color: #494949;
}

.header-serve-menu, .bread{
        display: none;
    }

#top-head{
    height: 56px;
    padding:0;
}

.top-header{
    /* position: fixed; */
    position: relative;
    max-width: 100%;
    z-index: 99999;
    background-color: #ffffff;
    margin: 0;
    padding:10px;
    max-height: 4.9rem;
    border-bottom: 1px solid #e6e6e6;
}

.header-logo {
    margin-left: -1px;
    float: left;
    width: 50%;
}

.navToggle {
    display: block;
    position: absolute;
    z-index: 99999;
    border-radius: 3px;
}

.header-logo{
    width: 80%;
		padding-top:0 !important;
}


.header-logo a img {
    width: 15rem;
    float: left;
    margin-right:5px;

}
.header-logo-text {
    width: 45%;
    float: left;
    margin: 0;
    padding: 2.7rem 18px 0;

}

.header-logo a {
    margin-right: 0px;
}


#navimenu {
    /* position: fixed; */
    top: 7rem;
    right: 0;
    z-index: 4;
    max-width: 100%;
    padding-top: 13%;
    /* border: 2px solid #000066; */
    /* transition: 0.5s; */
    overflow: auto;
    box-sizing: border-box;
    background-color: #000066e6;
}


ul.nav_menu {
    color: #ffffff;
}
.nav_menu  {
    transform: translateY(-130%);
    display: block;
}

.nav_menu.active {
    transform: translateY(0);
    /* transition: 0.5s; */
    max-width: 100%;
    position: absolute !important;
    background-color: #ffffff;
    top: 0;
    z-index: 9999;
    overflow: hidden;

}

.menu_link_sub span {
    display: none;
}

a.menu_link_sub:after {
    content: "▸";
    padding-right: 8px;
    position: absolute;
    right: 2px;
}


 a.menu_link_sub.open:after {
    content: "▾";
    padding-right: 8px;
    position: absolute;
    right: 2px;
}

/* .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
  }

 .black-bg {
    opacity: .8;
    visibility: visible;
  } */


}


@media screen and (max-width: 768px) {
    .header-logo-text{
        display:none;
    }
}


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



}


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

}

/* Source: directcloud_ai_v2.css */
:root {
  color-scheme: light;
  font-family: "Noto Sans JP", "Yu Gothic", Meiryo, Arial, sans-serif;
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  color: #262b34;
  background: #fff;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  cursor: pointer;
}
img {
  max-width: 100%;
  height: auto;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
::selection {
  background: #4952b9;
  color: #fff;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #6976ef;
  outline-offset: 4px;
}
.contact {
  border: 1px solid transparent;
}
.source-figure {
  margin: 0;
}
.source-figure img {
  display: block;
}

.link-arrow-icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -.125em;
  flex: none;
}
.pc_on {
  display: initial;
}
.sp_on {
  display: none;
}
@media (max-width: 768px) {
  .pc_on {
    display: none;
  }
  .sp_on {
    display: initial;
  }
  #page_top {
    display: none !important;
  }
}
:root {
  --brand: #2e6efe;
  --navy: #0a1735;
  --body: #43516b;
  --rule: #dbe2ed;
  --pale: #f3f6fb;
  --content: 1240px;
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}
body {
  background: white;
}
[hidden] {
  display: none !important;
}
.container {
  width: min(var(--content), 86%);
  margin: auto;
}
.section {
  padding: 110px 0;
  color: var(--navy);
  background: #fff;
}
.section h2 {
  font-size: clamp(32px, 3.7vw, 54px);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: 1.5;
  margin: 0;
}
.section p {
  color: var(--body);
  font-size: 16px;
  line-height: 1.95;
}
.section h3 {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: -.02em;
}
.section-kicker {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0em;
  color: var(--brand);
}
.section-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 32px;
}
.section-side {
  font-size: 11px;
  letter-spacing: .12em;
  color: #7b879b;
}
.section-heading {
  margin-bottom: 48px;
}
.split-heading {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: center;
  gap: 7%;
}
.split-heading>p {
  margin: 0;
  line-height: 2.1;
}
.blue-text {
  color: var(--brand);
}
.text-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  padding: 14px 0;
  border-bottom: 1px solid #7790b3;
  font-size: 14px;
  color: var(--navy);
}
.text-link:hover {
  color: var(--brand);
  border-color: var(--brand);
}
.text-link.light {
  color: #fff;
  border-color: #6a81a5;
}
.fine-print {
  font-size: 12px !important;
  line-height: 1.85 !important;
  color: #6b7890 !important;
}
.section sup {
  font-size: 10px;
  vertical-align: super;
}
.hero {
  height: calc(100svh - 86px);
  min-height: 740px;
  max-height: 1120px;
}
.copy {
  padding-top: clamp(140px, 18vh, 245px);
}
.hero .eyebrow {
  font-size: 16px;
}
.hero-bottom {
  bottom: 45px;
}
.visual-label {
  bottom: 55px;
}
.example {
  bottom: 135px;
}
.hero .chapter-en {
  font-size: 11px;
}
.hero .example-note {
  font-size: 12px;
}
.hero .question-label,
.hero .answer-label,
.hero .source-label,
.hero .search-status {
  font-size: 12px;
}
.value-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 58px;
  margin-bottom: 62px;
}
.value-grid article {
  border-top: 1px solid var(--rule);
  padding-top: 23px;
}
.value-index {
  font-size: 13px;
  color: var(--brand);
}
.value-grid h3 {
  font-size: 21px;
  margin: 18px 0 10px;
}
.value-grid p {
  font-size: 14px;
  line-height: 1.95;
  margin: 0 0 23px;
  max-width: 325px;
}
.value-tag {
  font-size: 12px;
  letter-spacing: .02em;
  color: var(--brand);
}
.platform {
  border: 1px solid var(--rule);
  background: #f7f9fd;
  padding: 28px 32px 36px;
}
.platform-caption {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  padding-bottom: 27px;
  color: #384964;
}
.platform-caption>span:last-child {
  font-size: 12px;
  color: #667896;
}
.platform-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  align-items: center;
  gap: 27px;
}
.diagram-label {
  font-size: 12px;
  color: #6c7c97;
  display: block;
  margin-bottom: 14px;
}
.platform-sources>div,
.platform-output>div {
  padding: 15px 0;
  border-bottom: 1px solid var(--rule);
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
.platform-sources>div>span,
.platform-output>div>span {
  font-size: 11px;
  color: #7485a1;
}
.platform-core {
  position: relative;
  border: 1px solid #b6caf4;
  background: #fff;
  text-align: center;
  padding: 28px 18px 0;
  box-shadow: 0 10px 30px #1c58b707;
}
.platform-core:before,
.platform-core:after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  width: 28px;
  background: #9fb9e8;
  right: 100%;
}
.platform-core:after {
  right: auto;
  left: 100%;
}
.platform-core img {
  max-width: 80%;
  height: auto;
}
.platform-core p {
  font-size: 13px;
  margin: 17px 0;
}
.core-tags {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.core-tags>span {
  font-size: 11px;
  background: #edf3fe;
  padding: 5px 9px;
  color: #436296;
}
.core-ai {
  background: var(--brand);
  color: #fff;
  font-size: 20px;
  margin: 22px -18px 0;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.core-ai span {
  font-size: 11px;
}
.mcp-section {
  background: #06142e;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.mcp-section .section-kicker {
  color: #88baff;
}
.mcp-section .section-side {
  color: #7f97bd;
}
.mcp-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11%;
  align-items: center;
  margin-top: 50px;
}
.mcp-copy h2 {
  font-size: clamp(38px, 4.1vw, 62px);
  line-height: 1.45;
  letter-spacing: -.05em;
}
.mcp-copy h2>span {
  color: #76b4ff;
}
.mcp-copy>p {
  color: #bac9df;
  font-size: 15px;
  line-height: 2.1;
  margin: 28px 0 21px;
}
.ai-clients {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.ai-clients>span {
  background: #102546;
  border: 1px solid #3c5579;
  text-align: center;
  padding: 21px 7px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.025em;
}
.ai-clients sup {
  font-size: 10px;
  margin-left: 3px;
  color: #acbed8;
}
.connection-line {
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  letter-spacing: .15em;
  color: #aacbff;
  position: relative;
}
.connection-line:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  width: 1px;
  background: #5994f2;
}
.connection-line>span {
  background: #06142e;
  z-index: 1;
  padding: 4px 8px;
}
.mcp-gateway {
  padding: 24px;
  background: #fff;
  border-top: 3px solid #5894ff;
  color: var(--navy);
}
.gateway-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.gateway-title img {
  height: auto;
  max-width: 48%;
}
.gateway-title span {
  font-size: 13px;
  white-space: nowrap;
}
.gateway-policies {
  display: flex;
  gap: 8px;
  margin: 20px 0;
}
.gateway-policies span {
  flex: 1;
  text-align: center;
  background: #edf3fc;
  color: #3c5d90;
  padding: 8px 4px;
  font-size: 12px;
}
.gateway-files {
  display: flex;
  gap: 12px;
  padding-top: 15px;
  border-top: 1px solid var(--rule);
  flex-wrap: wrap;
  color: #657894;
  font-size: 12px;
}
.prompt-example {
  border-left: 2px solid #5d9cff;
  margin-top: 24px;
  padding: 5px 0 5px 21px;
}
.small-label {
  font-size: 12px;
  color: #8ba4c9;
}
.prompt-example p {
  color: #fff;
  font-size: 20px;
  line-height: 1.9;
  margin: 10px 0 9px;
}
.prompt-foot {
  font-size: 12px;
  letter-spacing: .015em;
  color: #94bae9;
}
.mcp-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 65px;
  padding-top: 30px;
  border-top: 1px solid #344761;
}
.mcp-bottom>div>span {
  color: #7dacde;
  font-size: 12px;
  margin-right: 16px;
}
.mcp-bottom strong {
  font-size: 16px;
  font-weight: 500;
}
.mcp-bottom p {
  font-size: 13px;
  color: #aebfd8;
  line-height: 1.8;
  margin: 13px 0 0;
}
.dark-note {
  color: #8ba0bf !important;
  margin-top: 30px;
  max-width: 1050px;
}
.features-section {
  padding-bottom: 95px;
}
.feature-tabs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 1px solid #cfdaeb;
  gap: 14px;
}
.feature-tabs button {
  font-size: 14px;
  color: #5e6d86;
  padding: 16px 4px 21px;
  display: flex;
  gap: 11px;
  justify-content: center;
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
}
.feature-tabs button>span {
  font-size: 11px;
  color: #92a3bd;
  line-height: 22px;
}
.feature-tabs button[aria-selected=true] {
  color: var(--brand);
  border-color: var(--brand);
}
.feature-tabs button:hover {
  background: #f3f6fc;
}
.feature-panel {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 7%;
  padding: 48px 0 0;
  align-items: center;
  min-height: 480px;
}
.feature-english {
  color: var(--brand);
  font-size: 12px;
  letter-spacing: .08em;
}
.feature-copy h3 {
  font-size: 32px;
  margin: 18px 0 18px;
  line-height: 1.55;
  letter-spacing: -.045em;
}
.feature-copy>p {
  font-size: 15px;
  line-height: 1.95;
  margin: 0 0 20px;
}
.feature-points {
  list-style: none;
  padding: 0;
  margin: 25px 0 10px;
  font-size: 14px;
  line-height: 2.25;
  color: #263e62;
}
.feature-points li {
  padding-left: 24px;
  position: relative;
}
.feature-points li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--brand);
  font-size: 12px;
}
.feature-demo {
  background: #f2f6fc;
  border: 1px solid #dce5f3;
  padding: 0 24px 24px;
  min-height: 375px;
}
.demo-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin: 0 -24px 25px;
  padding: 16px 21px;
  border-bottom: 1px solid #d9e4f2;
  color: #61738e;
  font-size: 12px;
}
.demo-toolbar>span:first-child {
  color: #17325b;
  font-size: 13px;
  font-weight: 600;
}
.sample-question {
  background: #e1edff;
  padding: 15px 18px;
  font-size: 14px;
  color: #244d83;
  margin-left: 35px;
  border-radius: 8px 0 8px 8px;
  line-height: 1.85;
}
.sample-answer {
  margin-top: 20px;
  background: #fff;
  padding: 23px 22px;
  border: 1px solid #e2e8f2;
}
.answer-eyebrow {
  font-size: 10px;
  letter-spacing: .14em;
  color: var(--brand);
}
.sample-answer h4 {
  font-size: 16px;
  font-weight: 500;
  margin: 15px 0 20px;
  line-height: 1.7;
}
.search-result {
  display: flex;
  gap: 15px;
  align-items: center;
  font-size: 13px;
  margin: 17px 0;
}
.search-result>b {
  font-size: 12px;
  color: #74a6e3;
  font-weight: 400;
}
.search-result small {
  display: block;
  color: #8591a7;
  font-size: 12px;
  margin-top: 5px;
}
.source-chips {
  display: flex;
  gap: 8px;
  border-top: 1px solid #e5ebf4;
  padding-top: 15px;
  font-size: 11px;
}
.source-chips>span {
  padding: 5px 8px;
  background: #f1f5fc;
  color: #5d7dad;
}
.chat-support-title {
  font-size: 14px;
  margin: 0 0 16px;
  color: #537195;
}
.chat-bubble {
  padding: 16px;
  background: #fff;
  font-size: 14px;
  line-height: 1.9;
  max-width: 90%;
  margin: 12px 0;
  border: 1px solid #dfe7f4;
  border-radius: 0 8px 8px 8px;
}
.chat-bubble small {
  font-size: 11px;
  color: #7a90ae;
}
.chat-bubble ol {
  padding-left: 24px;
  margin: 9px 0;
}
.user-bubble {
  background: #dfeeff;
  margin-left: auto;
  border-radius: 8px 0 8px 8px;
  color: #254c83;
}
.rag-pipeline {
  text-align: center;
}
.rag-step {
  font-size: 10px;
  letter-spacing: .12em;
  color: #7287a9;
}
.rag-pipeline h4 {
  font-size: 15px;
  margin: 7px 0 12px;
  font-weight: 500;
}
.mini-table {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  font-size: 12px;
  border-left: 1px solid #d5dfef;
  border-top: 1px solid #d5dfef;
  background: #fff;
}
.mini-table span {
  padding: 8px;
  border-right: 1px solid #d5dfef;
  border-bottom: 1px solid #d5dfef;
}
.mini-table span:nth-child(-n+3) {
  background: #e5eefc;
  color: #42689c;
}
.pipeline-arrow {
  display: block;
  color: #88a8d7;
  margin: 9px;
}
.rag-structure {
  background: #fff;
  border: 1px solid #e1e7f0;
  padding: 10px;
}
.rag-structure h4 {
  margin-bottom: 4px;
}
.rag-result {
  display: flex;
  gap: 12px;
}
.rag-result>span {
  flex: 1;
  background: #2e6efe;
  color: #fff;
  padding: 12px 8px;
  font-size: 13px;
}
.vlm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.vlm-grid article {
  background: #fff;
  border: 1px solid #e1e8f2;
  padding: 22px 15px;
}
.vlm-grid article>span {
  color: var(--brand);
  font-size: 11px;
}
.vlm-grid h4 {
  font-size: 18px;
  margin: 10px 0;
}
.vlm-grid p {
  font-size: 12px;
  line-height: 1.7;
  margin: 0;
}
.demo-small-note {
  font-size: 11px !important;
  margin-bottom: 0;
}
.security-stack>div {
  position: relative;
  padding: 5px 0 19px 38px;
  margin-bottom: 13px;
  border-bottom: 1px solid #d6e0ee;
}
.security-stack>div:last-child {
  margin: 0;
  border: 0;
  padding-bottom: 0;
}
.security-stack>div>span {
  position: absolute;
  top: 10px;
  left: 0;
  font-size: 12px;
  color: #75a4ea;
}
.security-stack h4 {
  font-size: 17px;
  margin: 0 0 5px;
  font-weight: 500;
}
.security-stack p {
  font-size: 13px;
  margin: 0;
}
.use-section {
  background: #f2f6fc;
}
.case-tabs {
  display: flex;
  gap: 12px;
  border-bottom: 1px solid #cfdaeb;
  padding-bottom: 16px;
  margin-top: 45px;
}
.case-tabs>button {
  flex: 1;
  border: 1px solid #d5dfed;
  background: transparent;
  color: #6b7890;
  padding: 15px 7px;
  font-size: 14px;
}
.case-tabs>button[aria-selected=true] {
  background: #0e2345;
  color: #fff;
  border-color: #0e2345;
}
.case-tabs>button:hover:not([aria-selected=true]) {
  border-color: #547cc3;
  color: #285fc6;
}
.tab-select-wrap {
  display: none;
  position: relative;
}
.tab-select-wrap:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #5e6d86;
  border-bottom: 2px solid #5e6d86;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.tab-select {
  box-sizing: border-box;
  width: 100%;
  padding: 14px 40px 14px 16px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--navy);
  background: #fff;
  border: 1px solid #cfdaeb;
  border-radius: 10px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.case-panel {
  display: grid;
  grid-template-columns: 1fr 1.12fr;
  gap: 6%;
  align-items: stretch;
  margin-top: 32px;
}
.case-copy {
  padding: 30px 0;
}
.case-english {
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--brand);
}
.case-copy h3 {
  font-size: 33px;
  line-height: 1.55;
  letter-spacing: -.05em;
  margin: 22px 0;
}
.case-copy p {
  font-size: 15px;
  max-width: 430px;
}
.case-data {
  display: block;
  color: #6d82a2;
  font-size: 12px;
  margin-top: 29px;
}
.case-question {
  background: #fff;
  border: 1px solid #d7e2f1;
  padding: 34px 34px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.case-question>span {
  font-size: 12px;
  color: #8797af;
}
.case-question blockquote {
  font-size: clamp(21px, 2.2vw, 30px);
  letter-spacing: -.045em;
  color: #163663;
  margin: 25px 0 35px;
  line-height: 1.75;
}
.case-outcome {
  border-top: 1px solid #dfe6f1;
  padding-top: 19px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.case-outcome>b {
  color: var(--brand);
  font-size: 11px;
  white-space: nowrap;
  font-weight: 400;
  line-height: 2.1;
}
.case-outcome>p {
  font-size: 13px;
  line-height: 1.9;
  margin: 0;
}
.use-section>.container>.fine-print,
.features-section>.container>.fine-print {
  margin-top: 22px;
}
.agent-section {
  padding-bottom: 105px;
}
.development {
  background: #eff3fb;
  padding: 7px 11px;
  color: #6e7c92;
  font-size: 11px;
}
.agent-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.agent-grid article {
  border: 1px solid var(--rule);
  padding: 28px 28px 25px;
}
.agent-card-top {
  display: flex;
  justify-content: space-between;
  color: #8090a9;
  font-size: 12px;
}
.agent-card-top span:first-child {
  color: var(--brand);
  font-size: 11px;
  letter-spacing: .09em;
}
.agent-grid h3 {
  font-size: 19px;
  margin: 24px 0 18px;
}
.agent-prompt {
  background: #f3f6fc;
  padding: 20px;
  font-size: 15px;
  line-height: 2;
  color: #27456e;
}
.action-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  gap: 10px;
}
.action-steps>li {
  font-size: 12px;
  color: #445a7b;
  position: relative;
}
.action-steps>li>span {
  display: block;
  font-size: 11px;
  color: #80a4d9;
  border-top: 1px solid #cfdbed;
  padding-top: 11px;
  margin-bottom: 8px;
}
.security-section {
  background: #f5f8fc;
}
.security-layout {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 9%;
}
.security-intro h2 {
  font-size: clamp(32px, 3.4vw, 48px);
  margin-top: 27px;
}
.security-intro>p {
  font-size: 15px;
  line-height: 2.1;
  margin-top: 24px;
}
.security-seal {
  border-top: 1px solid #d1dced;
  margin-top: 40px;
  padding-top: 25px;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.security-seal img {
  height: auto;
  max-width: 180px;
}
.security-seal span {
  font-size: 10px;
  letter-spacing: .2em;
  color: #6f8cb7;
}
.security-list article {
  display: flex;
  gap: 22px;
  padding: 23px 0;
  border-top: 1px solid #d2ddec;
}
.security-list article:first-child {
  border-top: 0;
}
.security-list article>span {
  font-size: 12px;
  color: var(--brand);
  padding-top: 0px;
}
.security-list h3 {
  font-size: 18px;
  margin: 0 0 8px;
  font-weight: 500;
}
.security-list p {
  font-size: 14px;
  line-height: 1.9;
  margin: 0;
}
.plan-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.plan {
  border: 1px solid #d8e1ef;
  padding: 27px 18px 18px;
  background: #fff;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.plan-audience {
  font-size: 12px;
  color: #8593aa;
}
.plan h3 {
  font-size: 27px;
  font-family: Arial, sans-serif;
  letter-spacing: -.025em;
  margin: 18px 0 4px;
}
.plan h3 sup {
  font-size: 10px;
  margin-left: 4px;
  vertical-align: top;
  line-height: 2;
}
.plan-size {
  font-size: 11px;
  color: #8b98ac;
  line-height: 1.7;
}
.plan-price {
  font-size: clamp(24px, 2.15vw, 31px);
  letter-spacing: -.055em;
  font-weight: 600;
  margin: 26px 0 20px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.plan-price>small {
  display: block;
  margin-top: 6px;
  color: #8e99ac;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
}
.plan>p {
  font-size: 13px;
  line-height: 1.85;
  margin: 0 0 24px;
}
.plan-credit {
  padding: 17px 0;
  border-top: 1px solid #e1e8f2;
}
.plan-credit b {
  font-size: 17px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  display: block;
}
.plan-credit>span {
  font-size: 11px;
  color: #8a98af;
  display: block;
  margin-top: 5px;
}
.plan>a {
  border: 1px solid #c9d7ed;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  padding: 12px 11px;
  margin-top: auto;
  color: #365f9f;
}
.plan>a:hover {
  background: #eef4ff;
}
.plan-featured {
  border: 1px solid var(--brand);
  box-shadow: inset 0 3px 0 var(--brand);
  background: #f5f8ff;
}
.plan-featured h3 {
  color: var(--brand);
}
.plan-featured>a {
  background: var(--brand);
  border-color: var(--brand);
  color: white;
}
.plan-featured>a:hover {
  background: #1858e3;
}
.plan-important {
  font-size: 12px !important;
  line-height: 1.9 !important;
  margin-top: 20px;
  max-width: 950px;
}
.price-details {
  border-top: 1px solid #cbd7e9;
  border-bottom: 1px solid #cbd7e9;
  margin: 32px 0 22px;
}
.price-details>summary {
  list-style: none;
  padding: 22px 5px;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.price-details>summary::-webkit-details-marker {
  display: none;
}
.price-details>summary>span {
  font-size: 19px;
  color: var(--brand);
}
.price-details[open]>summary>span {
  transform: rotate(45deg);
}
.table-scroll {
  overflow-x: auto;
  margin-bottom: 26px;
  scrollbar-color: #9fb8dc #edf2fa;
}
.comparison-table {
  border-collapse: collapse;
  min-width: 880px;
  width: 100%;
  font-size: 12px;
  text-align: center;
}
.comparison-table th,
.comparison-table td {
  border-bottom: 1px solid #dae3f0;
  border-right: 1px solid #e6ecf5;
  padding: 16px 12px;
  line-height: 1.8;
}
.comparison-table thead th {
  background: #edf3fd;
  color: #265993;
  font-size: 14px;
  white-space: nowrap;
}
.comparison-table thead th:first-child {
  text-align: left;
  min-width: 230px;
}
.comparison-table tbody th {
  text-align: left;
  font-weight: 400;
  min-width: 230px;
  background: #f9fbfe;
}
.comparison-table td:nth-child(5),
.comparison-table thead th:nth-child(5) {
  background: #edf3ff;
}
.comparison-table .table-group th {
  background: #e8eef8;
  font-size: 12px;
  color: #436594;
  font-weight: 600;
}
.table-group th {
  text-align: left;
}
.price-notes p {
  font-size: 11px;
  line-height: 1.9;
  color: #8490a4;
  margin: 5px 0;
}
.faq-section {
  border-top: 1px solid #e2e8f1;
}
.faq-layout {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 8%;
}
.faq-layout h2 {
  font-size: 36px;
  margin: 22px 0;
}
.faq-layout>div:first-child>p {
  font-size: 14px;
  line-height: 2;
}
.faq-layout .text-link {
  margin-top: 12px;
}
.faq-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 25px;
}
.faq-filters button {
  font-size: 12px;
  padding: 10px 16px;
  border: 1px solid #d9e2f0;
  color: #7184a1;
  background: #fff;
}
.faq-filters button[aria-pressed=true] {
  background: #12294c;
  border-color: #12294c;
  color: #fff;
}
.faq-list details {
  border-top: 1px solid #dce4f0;
}
.faq-list details:last-child {
  border-bottom: 1px solid #dce4f0;
}
.faq-list summary {
  display: flex;
  gap: 19px;
  align-items: flex-start;
  list-style: none;
  cursor: pointer;
  padding: 23px 2px;
  font-size: 14px;
  line-height: 1.9;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-q {
  color: var(--brand);
  font-size: 13px;
  flex: 0 0 13px;
  line-height: 2;
}
.faq-plus {
  margin-left: auto;
  font-size: 17px;
  color: #7e94b4;
  flex: 0 0 16px;
}
.faq-list details[open] .faq-plus {
  transform: rotate(45deg);
}
.faq-answer {
  padding: 0 30px 24px 34px;
  color: #586e8c;
  font-size: 13px;
  line-height: 2;
  overflow-wrap: anywhere;
}
.faq-answer p {
  font-size: 13px;
  line-height: 2;
  color: #586e8c;
  margin: 0 0 12px;
}
.faq-answer a {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.faq-answer ul {
  padding-left: 20px;
}
.faq-answer ul>li {
  margin-bottom: 7px;
}
.closing-section {
  background: #0b2252;
  color: #fff;
  padding: 90px 0 98px;
}
.closing-section .section-kicker {
  color: #9bc0ff;
}
.closing-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5%;
  align-items: center;
  margin-top: 30px;
}
.closing-layout h2 {
  font-size: clamp(35px, 3.8vw, 55px);
  line-height: 1.5;
  letter-spacing: -.05em;
  margin: 0;
  font-weight: 500;
}
.closing-layout p {
  color: #b9ccec;
  font-size: 15px;
  line-height: 2;
  margin: 0 0 26px;
}
.closing-actions {
  display: flex;
  gap: 14px;
}
.button-primary,
.button-secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 18px 22px;
  font-size: 14px;
  background: var(--brand);
  border: 1px solid var(--brand);
  color: #fff;
}
.button-secondary {
  border-color: #8da7ce;
  background: transparent;
}
.button-primary:hover {
  background: #5188ff;
}
.button-secondary:hover {
  background: #ffffff12;
}
.footer-top {
  display: flex;
  align-items: center;
  gap: 40px;
  padding-bottom: 35px;
}
.footer-top img {
  width: 190px;
  height: auto;
  display: block;
}
.footer-top nav {
  display: flex;
  gap: 25px;
  font-size: 12px;
  color: #5a6e8c;
}
.back-top {
  font-size: 11px;
  color: #8596b1;
  margin-left: auto;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e1e7f0;
  padding-top: 20px;
  color: #8c9bb1;
  font-size: 11px;
}
.footer-top a:hover,
.footer-bottom a:hover {
  color: var(--brand);
}
.section :focus-visible,
.header :focus-visible,
.site-footer :focus-visible {
  outline: 2px solid #2e6efe;
  outline-offset: 5px;
}
@media (min-width: 1800px) {
  .hero .copy h1 {
    font-size: 88px;
  }
  .hero .example {
    bottom: 155px;
  }
  .container {
    --content: 1360px;
  }
  .feature-panel {
    gap: 9%;
  }
}
@media (max-width: 1250px) {
  .container {
    width: 88%;
  }
  .section {
    padding: 90px 0;
  }
  .plan-grid {
    gap: 10px;
  }
  .plan {
    padding: 23px 13px 13px;
  }
  .plan-price {
    font-size: 25px;
  }
  .platform {
    padding: 24px;
  }
  .platform-grid {
    gap: 17px;
    grid-template-columns: .9fr 1.25fr .9fr;
  }
  .platform-core:before,
  .platform-core:after {
    width: 18px;
  }
  .core-ai {
    font-size: 18px;
    flex-direction: column;
    gap: 5px;
  }
  .platform-sources>div,
  .platform-output>div {
    font-size: 12px;
  }
  .feature-tabs button {
    font-size: 13px;
    gap: 8px;
  }
  .feature-tabs {
    gap: 5px;
  }
  .mcp-layout {
    gap: 7%;
  }
  .gateway-title img {
    max-width: 52%;
  }
  .ai-clients>span {
    font-size: 18px;
  }
  .closing-actions {
    gap: 10px;
  }
  .button-primary,
  .button-secondary {
    gap: 18px;
    padding: 17px;
    font-size: 13px;
  }
  .footer-top nav {
    gap: 18px;
  }
}
@media (max-width: 1000px) {
  .section {
    padding: 75px 0;
  }
  .value-grid {
    gap: 25px;
  }
  .value-grid h3 {
    font-size: 19px;
  }
  .platform-grid {
    grid-template-columns: 1fr;
  }
  .platform-sources,
  .platform-output {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .diagram-label {
    grid-column: 1/-1;
    margin-bottom: 0;
  }
  .platform-sources>div,
  .platform-output>div {
    background: #fff;
    padding: 14px;
    border: 1px solid #e0e7f2;
    line-height: 1.7;
    justify-content: center;
    flex-direction: column;
  }
  .platform-core {
    padding: 24px 22px 0;
  }
  .platform-core img {
    max-width: 220px;
  }
  .platform-core:before,
  .platform-core:after {
    display: none;
  }
  .core-ai {
    margin: 22px -22px 0;
    flex-direction: row;
    justify-content: center;
    gap: 25px;
  }
  .mcp-layout {
    gap: 6%;
    grid-template-columns: .85fr 1.15fr;
  }
  .mcp-copy h2 {
    font-size: 40px;
  }
  .mcp-copy p {
    font-size: 14px;
  }
  .ai-clients {
    gap: 8px;
  }
  .ai-clients>span {
    font-size: 17px;
    padding: 17px 5px;
  }
  .mcp-gateway {
    padding: 18px;
  }
  .gateway-policies span {
    font-size: 11px;
  }
  .prompt-example p {
    font-size: 17px;
  }
  .mcp-bottom strong {
    display: block;
    margin-top: 10px;
  }
  .feature-panel {
    gap: 5%;
    grid-template-columns: 1fr 1fr;
  }
  .feature-copy h3 {
    font-size: 28px;
  }
  .feature-copy p {
    font-size: 14px;
  }
  .feature-demo {
    padding: 0 17px 20px;
  }
  .demo-toolbar {
    margin: 0 -17px 20px;
    padding: 14px 16px;
    gap: 10px;
    font-size: 11px;
  }
  .demo-toolbar>span:first-child {
    font-size: 12px;
  }
  .sample-answer {
    padding: 17px;
  }
  .sample-question {
    font-size: 13px;
    margin-left: 10px;
    padding: 12px;
  }
  .feature-tabs button>span {
    display: none;
  }
  .case-copy h3 {
    font-size: 29px;
  }
  .case-question {
    padding: 28px 24px;
  }
  .case-question blockquote {
    font-size: 23px;
  }
  .agent-grid {
    gap: 20px;
  }
  .agent-grid article {
    padding: 24px 20px;
  }
  .agent-grid h3 {
    font-size: 17px;
  }
  .agent-prompt {
    font-size: 13px;
    padding: 16px;
  }
  .action-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 14px;
  }
  .action-steps>li {
    font-size: 13px;
  }
  .security-layout {
    gap: 7%;
    grid-template-columns: .85fr 1.15fr;
  }
  .security-list h3 {
    font-size: 17px;
  }
  .plan-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
  .plan {
    padding: 25px 22px 20px;
  }
  .plan-price {
    font-size: 31px;
  }
  .plan-price>small {
    display: inline;
    margin-left: 6px;
  }
  .plan h3 {
    font-size: 29px;
  }
  .plan>p {
    font-size: 14px;
  }
  .plan>a {
    font-size: 13px;
  }
  .plan-credit>b {
    font-size: 19px;
  }
  .plan-size,
  .plan-credit>span {
    font-size: 12px;
  }
  .faq-layout {
    grid-template-columns: .65fr 1.35fr;
    gap: 5%;
  }
  .faq-layout h2 {
    font-size: 28px;
  }
  .faq-filters button {
    padding: 9px 12px;
  }
  .closing-actions {
    flex-direction: column;
    max-width: 330px;
  }
  .footer-top {
    gap: 25px;
    flex-wrap: wrap;
  }
  .footer-top nav {
    gap: 20px;
  }
  .footer-top img {
    width: 160px;
  }
  .back-top {
    margin-left: 0;
  }
}
@media (max-width: 760px) {
  :root {
    scroll-padding-top: 88px;
  }
  .hero {
    height: calc(100svh - 72px);
    min-height: 850px;
    max-height: none;
  }
  .copy {
    padding-top: 58px;
  }
  .hero .eyebrow {
    font-size: 14px;
  }
  .hero .copy h1 {
    font-size: clamp(37px, 8.7vw, 59px);
  }
  .hero .intro {
    font-size: 15px;
  }
  .art {
    top: 270px;
    bottom: 65px;
  }
  .hero .example {
    bottom: 118px;
  }
  .hero-bottom {
    bottom: 25px;
  }
  .hero .chapter-en {
    display: none;
  }
  .hero .example-note {
    font-size: 11px;
  }
  .hero .source-label,
  .hero .question-label,
  .hero .answer-label {
    font-size: 11px;
  }
  .hero .chapter-number {
    font-size: 11px;
  }
  .hero .visual-label {
    display: none;
  }
  .container {
    width: 86%;
  }
  .section {
    padding: 65px 0;
  }
  .section-top {
    margin-bottom: 24px;
    gap: 13px;
    align-items: flex-start;
  }
  .section-kicker {
    font-size: 10px;
    letter-spacing: .1em;
  }
  .section-side {
    display: none;
  }
  .section h2 {
    font-size: 33px;
    line-height: 1.55;
    letter-spacing: -.05em;
  }
  .split-heading {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .split-heading>p {
    font-size: 14px;
    line-height: 2;
  }
  .section-heading {
    margin-bottom: 33px;
  }
  .desktop-br {
    display: none;
  }
  .value-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 35px;
    margin-bottom: 40px;
  }
  .value-grid article {
    padding-top: 19px;
    position: relative;
    padding-left: 42px;
  }
  .value-index {
    position: absolute;
    left: 0;
    top: 25px;
    font-size: 12px;
  }
  .value-grid h3 {
    font-size: 20px;
    margin: 0 0 9px;
  }
  .value-grid p {
    font-size: 14px;
    max-width: none;
    margin-bottom: 13px;
  }
  .value-tag {
    font-size: 12px;
  }
  .platform {
    padding: 21px 16px 25px;
    margin: 0 -5px;
  }
  .platform-caption {
    font-size: 13px;
    padding-bottom: 25px;
    gap: 12px;
  }
  .platform-caption>span:last-child {
    font-size: 10px;
    max-width: 105px;
    text-align: right;
    line-height: 1.6;
  }
  .platform-sources,
  .platform-output {
    gap: 7px;
  }
  .platform-sources>div,
  .platform-output>div {
    font-size: 11px;
    padding: 12px 7px;
    gap: 5px;
    text-align: center;
    line-height: 1.75;
  }
  .platform-sources>div>span,
  .platform-output>div>span {
    font-size: 9px;
  }
  .diagram-label {
    font-size: 11px;
  }
  .platform-core img {
    width: 210px;
  }
  .platform-core {
    padding-top: 25px;
  }
  .platform-core p {
    font-size: 12px;
  }
  .core-tags>span {
    font-size: 10px;
  }
  .core-ai {
    font-size: 17px;
    gap: 14px;
    padding: 16px 10px;
  }
  .core-ai>span {
    font-size: 10px;
  }
  .mcp-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 25px;
  }
  .mcp-copy h2 {
    font-size: 40px;
    line-height: 1.5;
  }
  .mcp-copy p {
    font-size: 14px;
    margin: 23px 0 17px;
  }
  .mcp-visual {
    max-width: 500px;
  }
  .ai-clients>span {
    font-size: 18px;
    padding: 19px 7px;
  }
  .gateway-title img {
    max-width: 52%;
    width: 180px;
  }
  .gateway-title span {
    font-size: 12px;
  }
  .gateway-policies span {
    font-size: 11px;
    padding: 9px 3px;
  }
  .gateway-files {
    font-size: 11px;
    gap: 10px;
  }
  .prompt-example p {
    font-size: 19px;
  }
  .prompt-foot {
    font-size: 11px;
  }
  .mcp-bottom {
    grid-template-columns: 1fr;
    gap: 23px;
    margin-top: 35px;
    padding-top: 28px;
  }
  .mcp-bottom>div {
    display: grid;
    grid-template-columns: 23px 1fr;
    gap: 0 14px;
  }
  .mcp-bottom>div>span {
    margin: 0;
    padding-top: 3px;
  }
  .mcp-bottom strong {
    margin: 0;
    font-size: 16px;
  }
  .mcp-bottom p {
    grid-column: 2;
    margin-top: 8px;
    font-size: 13px;
  }
  .dark-note {
    font-size: 11px !important;
    line-height: 1.9 !important;
  }
  .feature-tabs {
    display: none;
  }
  /* .product-story .feature-tabs elsewhere sets its own display (grid/flex)
     outside this media query at equal specificity, so it wins by source
     order unless forced here. */
  .product-story .feature-tabs {
    display: none !important;
  }
  .tab-select-wrap {
    display: block;
    margin-bottom: 20px;
  }
  .feature-panel {
    grid-template-columns: 1fr;
    gap: 27px;
    padding-top: 28px;
    min-height: 0;
  }
  .feature-english {
    font-size: 11px;
  }
  .feature-copy h3 {
    font-size: 28px;
    margin: 15px 0;
  }
  .feature-copy>p {
    font-size: 14px;
  }
  .feature-points {
    font-size: 13px;
    margin-top: 18px;
  }
  .feature-demo {
    padding: 0 20px 20px;
    min-height: 0;
  }
  .demo-toolbar {
    margin: 0 -20px 20px;
    padding: 15px 17px;
    font-size: 11px;
  }
  .demo-toolbar>span:first-child {
    font-size: 12px;
  }
  .sample-question {
    font-size: 13px;
  }
  .sample-answer h4 {
    font-size: 15px;
  }
  .sample-answer {
    padding: 19px;
  }
  .feature-copy>.fine-print {
    font-size: 11px !important;
  }
  .case-tabs {
    display: none;
  }
  /* .product-story .department-tabs (same element, second class) sets its
     own display (grid/flex) elsewhere at equal specificity, so it wins by
     source order unless forced here. */
  .product-story .case-tabs,
  .product-story .department-tabs {
    display: none !important;
  }
  .case-tabs+.tab-select-wrap {
    display: block;
    margin-top: 28px;
    margin-bottom: 20px;
  }
  .case-panel {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 20px;
  }
  .case-copy {
    padding: 17px 0;
  }
  .case-copy h3 {
    font-size: 29px;
    margin: 17px 0;
  }
  .case-copy>p {
    font-size: 14px;
    max-width: none;
  }
  .case-data {
    font-size: 11px;
    margin-top: 20px;
  }
  .case-question {
    padding: 26px 24px;
  }
  .case-question>span {
    font-size: 11px;
  }
  .case-question blockquote {
    font-size: 25px;
    margin: 19px 0 26px;
    line-height: 1.75;
  }
  .case-outcome {
    gap: 15px;
  }
  .case-outcome p {
    font-size: 12px;
  }
  .use-section .fine-print {
    font-size: 11px !important;
  }
  .development {
    font-size: 9px;
    line-height: 1.8;
    padding: 4px 7px;
    max-width: 145px;
    text-align: right;
  }
  .agent-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .agent-grid article {
    padding: 24px 22px;
  }
  .agent-grid h3 {
    font-size: 18px;
    margin-top: 21px;
  }
  .agent-prompt {
    font-size: 14px;
    padding: 18px 15px;
  }
  .action-steps {
    grid-template-columns: repeat(2, 1fr);
  }
  .action-steps>li>span {
    font-size: 11px;
  }
  .security-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .security-intro h2 {
    margin-top: 23px;
  }
  .security-intro>p {
    font-size: 14px;
    margin-top: 19px;
  }
  .security-seal {
    margin-top: 27px;
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
  .security-seal img {
    width: 160px;
  }
  .security-seal span {
    font-size: 9px;
    line-height: 1.7;
    letter-spacing: .1em;
  }
  .security-list article {
    gap: 16px;
    padding: 21px 0;
  }
  .security-list article>span {
    font-size: 11px;
  }
  .security-list h3 {
    font-size: 17px;
  }
  .security-list p {
    font-size: 13px;
  }
  .plan-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .plan {
    padding: 22px 16px 16px;
  }
  .plan h3 {
    font-size: 26px;
    margin: 14px 0 4px;
  }
  .plan-audience {
    font-size: 11px;
  }
  .plan-size {
    font-size: 10px;
  }
  .plan-price {
    font-size: 28px;
    margin: 20px 0 17px;
  }
  .plan-price>small {
    display: block;
    font-size: 10px;
    margin-left: 0;
  }
  .plan>p {
    font-size: 12px;
    margin-bottom: 16px;
  }
  .plan-credit>b {
    font-size: 17px;
  }
  .plan-credit>span {
    font-size: 10px;
  }
  .plan-credit {
    padding: 14px 0;
  }
  .plan>a {
    font-size: 11px;
    padding: 11px 9px;
  }
  .plan-important {
    font-size: 11px !important;
  }
  .price-details>summary {
    font-size: 13px;
    padding: 20px 2px;
  }
  .price-notes p {
    font-size: 10px;
  }
  .comparison-table {
    font-size: 12px;
  }
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .faq-layout h2 {
    font-size: 31px;
    margin: 20px 0 16px;
  }
  .faq-layout>div:first-child>p {
    font-size: 14px;
    line-height: 1.9;
  }
  .faq-layout .text-link {
    margin-top: 0;
    font-size: 13px;
  }
  .faq-filters {
    gap: 8px;
    margin-bottom: 20px;
  }
  .faq-filters button {
    font-size: 12px;
    padding: 10px 14px;
  }
  .faq-list summary {
    font-size: 13px;
    gap: 15px;
    padding: 21px 0;
    line-height: 1.9;
  }
  .faq-answer {
    padding-left: 28px;
    padding-right: 12px;
    font-size: 12px;
  }
  .faq-answer p {
    font-size: 12px;
  }
  .closing-section {
    padding: 58px 0 65px;
  }
  .closing-layout {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 23px;
  }
  .closing-layout h2 {
    font-size: 37px;
  }
  .closing-layout p {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 24px;
  }
  .closing-actions {
    max-width: none;
    gap: 12px;
  }
  .button-primary,
  .button-secondary {
    padding: 18px 20px;
    font-size: 14px;
  }
}
@media (max-width: 380px) {
  .container {
    width: 88%;
  }
  .hero .copy h1 {
    font-size: 35px;
  }
  .hero .copy {
    padding-top: 52px;
  }
  .section h2 {
    font-size: 30px;
  }
  .plan {
    padding: 20px 12px 13px;
  }
  .plan-price {
    font-size: 25px;
  }
  .plan h3 {
    font-size: 24px;
  }
  .case-question blockquote {
    font-size: 22px;
  }
  .agent-grid article {
    padding: 23px 18px;
  }
  .agent-prompt {
    font-size: 13px;
  }
  .gateway-policies span {
    font-size: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

/* The three product pillars are the first detailed introduction below the hero. */
.core-feature-grid {
  gap: 24px;
  margin-top: 44px;
}
.core-feature-grid article {
  display: flex;
  flex-direction: column;
  padding: 28px;
  background: #f4f7fe;
  border: 1px solid #dce5f6;
  border-top: 3px solid #356bfa;
}
.core-feature-grid .value-index {
  font-size: 15px;
  font-weight: 600;
  color: #5c60cc;
}
.core-feature-grid h3 {
  font-size: 30px;
  line-height: 1.35;
  margin: 22px 0 14px;
  color: #183c96;
  letter-spacing: -.04em;
}
.core-feature-grid h4 {
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 12px;
  font-weight: 600;
}
.core-feature-grid p {
  font-size: 14px;
  line-height: 1.95;
  margin-bottom: 28px;
}
.core-feature-grid .value-tag {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  font-size: 13px;
  font-weight: 500;
}
.core-feature-grid .value-tag:hover {
  color: #5544d3;
}
.core-feature-grid .value-tag:focus-visible {
  outline: 2px solid #356bfa;
  outline-offset: 6px;
}
.feature-tabs .core-tab {
  font-weight: 600;
}
@media (max-width: 1100px) {
  .core-feature-grid {
    gap: 16px;
  }
  .core-feature-grid article {
    padding: 22px;
  }
  .core-feature-grid h3 {
    font-size: 25px;
  }
}
@media (max-width: 760px) {
  .core-feature-grid article {
    padding: 25px;
  }
  .core-feature-grid h3 {
    font-size: 30px;
    margin-top: 15px;
  }
  .core-feature-grid p {
    max-width: none;
  }
}

/* DirectCloud AI TOP banner, synchronized with the standalone version. */
/* Self-contained DirectCloud AI banner. */
.g-wrapper.dcai-hero-host { width:100%; min-width:0; max-width:none; }
#dcai-hero {
  position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column;
  width:100%; margin:0; padding:0 0 18px; border:0; background:#0b1030;
  color:#f7faff; font:16px/1.5 Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  text-align:left; font-synthesis:none; letter-spacing:normal; color-scheme:dark;
}
#dcai-hero *,#dcai-hero *::before,#dcai-hero *::after { box-sizing:border-box; }
#dcai-hero :where(div,span,p,h1,strong,small,a) { margin:0; padding:0; font-family:inherit; }
#dcai-hero img { display:block; border:0; max-width:none; }
#dcai-hero a,#dcai-hero a:link,#dcai-hero a:visited { text-decoration:none; }
#dcai-hero a::before,#dcai-hero a::after { content:none; }
#dcai-hero a:focus-visible { outline:2px solid #c4e7ff; outline-offset:4px; }
#dcai-hero .dcai-hero-backdrop { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
#dcai-hero .dcai-hero-backdrop>picture { display:block; width:100%; height:100%; }
#dcai-hero .dcai-hero-backdrop>picture>img {
  width:100%; height:100%; max-width:none; object-fit:cover;
  object-position:50% 58%; filter:brightness(.6) saturate(.68); opacity:1;
}
#dcai-hero .dcai-hero-backdrop::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,#030b1cd1 0%,#030b1ca8 22%,#030b1c66 43%,#030b1c4d 70%,#030b1cc2 100%),
    linear-gradient(90deg,#030b1c38,transparent 22%,transparent 78%,#030b1c38);
}
#dcai-hero .dcai-hero-content { position:relative; z-index:3; width:min(calc(100% - 80px),1368px); margin:0 auto; padding:clamp(30px,3vw,48px) 0 0; }
#dcai-hero .dcai-copy { text-align:center; }
#dcai-hero .dcai-hero-product-logo { width:clamp(340px,42vw,530px); max-width:90%; margin:0 auto 14px; }
#dcai-hero .dcai-hero-product-logo>img { width:100%; height:auto; filter:brightness(0) invert(1); }
#dcai-hero .dcai-copy h1 { margin:0 auto 6px; color:#fff; font-size:clamp(25px,3vw,40px); font-weight:700; line-height:1.35; text-wrap:balance; }
#dcai-hero .dcai-intro { margin:0 auto; color:#c0c9e1; font-size:clamp(15px,1.34vw,18px); font-weight:400; line-height:1.55; letter-spacing:0; }
#dcai-hero .dcai-hero-scene { position:relative; z-index:2; width:min(calc(100% - 80px),1320px); height:clamp(270px,25vw,360px); margin:30px auto 0; }
#dcai-hero .dcai-art,#dcai-hero .dcai-network-nodes { position:absolute; inset:0; }
#dcai-hero .dcai-art { z-index:0; overflow:hidden; pointer-events:none; }
#dcai-hero .dcai-plate,#dcai-hero .dcai-connection-floor { position:absolute; inset:0; pointer-events:none; }
#dcai-hero .dcai-hero-image,#dcai-hero .dcai-hero-floor-image { position:absolute; object-fit:contain; width:196%; height:auto; left:-86.7%; top:-28%; }
#dcai-hero .dcai-hero-image { clip-path:url(#dcai-hero-cloud-cutout); }
#dcai-hero .dcai-hero-floor-image { -webkit-mask-image:linear-gradient(180deg,transparent 57.5%,#000 60%,#000 82%,transparent 99%),linear-gradient(90deg,transparent 35%,#000 52%,#000 87%,transparent 99%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 57.5%,#000 60%,#000 82%,transparent 99%),linear-gradient(90deg,transparent 35%,#000 52%,#000 87%,transparent 99%);mask-composite:intersect; }
#dcai-hero #dcai-flow { position:absolute; inset:0; display:block; width:100%; height:100%; mix-blend-mode:screen; }
#dcai-hero .dcai-network-nodes { z-index:2; pointer-events:none; }
#dcai-hero .dcai-capability-node { position:absolute; display:flex; align-items:center; gap:clamp(8px,1.2vw,16px); width:clamp(208px,20vw,285px); min-height:clamp(72px,7.3vw,98px); padding:11px clamp(10px,1.35vw,17px); border:2px solid transparent; border-radius:8px; background:linear-gradient(#0b1b34,#0b1b34) padding-box,linear-gradient(110deg,#755099,#5c558e 48%,#395d9c) border-box; color:#e0ebfc; box-shadow:0 12px 32px #02071666; transform:translateY(-50%); transition:background .35s,border-color .35s,box-shadow .35s; }
#dcai-hero .dcai-capability-node.is-dcai-active { background:linear-gradient(180deg,#3228c7 0%,#466bf4 50%,#3026c3 100%) padding-box,linear-gradient(110deg,#c66aff,#8d76ff 48%,#4f83ff) border-box; border-color:transparent; color:#fff; box-shadow:0 0 26px #6255ef38,0 12px 32px #02071666; }
#dcai-hero .dcai-capability-node img { width:clamp(35px,4vw,50px); height:clamp(35px,4vw,50px); flex:none; object-fit:contain; }
#dcai-hero .dcai-capability-node>.dcai-capability-icon1 { width:clamp(42px,4.4vw,56px); height:auto; }
#dcai-hero .dcai-capability-node>.dcai-capability-icon2 { width:clamp(36px,3.7vw,48px); height:auto; }
#dcai-hero .dcai-capability-node>span { min-width:0; text-align:left; }
#dcai-hero .dcai-capability-node strong { display:block; color:inherit; font-size:clamp(15px,1.26vw,22px); line-height:1.25; font-weight:700; white-space:nowrap; }
#dcai-hero .dcai-capability-node small { display:block; margin-top:4px; color:#bdcbe0; font-size:clamp(10px,.88vw,15px); line-height:1.45; white-space:nowrap; }
#dcai-hero .dcai-capability-node.is-dcai-active small { color:#e1e6ff; }
#dcai-hero #dcai-node-search,#dcai-hero #dcai-node-dialogue,#dcai-hero #dcai-node-documents { left:0; }
#dcai-hero #dcai-node-web,#dcai-hero #dcai-node-assistant,#dcai-hero #dcai-node-external { right:0; }
#dcai-hero #dcai-node-search,#dcai-hero #dcai-node-web { top:16%; }
#dcai-hero #dcai-node-dialogue,#dcai-hero #dcai-node-assistant { top:50%; }
#dcai-hero #dcai-node-documents,#dcai-hero #dcai-node-external { top:84%; }
#dcai-hero { padding-bottom:0; }
#dcai-hero .dcai-hero-actions {
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap: 32px;
  width:min(832px,calc(100% - 40px));
  margin:30px auto 0;
  padding:0 0 40px;
  border-bottom:0;
  background: transparent;
}
#dcai-hero .dcai-hero-cta {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:48px;
  text-align:center;
  min-width:0;
  min-height: 70px;
  padding: 2px 24px 0px 42px;
  border-radius:999px;
  font-size: clamp(18px,1.55vw,24px);
  font-weight:700;
  line-height: 1.65;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease;
}
#dcai-hero .dcai-hero-cta span { display:block; }
#dcai-hero .dcai-hero-cta svg { display:block; flex:none; width:21px; height:21px; }
#dcai-hero .dcai-hero-cta--trial { background:#ff0b4f; color:#fff; }
#dcai-hero .dcai-hero-cta--download { background:#fff; color:#3c51c3; }
#dcai-hero .dcai-hero-cta:hover { transform:translateY(-2px); box-shadow:0 9px 22px rgba(4,9,32,.25); }
@media (max-width:860px) {
  #dcai-hero .dcai-hero-content { width:100%; padding:28px 20px 5px; }
  #dcai-hero .dcai-hero-product-logo { width:min(82vw,440px); margin-bottom:16px; }
  #dcai-hero .dcai-copy h1 { max-width:18em; font-size:clamp(22px,4.5vw,30px); line-height:1.45; }
  #dcai-hero .dcai-intro { max-width:34em; padding:0 6px; font-size:15px; line-height:1.65; text-wrap:balance; }
  #dcai-hero .dcai-desktop-break { display:none; }
  #dcai-hero .dcai-hero-scene { width:100%; height:auto; margin-top:4px; }
  #dcai-hero .dcai-art { position:relative; height:clamp(210px,46vw,330px); }
  #dcai-hero #dcai-flow { display:none; }
  #dcai-hero .dcai-network-nodes { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:94%; margin:0 auto; }
  #dcai-hero .dcai-capability-node { position:relative; inset:auto!important; width:100%; min-height:84px; padding:9px; transform:none; }
  #dcai-hero .dcai-capability-node img,#dcai-hero .dcai-capability-node>.dcai-capability-icon1,#dcai-hero .dcai-capability-node>.dcai-capability-icon2 { width:35px; height:35px; flex:0 0 35px; }
  #dcai-hero .dcai-capability-node strong { font-size:clamp(13px,2.7vw,16px); white-space:normal; }
  #dcai-hero .dcai-capability-node small { font-size:clamp(10px,2.1vw,12px); white-space:normal; }
  #dcai-hero .dcai-hero-actions { width:min(640px,94%); gap:12px; margin-top:30px; padding:0px; }
  #dcai-hero .dcai-hero-cta { min-height:66px; padding:0 18px; font-size:clamp(16px,2.5vw,20px); }
}
@media (max-width:560px) {
  #dcai-hero .dcai-hero-actions { grid-template-columns:1fr; width:min(430px,calc(100% - 32px)); }
  #dcai-hero .dcai-hero-cta { min-height:60px; font-size:20px; }
  .logo_slide_ico {height: 30px;}
}
@media (max-width:430px) {
  #dcai-hero .dcai-capability-node { flex-direction:column; align-items:flex-start; gap:5px; min-height:110px; }
  }
@media (prefers-reduced-motion:reduce) {
  }


/* Security assurances sit directly below the headline and introduction. */
#dcai-hero .dcai-security-bar {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px; width:min(932px,100%); margin:20px auto 0; padding:0;
}
#dcai-hero .dcai-security-item {
  display:flex; align-items:center; gap:14px;
  min-width:0; min-height:76px; padding:12px 20px; border:1px solid #4b5996b8;
  border-radius:12px; background:#171f4d;
  color:#fff; box-shadow:none;
}
#dcai-hero .dcai-security-item svg { width:36px; height:36px; flex:none; color:#95a6e3; }
#dcai-hero .dcai-security-item strong { display:block; font-size:17px; line-height:1.35; font-weight:700; white-space:nowrap; }
#dcai-hero .dcai-security-item small { display:block; margin-top:3px; color:#c3cce5; font-size:13px; line-height:1.35; }
@media(max-width:860px) {
  #dcai-hero .dcai-security-bar { width:100%; gap:10px; margin-top:22px; }
  #dcai-hero .dcai-security-item { min-height:72px; padding:10px; gap:8px; }
  #dcai-hero .dcai-security-item strong { font-size:13px; white-space:normal; }
  #dcai-hero .dcai-security-item small { font-size:10px; }
  #dcai-hero .dcai-security-item svg { width:30px; height:30px; }
}
#dcai-hero .dcai-connection-floor {
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);
}
@media(max-width:600px) {
  #dcai-hero .dcai-security-bar { grid-template-columns:1fr; max-width:430px; }
  #dcai-hero .dcai-security-item { min-height:58px;padding:9px 14px;width: 68%;margin: 0 auto;}
  #dcai-hero .dcai-security-item strong { font-size:14px; }
  #dcai-hero .dcai-security-item small { font-size:11px; }
}
@media screen and (max-width:480px) {
  #dcai-hero .dcai-security-bar { max-width:none; }
  /* アイコン＋テキストを箱の中央に。テキスト幅を3枚共通にしてアイコン位置を揃える */
  #dcai-hero .dcai-security-item { width:100%; justify-content:center; gap:12px; }
  #dcai-hero .dcai-security-item > span { flex:0 0 162px; }
  #dcai-hero .dcai-network-nodes { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:100%; margin:0 auto; padding:0 20px; }
  #dcai-hero .dcai-hero-actions { padding-bottom:36px; }
  .product-story .logo-slide { padding:0 0 8px !important; }
  .product-story .logo-slide__item { width:84px !important; margin:5px 14px !important; }
  .product-story .logo_slide_ico { height:44px; }
  body.product-story #september-update .release-card-top { gap:12px; }
  body.product-story #september-update .release-icon { width:42px; height:42px; border-radius:10px; }
  body.product-story #september-update .release-icon img { width:30px; height:30px; }
  /* 対象プランのラベル：4列で箱幅いっぱい、全ラベル同じ幅 */
  body.product-story #september-update .release-plans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.product-story #september-update .release-plans>span { padding-inline:0; text-align:center; }
  /* URL登録のステップ：2列で箱幅いっぱい、全ステップ同じ幅 */
  body.product-story #september-update .release-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.product-story #september-update .release-steps>li { padding-inline:0; text-align:center; }
}

.box-beta {
  background-color: #d6ddffd4;
  padding: 0px 10px 2px;
  border-radius: 10px;
  margin-top: 2px;
  color: #575fb2;
  display: inline-block;
}

/* Official DirectCloud illustrations, scoped to the lower page. */
.source-figure {
  margin: 0;
  min-width: 0;
}
.source-figure picture,
.source-figure img {
  display: block;
  max-width: 100%;
}
.source-figure img {
  width: 100%;
  height: auto;
}
.platform-image {
  padding: 24px;
  background: #fff;
}
.feature-demo--art {
  background: #fff;
  min-height: 0;
}
.feature-demo--art .source-figure {
  padding: 12px 0 6px;
}
.feature-panel--diagram {
  grid-template-columns: 1fr;
  gap: 28px;
}
.feature-panel--diagram .feature-copy {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  column-gap: 7%;
  align-items: start;
}
.feature-panel--diagram .feature-english {
  grid-column: 1;
  grid-row: 1;
}
.feature-panel--diagram .feature-copy h3 {
  grid-column: 1;
  grid-row: 2 / span 2;
  margin-bottom: 0;
}
.feature-panel--diagram .feature-copy>p {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.feature-panel--diagram .feature-points {
  grid-column: 2;
  grid-row: 3;
  margin: 0;
}
.web-source-art {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  align-items: center;
  gap: 20px;
  padding: 24px 0;
}
.web-source-art figure {
  margin: 0;
  text-align: center;
  min-width: 0;
}
.web-source-art img {
  display: block;
  width: 100%;
  height: 145px;
  object-fit: contain;
}
.web-cloud {
  position: relative;
}
.web-cloud-label {
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  font-size: clamp(13px, 1.4vw, 18px);
  font-weight: 600;
  color: #405bb4;
  line-height: 1.5;
}
.web-cloud-label small {
  display: block;
  font-size: .8em;
  font-weight: 400;
}
.web-source-art figcaption {
  font-size: 13px;
  color: #526789;
  line-height: 1.7;
  margin-top: 12px;
}
.web-source-art+.sample-question {
  margin-top: 0;
}
.rag-source-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 10px 0 4px;
  list-style: none;
  margin: 0;
  counter-reset: rag;
}
.rag-source-flow li {
  position: relative;
  text-align: center;
  background: #fff;
  border: 1px solid #e0e8f4;
  padding: 20px 12px 18px;
  counter-increment: rag;
}
.rag-source-flow li:before {
  content: "0" counter(rag);
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 11px;
  color: #7898c6;
}
.rag-source-flow img {
  display: block;
  width: 100%;
  height: 82px;
  object-fit: contain;
  margin-bottom: 14px;
}
.rag-source-flow strong {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: #253f66;
  font-weight: 500;
}
.vlm-grid .vlm-photo {
  display: block;
  width: calc(100% + 30px);
  max-width: none;
  height: auto;
  aspect-ratio: 4/3;
  margin: -22px -15px 18px;
}
.security-stack .security-illustration {
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 70px;
  height: 70px;
  object-fit: contain;
}
.security-stack--illustrated>div {
  padding: 12px 0 24px 92px;
  min-height: 105px;
}
.security-stack--illustrated>div:last-child {
  padding-bottom: 12px;
}
.security-stack--illustrated h4 {
  font-size: 17px;
  line-height: 1.6;
}
.security-stack--illustrated p {
  font-size: 13px;
  line-height: 1.8;
}
.use-source-figure {
  margin: 0 0 42px;
  padding: 26px;
  background: #fff;
  border: 1px solid #d7e2f1;
}
@media (max-width: 1000px) {
  .feature-panel--diagram {
    grid-template-columns: 1fr;
  }
  .web-source-art {
    gap: 12px;
  }
  .web-source-art img {
    height: 120px;
  }
  .security-stack--illustrated>div {
    padding-left: 80px;
  }
  .security-stack .security-illustration {
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 760px) {
  .platform-image {
    padding: 12px 2px;
  }
  .feature-panel--diagram .feature-copy {
    display: block;
  }
  .feature-panel--diagram .feature-copy h3 {
    margin-bottom: 15px;
  }
  .feature-panel--diagram .feature-points {
    margin-top: 20px;
  }
  .feature-demo--art {
    padding-left: 12px;
    padding-right: 12px;
  }
  .feature-demo--art .demo-toolbar {
    margin-left: -12px;
    margin-right: -12px;
  }
  .feature-demo--art .source-figure {
    padding: 0;
  }
  .web-source-art img {
    height: 135px;
  }
  .rag-source-flow {
    gap: 12px;
  }
  .rag-source-flow li {
    padding: 22px 10px 18px;
  }
  .rag-source-flow img {
    height: 76px;
  }
  .use-source-figure {
    margin-bottom: 30px;
    padding: 18px 12px;
  }
  .web-cloud-label {
    font-size: 14px;
  }
}

/* September content update. Extends the approved page without changing the hero. */
.product-story .release-section {
  padding: 72px 0 32px;
}
.product-story .release-section .section-heading {
  margin-bottom: 36px;
}
.product-story .release-status {
  display: inline-block;
  color: #4057b6;
  background: #e8edff;
  padding: 7px 14px;
  border-radius: 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
.product-story .release-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.product-story .release-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border-radius: 28px;
  padding: 32px;
}
.product-story .release-card-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.product-story .release-icon,
.product-story .rag-url-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 68px;
  height: 68px;
  border-radius: 18px;
  background: linear-gradient(140deg, #4f43be, #2e6efe);
}
.product-story .release-icon img,
.product-story .rag-url-icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.product-story .release-label {
  font-size: 16px;
  font-weight: 600;
  color: #4057b6;
}
.product-story .release-card h3 {
  font-size: clamp(23px, 2vw, 29px);
  line-height: 1.5;
  letter-spacing: -.025em;
  margin: 0 0 18px;
}
.product-story .release-card>p {
  font-size: 16px;
  margin: 0 0 24px;
}
.product-story .release-plans,
.product-story .release-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}
.product-story .release-plans>span,
.product-story .release-steps>li {
  background: #f1f3fa;
  border-radius: 32px;
  padding: 5px 28px 6px;
  color: #374660;
  font-size: 15.5px;
  line-height: 1.6;
}
.product-story .release-plans>span:first-child {
  background: #e8edff;
  color: #355bd2;
  font-weight: 600;
}
.product-story .release-steps {
  counter-reset: release;
}
.product-story .release-steps>li {
  counter-increment: release;
}
.product-story .release-steps>li::before {
  content: counter(release);
  color: #2e6efe;
  font-weight: 600;
}
.product-story .release-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #e9eaf0;
  color: #2e6efe;
  font-size: 16px;
}
.product-story .release-note {
  font-size: 14px;
  line-height: 1.8;
  margin: 20px 0 0;
  text-align: center;
}
.product-story .mcp-copy {
  margin-left: auto;
  margin-right: auto;
}
.product-story .mcp-release-badge {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 20px auto 8px;
  padding: 9px 16px;
  border: 1px solid #375485;
  border-radius: 10px;
  color: #bed3ff;
  background: #112444;
  font-size: 14px;
  line-height: 1.7;
}
.product-story .architecture-visual {
  max-width: none;
  padding: 32px;
}
.product-story .architecture-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1.25fr) 40px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
}
.product-story .architecture-stage {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 0;
  border: 1px solid #284363;
  border-radius: 20px;
  padding: 24px 16px;
  background: #142b49;
  text-align: center;
}
.product-story .architecture-label {
  font-size: 14px;
  color: #9db5d6;
  line-height: 1.7;
}
.product-story .architecture-stage h3 {
  font-size: 21px;
  line-height: 1.5;
  margin: 12px 0 20px;
  color: #fff;
  letter-spacing: -.025em;
}
.product-story .architecture-clients .ai-clients {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 8px;
}
.product-story .architecture-clients .ai-clients>span {
  padding: 10px;
  font-size: 20px;
  background: #203c60;
  border-radius: 9px;
  line-height: 1.4;
}
.product-story .architecture-server {
  background: linear-gradient(145deg, #19366b, #172750);
  border-color: #5269aa;
}
.product-story .architecture-server .gateway-title {
  margin: 18px 0 0;
  justify-content: center;
}
.product-story .architecture-server .gateway-title>img {
  width: 176px;
  max-width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}
.product-story .architecture-server h3 {
  margin: 10px 0 20px;
  font-size: 24px;
}
.product-story .architecture-server .gateway-policies {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 8px;
  margin: 0;
}
.product-story .architecture-server .gateway-policies>span {
  padding: 8px 5px;
  background: #0e20429c;
  border: 0;
  font-size: 14px;
}
.product-story .architecture-connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #95c6ff;
  font-size: 13px;
}
.product-story .architecture-connector>b {
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
}
.product-story .architecture-data-icon {
  width: 54px;
  height: 54px;
  object-fit: contain;
  margin: 0 auto 18px;
}
.product-story .architecture-data .gateway-files {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 8px;
  margin: 0;
  font-size: 14px;
}
.product-story .architecture-data .gateway-files>span {
  padding: 7px;
  background: #203c60;
  border-radius: 6px;
  line-height: 1.4;
}
.product-story .architecture-visual .prompt-example {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #284363;
}
.product-story .architecture-visual .prompt-example p {
  font-size: clamp(19px, 1.9vw, 25px);
  line-height: 1.8;
  margin: 12px 0;
}
.product-story .rag-url-update {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  background: #f1f4ff;
  border: 1px solid #dfe5f7;
  border-radius: 20px;
  padding: 28px;
}
.product-story .rag-url-update>div:last-child {
  min-width: 0;
}
.product-story .rag-url-update .release-status {
  padding: 0;
  background: none;
  border: none;
  font-size: 14px;
}
.product-story .rag-url-update h4 {
  font-size: 23px;
  line-height: 1.6;
  margin: 10px 0 12px;
  letter-spacing: -.025em;
}
.product-story .rag-url-update p {
  font-size: 16px;
  margin: 0;
}

/* The five departments reuse the original document icons and product illustration. */
.product-story .department-tabs {
  width: 100%;
  display: flex;
  gap: 8px;
  padding: 0;
  background: none;
  border-radius: 0;
  overflow-x: auto;
  scroll-padding: 8px;
}
.product-story .department-tabs>button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex: 1 0 190px;
  padding: 16px 12px;
  border: 1px solid #e1e4ec;
  border-radius: 16px;
  background: #fff;
  color: #4c5060;
  font-size: 16px;
  line-height: 1.5;
}
.product-story .department-tabs>button>img {
  display: block;
  width: 36px;
  height: 44px;
  object-fit: contain;
  border-radius: 4px;
  background: #fff;
  padding: 2px;
  flex: none;
}
.product-story .department-tabs>button[aria-selected=true] {
  background: #405ecb;
  border: 1px solid #405ecb;
  color: #fff;
}
.product-story .department-tabs>button:hover:not([aria-selected=true]) {
  background: #eaf0ff;
  border-color: #b9c6eb;
}
.product-story .department-tabs>button:focus-visible {
  outline: 3px solid #2e6efe;
  outline-offset: 3px;
}
.product-story .department-panel {
  display: block;
  margin-top: 24px;
  padding: 40px;
  border-radius: 28px;
  background: #fff;
}
.product-story .department-panel[hidden] {
  display: none;
}
.product-story .department-heading {
  text-align: center;
  max-width: 1050px;
  margin: 0 auto 32px;
}
.product-story .department-heading .case-english {
  font-size: 14px;
  color: #405ecb;
  letter-spacing: .05em;
}
.product-story .department-heading h3 {
  font-size: clamp(27px, 2.55vw, 36px);
  line-height: 1.5;
  letter-spacing: -.035em;
  margin: 14px 0 16px;
}
.product-story .department-heading>p {
  /* max-width: 880px; */
  margin: 0 auto;
  font-size: 17px;
}
.product-story .department-detail-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 28px;
  align-items: stretch;
}
.product-story .department-question {
  background: #f2f5fc;
  border-radius: 20px;
  padding: 30px;
  min-width: 0;
}
.product-story .case-eyebrow {
  font-size: 14px;
  font-weight: 600;
  color: #5d6b8f;
}
.product-story .department-question blockquote {
  font-size: clamp(21px, 1.85vw, 27px);
  line-height: 1.8;
  letter-spacing: -.02em;
  color: #253760;
  margin: 22px 0 26px;
  padding: 0;
  border: 0;
  font-weight: 500;
}
.product-story .department-output {
  border-top: 1px solid #d9e1f1;
  padding-top: 22px;
}
.product-story .department-output h4 {
  font-size: 15px;
  font-weight: 600;
  color: #596a8a;
  margin: 0 0 13px;
}
.product-story .department-output ul {
  margin: 0;
  padding-left: 1.2em;
  color: #475573;
  font-size: 16px;
  line-height: 1.9;
}
.product-story .department-guide {
  min-width: 0;
  padding: 8px 6px;
}
.product-story .department-guide-title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.product-story .department-guide-title>img {
  display: block;
  flex: none;
  width: 64px;
  height: 76px;
  object-fit: contain;
}
.product-story .department-guide-title>div {
  min-width: 0;
}
.product-story .department-guide-title>div>span {
  display: block;
  font-size: 15px;
  color: #656d7e;
  margin-bottom: 8px;
}
.product-story .department-guide dl {
  margin: 0;
}
.product-story .department-guide dl>div {
  padding: 15px 0;
  border-top: 1px solid #e7e9ee;
}
.product-story .department-guide dt {
  font-size: 14px;
  font-weight: 600;
  color: #465985;
  margin-bottom: 6px;
}
.product-story .department-guide dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #5e6472;
}
.product-story .department-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  padding: 22px 0 0;
  margin: 26px 0 0;
  border-top: 1px solid #e7e9ee;
  gap: 20px;
}
.product-story .department-steps>li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.8;
  color: #4b5976;
  min-width: 0;
}
.product-story .department-steps>li>span {
  font-size: 14px;
  color: #2e6efe;
  flex: none;
  font-variant-numeric: tabular-nums;
}
.product-story .department-note {
  font-size: 14px;
  line-height: 1.8;
  margin: 20px 0 0;
}
.product-story .department-overview {
  margin-top: 52px;
}
.product-story .department-overview h3 {
  font-size: 25px;
  line-height: 1.5;
  margin: 0 0 26px;
}
.product-story .department-overview .use-source-figure {
  margin-bottom: 0;
}
.product-story .department-overview .use-source-figure img {
  max-width: 1180px;
}
.product-story .pricing-release-note {
  border: 1px solid #d6def3;
  background: #edf2ff;
  border-radius: 18px;
  padding: 20px 24px;
  margin: 0 0 28px;
  font-size: 16px;
  text-align: center;
}
.product-story .pricing-release-note strong {
  display: block;
  color: #4057b6;
  font-size: 14px;
  margin-bottom: 7px;
}
.product-story .mcp-beta-row {
  background: #eff3ff;
  color: #365ba3;
}

@media (max-width: 1100px) {
  .product-story .architecture-visual {
    padding: 24px;
  }
  .product-story .architecture-flow {
    grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1.2fr) 26px minmax(0, 1fr);
    gap: 8px;
  }
  .product-story .architecture-stage {
    padding: 22px 12px;
  }
  .product-story .architecture-stage h3 {
    font-size: 18px;
  }
  .product-story .department-tabs>button {
    flex-basis: 185px;
  }
}
@media (max-width: 900px) {
  .product-story .architecture-flow {
    grid-template-columns: 1fr;
  }
  .product-story .architecture-connector {
    flex-direction: row;
    gap: 20px;
    padding: 6px 0;
  }
  .product-story .architecture-connector>b {
    transform: rotate(90deg);
  }
  .product-story .architecture-clients .ai-clients {
    flex-direction: row;
  }
  .product-story .architecture-clients .ai-clients>span {
    flex: 1;
    min-width: 0;
    font-size: 19px;
  }
  .product-story .architecture-server .gateway-policies {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .product-story .architecture-server .gateway-policies>span {
    flex: 1;
    min-width: 110px;
  }
  .product-story .architecture-data .gateway-files {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .product-story .department-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .product-story .release-section {
    padding: 48px 0 16px;
  }
  .product-story .release-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .product-story .release-card {
    padding: 26px 22px;
    border-radius: 22px;
  }
  .product-story .release-card h3 {
    font-size: 24px;
  }
  .product-story .release-note {
    font-size: 14px;
    text-align: left;
  }
  .product-story .release-link {
    font-size: 15px;
  }
  .product-story .architecture-visual {
    padding: 22px 14px;
  }
  .product-story .architecture-stage h3 {
    font-size: 22px;
  }
  .product-story .architecture-clients .ai-clients>span {
    font-size: 17px;
  }
  .product-story .mcp-release-badge {
    font-size: 14px;
  }
  .product-story .rag-url-update {
    padding: 22px 18px;
    gap: 16px;
    flex-direction: column;
  }
  .product-story .rag-url-update h4 {
    font-size: 21px;
  }
  .product-story .department-tabs {
    padding: 4px 3px 12px;
  }
  .product-story .department-tabs>button {
    flex-basis: 180px;
    padding: 13px 12px;
    border-radius: 14px;
    font-size: 15px;
  }
  .product-story .department-panel {
    padding: 26px 20px;
    border-radius: 24px;
  }
  .product-story .department-heading {
    margin-bottom: 26px;
  }
  .product-story .department-heading h3 {
    font-size: 27px;
  }
  .product-story .department-heading>p {
    font-size: 16px;
  }
  .product-story .department-question {
    padding: 24px 20px;
    border-radius: 16px;
  }
  .product-story .department-question blockquote {
    font-size: 22px;
  }
  .product-story .department-guide {
    padding: 0;
  }
  .product-story .department-steps {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-top: 22px;
  }
  .product-story .department-overview {
    margin-top: 38px;
  }
  .product-story .department-overview h3 {
    font-size: 22px;
  }
  .product-story .pricing-release-note {
    padding: 18px;
    font-size: 15px;
  }
}

#mcp .official-mcp {
  background: #fff;
  color: #333;
  font-size: 16px;
  line-height: 1.6;
  border-radius: 20px;
  padding: 28px;
  min-width: 0;
}
#mcp .official-mcp p,
#mcp .official-mcp ul {
  margin: 0;
  padding: 0;
}
#mcp .official-mcp ul {
  list-style: none;
}
#mcp .official-mcp img {
  vertical-align: middle;
}

/* DirectCloud AI renewal — official brand, isolated feature CSS, portable assets. */
:root {
  --brand: #4952b9;
  --navy: #24283d;
  --body: #596175;
  --rule: #d9ddec;
  --pale: #f1f4ff;
  --content: 1400px;
  scroll-padding-top: 102px;
  color-scheme: light;
}
html {
  scroll-behavior: smooth;
}
body.product-story {
  font-family: "Noto Sans JP", "Yu Gothic", Meiryo, Arial, sans-serif;
  line-height: 1.7;
  color: var(--navy);
}
[hidden] {
  display: none !important;
}
button {
  color: inherit;
}
figure {
  margin: 0;
}
button,
a,
summary {
  touch-action: manipulation;
}
.product-story .container {
  width: min(var(--content), calc(100% - 80px));
  margin-inline: auto;
}
.product-story .section {
  padding: 75px 0 70px;
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
  color: var(--navy);
}
.product-story .section h2 {
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.48;
  margin: 0;
  text-wrap: balance;
}
.product-story .section p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--body);
}
.product-story .section h3 {
  line-height: 1.55;
  font-weight: 700;
  letter-spacing: -.025em;
}
.product-story .section-top {
  justify-content: center;
  margin-bottom: 12px;
  gap: 16px;
}
.product-story .section-kicker {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  color: #4160bd;
  background: rgba(255, 255, 255, .76);
  border: 1.35px solid #89a1e1c4;
  border-radius: 999px;
  padding: 3px 28px;
  box-shadow: 0 4px 8px rgba(50, 80, 160, .07);
}
.product-story .section-side {
  display: none;
}
.product-story .section-heading {
  margin-bottom: 38px;
  text-align: center;
}
.product-story .split-heading {
  display: block;
}
.product-story .split-heading>p {
  margin: 12px auto 0;
  font-size: 17px;
  line-height: 1.9;
}
.product-story .blue-text {
  color: var(--brand);
}
.product-story .fine-print,
.product-story .section .fine-print,
.product-story .section .dark-note {
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #71788b !important;
}
.product-story .text-link {
  color: var(--brand);
  border-color: #acb1de;
  font-size: 15px;
  font-weight: 600;
}
.product-story .text-link:hover {
  color: #242b86;
  border-color: var(--brand);
}

/* White navigation matches the supplied reference. */
.product-story .header {
  height: 76px;
  padding: 0 max(40px, calc((100% - var(--content))/2 + 16px));
  gap: 24px;
  background: #fff;
  color: #526170;
  border: 0;
  border-bottom: 1px solid #e3e6eb;
  box-shadow: 0 2px 8px #263d5907;
}
.product-story .header .brand {
  flex: none;
}
.product-story .header .brand img {
  width: 225px;
  height: auto;
  filter: none;
}
.product-story .header nav {
  margin-left: auto;
  gap: 18px;
  font-size: 16px;
  font-weight: 700;
}
.product-story .header nav>a {
  padding: 0 6px;
}
.product-story .header nav a:hover {
  color: #326bff;
}
.product-story .header nav .header-inquiry {
  justify-content: center;
  min-height: 42px;
  white-space: nowrap;
  background: #fff;
  border: 1.5px solid #d7dce3;
  border-radius: 999px;
  padding: 7px 23px;
  color: #74777b;
  margin-left: 25px;
}
.product-story .header nav .header-inquiry:hover {
  background: #f6f8fc;
  border-color: #a9b4c6;
  color: #526170;
}
.product-story .header nav .contact {
  justify-content: center;
  min-height: 42px;
  background: #ff0b50;
  border: 1px solid #ff0b50;
  border-radius: 999px;
  padding: 8px 23px;
  color: #fff;
}
.product-story .header nav .contact:hover {
  background: #e20946;
  border-color: #e20946;
  color: #fff;
}
.product-story .menu-toggle {
  display: none;
}

/* September notices remain clearly scheduled, rather than already released. */
.product-story .release-section {
  padding: 58px 0;
  background: #f2f9ff;
}
.product-story .release-section h2 {
  font-size: clamp(28px, 2.9vw, 39px);
}
.product-story .release-status {
  background: #ffffff;
  color: #4057b6;
  border: 2px solid #6269bd;
  border-radius: 999px;
  padding: 8px 20px;
  font-size: 16px;
  font-weight: 700;
}
.product-story .release-grid {
  gap: 24px;
}
.product-story .release-card {
  padding: 28px 30px;
  border: 1px solid #cfd5eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 10px #404b9410;
}
.product-story .release-card-top {
  gap: 16px;
  margin-bottom: 18px;
}
.product-story .release-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--brand);
}
.product-story .release-icon img {
  width: 42px;
  height: 42px;
}
.product-story .release-label {
  color: var(--brand);
  font-size: 17px;
}
.product-story .release-card h3 {
  font-size: 25px;
  margin-bottom: 14px;
}
.product-story .release-card p {
  margin: 0 0 22px;
}
.product-story .release-plans>span,
.product-story .release-steps>li {
  background: #f0f2fc;
  border-radius: 5px;
  color: #495277;
}
.product-story .release-steps>li::before {
  background-color: #e1e7f3;
  border-radius: 32px;
  padding: 0px 8px 1px;
  margin-right: 5px;
  color: #6c7db0;
}
.product-story .release-plans>span:first-child {
  background: #4952b9;
  color: #fff;
}
.product-story .release-link {
  color: var(--brand);
  font-size: 15px;
  border-color: #e0e3f0;
  padding-top: 18px;
}
.product-story .release-note {
    font-size: 13px !important;
    margin: 16px 0 0 2px !important;
    color: #868c9a !important;
    text-align: left !important;
}

.product-story .overview {
  background: #ffffff;
  padding-bottom: 78px;
}
.product-story .core-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
  margin: 0;
  overflow: visible;
}
.product-story .core-feature-grid article {
  min-width: 0;
  padding: 28px 25px 24px;
  border: 1px solid #d4d9ed;
  border-top: 4px solid var(--brand);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.product-story .core-feature-grid .value-index {
  position: static;
  color: #747abc;
  font-size: 14px;
}
.product-story .core-feature-grid h3 {
  font-size: 28px;
  color: var(--brand);
  margin: 8px 0 13px;
}
.product-story .core-feature-grid h4 {
  font-size: 19px;
  line-height: 1.65;
  min-height: 3.3em;
  margin: 0 0 13px;
}
.product-story .core-feature-grid p {
  font-size: 16px;
  margin: 0 0 20px;
  max-width: none;
  flex: 1;
}
.product-story .highlight-media {
  height: 185px;
  margin: 0 -25px 22px;
  background: #f4f6ff;
}
.product-story .highlight-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}
.product-story .highlight-media--chat {
  padding: 0;
  background: #e8edf4;
}
.product-story .highlight-media--chat img,
.product-story .highlight-media--mcp img {
  object-fit: cover;
  object-position: center;
}
.product-story .highlight-media--vlm img {
  object-position: center;
}
.product-story .value-tag {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  color: var(--brand);
  font-size: 15px;
  margin-top: auto;
}

/* A literal, readable AI → MCP → file relationship, using official file icons. */
.product-story .mcp-section {
  position: relative;
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
  overflow: visible;
}
.product-story .mcp-section>.container {
  padding: 0;
  background: none;
  border-radius: 0;
  color: var(--navy);
}
.product-story .mcp-layout {
  display: flex;
  flex-direction: column;
  gap: 34px;
  margin: 0;
  align-items: stretch;
}
.product-story .mcp-copy {
  text-align: center;
  align-self: center;
}
.product-story .mcp-copy h2 {
  font-size: clamp(32px, 3.5vw, 48px);
  color: var(--navy);
}
.product-story .mcp-copy>p {
  color: var(--body);
  font-size: 17px;
  margin: 22px auto 16px;
}
.product-story .mcp-release-badge {
  display: block;
  width: fit-content;
  margin: 20px auto 10px;
  background: #4952b9;
  color: #fff;
  border: 0;
  border-radius: 4px;
  font-size: 14px;
  padding: 7px 14px;
}
.product-story .mcp-copy .text-link {
  color: var(--brand);
  font-size: 15px;
}
.product-story .architecture-visual {
  width: 100%;
  max-width: none;
  background: #fff;
  border: 1px solid #cbd1ec;
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 4px 12px #4c54a00e;
}
.product-story .architecture-flow {
  grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1.2fr) 46px minmax(0, 1fr);
  gap: 12px;
}
.product-story .architecture-stage {
  background: #f6f7fc;
  border: 1px solid #d5daef;
  border-radius: 10px;
  padding: 24px 18px;
  color: var(--navy);
}
.product-story .architecture-label {
  color: #656d8a;
  font-size: 14px;
}
.product-story .architecture-stage h3 {
  color: #2c3262;
  font-size: 23px;
  margin: 8px 0 20px;
}
.product-story .architecture-clients .ai-clients {
  gap: 8px;
}
.product-story .architecture-clients .ai-clients>span {
  background: #fff;
  border: 1px solid #dde0ed;
  color: #333b62;
  font-size: 21px;
  border-radius: 6px;
  padding: 10px;
}
.product-story .architecture-server {
  background: #eef0ff;
  border: 2px solid var(--brand);
}
.product-story .architecture-server .gateway-title>img {
  filter: none;
  width: 185px;
  max-width: 100%;
}
.product-story .architecture-server h3 {
  font-size: 25px;
  margin: 12px 0 17px;
}
.product-story .architecture-server .gateway-policies>span {
  background: #fff;
  color: #465092;
  border: 1px solid #d5dbf3;
  border-radius: 5px;
  font-size: 14px;
  padding: 9px;
}
.product-story .architecture-connector {
  color: #666dc0;
  font-size: 13px;
}
.product-story .architecture-connector>b {
  font-size: 31px;
}
.product-story .architecture-data .gateway-files {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  border: 0;
  padding: 0;
}
.product-story .architecture-data .gateway-files>span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  padding: 12px 7px;
  background: #fff;
  border: 1px solid #e1e4ef;
  color: #555f7b;
}
.product-story .gateway-files img {
  width: 39px;
  height: 47px;
  object-fit: contain;
}
.product-story .gateway-files b {
  font-size: 13px;
  font-weight: 500;
}
.product-story .architecture-visual .prompt-example {
  margin-top: 28px;
  border: 0;
  border-top: 1px solid #d9deef;
  padding: 24px 0 0;
  text-align: center;
}
.product-story .small-label {
  color: var(--brand);
  font-size: 14px;
  font-weight: 600;
}
.product-story .architecture-visual .prompt-example p {
  color: #303969;
  font-size: 23px;
  line-height: 1.8;
  margin: 12px 0;
}
.product-story .prompt-foot {
  color: #757d95;
  font-size: 14px;
}
.product-story .mcp-bottom {
  border-top: 0;
  margin-top: 26px;
  padding-top: 0;
  gap: 24px;
}
.product-story .mcp-bottom>div {
  padding: 22px 24px;
  background: #f2f4fc;
  border-radius: 8px;
}
.product-story .mcp-bottom>div>span {
  color: var(--brand);
  font-size: 14px;
  display: block;
  margin: 0 0 8px;
}
.product-story .mcp-bottom strong {
  display: block;
  font-size: 18px;
  color: #343f70;
  font-weight: 700;
  margin: 0;
}
.product-story .mcp-bottom p {
  font-size: 15px;
  color: var(--body);
  margin-top: 8px;
}

/* Five original department icons, five detailed views. */
.product-story .use-section {
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}
.product-story .department-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 4px 0 12px;
  overflow: visible;
}
.product-story .department-tabs>button {
  flex: auto;
  min-width: 0;
  white-space: normal;
  flex-direction: column;
  gap: 9px;
  border-radius: 8px;
  padding: 17px 8px;
  border-color: #ccd2ea;
  font-size: 16px;
  line-height: 1.5;
}
.product-story .department-tabs>button>img {
  width: 38px;
  height: 44px;
  background: #fff;
  padding: 2px;
  border-radius: 3px;
}
.product-story .department-tabs>button[aria-selected=true] {
  background: #4952b9;
  border-color: #4952b9;
  color: #fff;
}
.product-story .department-panel {
  background: #fff;
  border: 1px solid #cdd4ec;
  border-top: 3px solid var(--brand);
  border-radius: 12px;
  margin-top: 12px;
  padding: 36px;
}
.product-story .department-heading {
  margin-bottom: 28px;
}
.product-story .department-heading h3 {
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.55;
  margin: 10px 0 15px;
}
.product-story .department-heading>p {
  font-size: 16px;
  /* max-width: 850px; */
}
.product-story .department-heading .case-english {
  color: #5d66b5;
  font-size: 13px;
}
.product-story .department-detail-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 30px;
  align-items: stretch;
}
.product-story .department-question {
  background: #f0f3ff;
  border: 1px solid #e2e6f4;
  border-radius: 10px;
  padding: 28px;
  display: flex;
  flex-direction: column;
}
.product-story .case-eyebrow {
  color: #656dab;
  font-size: 14px;
}
.product-story .department-question blockquote {
  font-size: 23px;
  line-height: 1.9;
  color: #2d3867;
  margin: 20px 0 25px;
  font-weight: 600;
}
.product-story .department-output {
  margin-top: auto;
  border-color: #d8def1;
}
.product-story .department-output h4 {
  font-size: 15px;
  color: #596588;
}
.product-story .department-output ul {
  font-size: 16px;
  line-height: 2;
}
.product-story .department-guide {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  gap: 0 20px;
  align-content: start;
  padding: 3px 0;
  min-width: 0;
}
.product-story .department-guide-title {
  grid-column: 1/-1;
  margin: 0 0 21px;
  gap: 14px;
  min-width: 0;
}
.product-story .department-guide-title>img {
  width: 42px;
  height: 54px;
}
.product-story .department-guide-title>div>span {
  font-size: 14px;
  margin: 0 0 4px;
}
.product-story .department-screen {
  margin: 0;
  padding: 0;
  align-self: start;
  border: 1px solid #dde1f0;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
.product-story .department-screen img {
  display: block;
  width: 100%;
  height: auto;
}
.product-story .department-screen figcaption {
  font-size: 12px;
  color: #7e8599;
  text-align: center;
  padding: 9px 6px;
  background: #f5f7fd;
  line-height: 1.5;
}
.product-story .department-guide dl {
  min-width: 0;
}
.product-story .department-guide dl>div {
  padding: 11px 0;
  border-color: #e3e6f1;
}
.product-story .department-guide dt {
  font-size: 13px;
  color: #5662a1;
  margin-bottom: 5px;
}
.product-story .department-guide dd {
  font-size: 15px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.product-story .department-steps {
  font-size: 15px;
  gap: 20px;
  margin-top: 26px;
  padding-top: 22px;
  border-color: #e1e5f0;
}
.product-story .department-steps>li>span {
  color: var(--brand);
}
.product-story .department-note {
  font-size: 13px;
  margin: 20px 0 0;
}
.product-story .department-panel--photo .department-detail-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .95fr);
  align-items: stretch;
  gap: 28px;
}
.product-story .department-photo {
  margin: 0;
  min-width: 0;
  align-self: center;
}
.product-story .department-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  background: #edf1f9;
  border-radius: 10px;
  border: 1px solid #dfe4f0;
}
.product-story .department-photo figcaption {
  font-size: 12px;
  color: #7a8498;
  line-height: 1.7;
  margin-top: 10px;
}
.product-story .department-panel--photo .department-question {
  padding: 26px;
}
.product-story .department-panel--photo .department-question blockquote {
  font-size: 22px;
  line-height: 1.85;
  margin: 17px 0 22px;
}
.product-story .department-panel--photo .department-guide {
  display: block;
  margin-top: 30px;
  padding: 25px 0 0;
  border-top: 1px solid #e0e5f0;
}
.product-story .department-panel--photo .department-guide-title {
  display: flex;
  align-items: center;
  margin: 0 0 22px;
  gap: 13px;
}
.product-story .department-panel--photo .department-guide-title>div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: 20px;
}
.product-story .department-panel--photo .department-guide-title>div>span {
  margin: 0;
  font-size: 15px;
}
.product-story .department-panel--photo .department-guide-title>img {
  width: 34px;
  height: 42px;
}
.product-story .department-panel--photo .department-guide dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.product-story .department-panel--photo .department-guide dl>div {
  border: 0;
  border-left: 3px solid #dde3fa;
  padding: 0 0 0 17px;
}
.product-story .department-panel--photo .department-guide dt {
  font-size: 14px;
  margin: 0 0 7px;
  color: #4b59a5;
}
.product-story .department-panel--photo .department-guide dd {
  font-size: 15px;
  line-height: 1.9;
}

/* Concrete document → question → result examples, drawn at reading size. */
.product-story .department-walkthrough .scenario-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.product-story .department-walkthrough .scenario-step {
  position: relative;
  min-width: 0;
  padding: 0;
  border: 0;
  background: none;
  list-style: none;
}
.product-story .department-walkthrough .scenario-step::before {
  content: none;
}
.product-story .department-walkthrough .scenario-step h4 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 16px;
  line-height: 1.55;
  color: #303a70;
  margin: 0 0 15px;
  min-height: 32px;
  font-weight: 700;
  letter-spacing: -.015em;
}
.product-story .department-walkthrough .scenario-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: #4952b9;
  color: white;
  font: 600 16px Arial, sans-serif;
  letter-spacing: 0.85px;
}
.product-story .department-walkthrough .scenario-visual {
  height: 278px;
  border: 1.5px solid #ccd4ea;
  background: #f7f9ff;
  border-radius: 9px;
  overflow: hidden;
  color: #39416b;
  font-size: 14px;
  line-height: 1.55;
  box-shadow: 0 3px 8px #222c6610;
}
.product-story .department-walkthrough .scenario-step>p {
  font-size: 13px;
  line-height: 1.65;
  color: #616a7d;
  margin: 10px 0 0 5px;
  text-align: left;
}
.product-story .department-walkthrough .scenario-connector {
  position: absolute;
  right: -28px;
  top: 164px;
  width: 26px;
  height: 26px;
  background: white;
  border: 1px solid #d0d7ee;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4952b9;
  z-index: 1;
}
.product-story .department-walkthrough .scenario-connector .walk-icon {
  width: 16px;
  height: 16px;
}
.product-story .department-walkthrough .scenario-disclaimer {
  font-size: 12px;
  color: #7b8397;
  line-height: 1.7;
  margin: 17px 0 0;
  text-align: left;
}
.product-story .department-walkthrough .walk-icon {
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.product-story .department-walkthrough .walk-ui-head {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 43px;
  padding: 0 15px;
  background: #e8edfc;
  border-bottom: 1px solid #d7def0;
  font-size: 14px;
  font-weight: 700;
  color: #4652a1;
  white-space: nowrap;
}
.product-story .department-walkthrough .walk-ui-head .walk-icon {
  width: 18px;
  height: 18px;
}
.product-story .department-walkthrough .walk-files {
  padding: 16px 14px 0px;
  display: grid;
  gap: 8px;
}
.product-story .department-walkthrough .walk-file {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  background: #f9fbff;
    border: 1.3px solid #cedbf28c;
  border-radius: 5px;
  padding: 8px 11px;
}
.product-story .department-walkthrough .walk-file>img {
  width: 29px;
  height: 35px;
  object-fit: contain;
  flex-shrink: 0;
}
.product-story .department-walkthrough .walk-file>div {
  min-width: 0;
}
.product-story .department-walkthrough .walk-file strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #354478;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
.product-story .department-walkthrough .walk-file span {
  display: block;
  font-size: 12px;
  color: #78829a;
  margin-top: 3px;
}
.product-story .department-walkthrough .walk-chat-body {
  padding: 17px 15px;
}
.product-story .department-walkthrough .walk-question {
  position: relative;
  background: #4952b9;
  color: #fff;
  padding: 15px;
  border-radius: 9px 9px 2px 9px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  margin-left: 14px;
}
.product-story .department-walkthrough .walk-question::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  width: 12px;
  height: 12px;
  background: #4952b9;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.product-story .department-walkthrough .walk-reply {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #4652a1;
  margin-top: 23px;
  line-height: 1.65;
}
.product-story .department-walkthrough .walk-reply .walk-icon {
  width: 24px;
  height: 24px;
}
.product-story .department-walkthrough .walk-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 17px;
  color: #6c7790;
  font-size: 12px;
  white-space: nowrap;
}
.product-story .department-walkthrough .walk-status .walk-icon {
  width: 15px;
  height: 15px;
}
.product-story .department-walkthrough .walk-web-list {
  display: grid;
  gap: 10px;
  padding: 16px 20px;
}
.product-story .department-walkthrough .walk-web-list>div {
  background: #f9fbff;
  border: 1.3px solid #cedbf28c;
  border-radius: 8px;
  padding: 8px 10px 8px 53px;
  position: relative;
}
.product-story .department-walkthrough .walk-web-list b {
  display: block;
  font-size: 14px;
  color: #37447e;
}
.product-story .department-walkthrough .walk-web-list>div>span:last-child {
  font-size: 12px;
  display: block;
  color: #727e97;
  margin-top: 2px;
}
.product-story .department-walkthrough .walk-browser-dots {
  position: absolute;
  left: 16px;
  top: 7px;
  color: #a5aed1;
  font-size: 15px;
  letter-spacing: 2px;
}
.product-story .department-walkthrough .walk-compare {
  padding: 16px 25px;
}
.product-story .department-walkthrough .walk-table-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 27px;
  align-items: center;
  gap: 7px;
  padding: 10px 0;
  border-bottom: 1px solid #dfe4f0;
  font-size: 14px;
  min-height: 43px;
}
.product-story .department-walkthrough .walk-table-label {
  font-size: 12px;
  color: #75809a;
  min-height: 28px;
  padding: 2px 0 7px;
}
.product-story .department-walkthrough .walk-cite {
  background: #e1e7fb;
  color: #4952b9;
  text-align: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  font: 600 12px/22px Arial;
}
.product-story .department-walkthrough .walk-result-note {
  font-size: 13px;
  color: #4952b9;
  font-weight: 600;
  margin: 12px 0 0;
  text-align: center;
}
.product-story .department-walkthrough .walk-checklist {
  list-style: none;
  padding: 17px 14px 10px;
  margin: 0;
  display: grid;
  gap: 12px;
}
.product-story .department-walkthrough .walk-checklist li {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px;
  background: #f9fbff;
    border: 1.3px solid #cedbf28c;
  border-radius: 5px;
  font-size: 14px;
  min-width: 0;
}
.product-story .department-walkthrough .walk-checklist li::before {
  content: none;
}
.product-story .department-walkthrough .walk-checklist li>span {
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: #dfe6fb;
  color: #4952b9;
  text-align: center;
  font: 600 12px/23px Arial;
  flex-shrink: 0;
}
.product-story .department-walkthrough .walk-checklist b {
  font-weight: 500;
}
.product-story .department-walkthrough .walk-source-tag {
  font-size: 12px;
  color: #596ca5;
  text-align: center;
  margin: 5px 10px 0;
  line-height: 1.6;
}
.product-story .department-walkthrough .walk-email {
  padding: 20px 18px;
}
.product-story .department-walkthrough .walk-email>div {
  display: flex;
  gap: 10px;
  border-bottom: 1px solid #c0cce6;
  padding-bottom: 8px;
  font-size: 14px;
}
.product-story .department-walkthrough .walk-email>div>span {
  color: #7e88a1;
  font-size: 12px;
}
.product-story .department-walkthrough .walk-email p {
  font-size: 13px;
  line-height: 1.6;
  margin: 9px 0;
  color: #687189;
}
.product-story .department-walkthrough .walk-email ul {
  padding: 0 0 0 1.2em;
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: #44517e;
}
.product-story .department-walkthrough .walk-email li {
  margin: 0;
  padding: 0;
  list-style: disc;
}
.product-story .department-walkthrough .walk-email li::before {
  content: none;
}
.product-story .department-walkthrough .walk-edit-label {
  display: block;
  text-align: right;
  margin-top: 9px;
  font-size: 12px;
  color: #6876b7;
}
.product-story .department-walkthrough .walk-sheet {
  padding: 10px 14px 0px;
}
.product-story .department-walkthrough .walk-sheet-meta {
  font-size: 12px;
  color: #748097;
  margin-bottom: 8px;
}
.product-story .department-walkthrough .walk-sheet table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  background: #fff;
}
.product-story .department-walkthrough .walk-sheet th,
.product-story .department-walkthrough .walk-sheet td {
  border: 1px solid #d6dae2;
  padding: 9px 7px;
  text-align: right;
  line-height: 1.5;
}
.product-story .department-walkthrough .walk-sheet th:first-child {
  text-align: center;
}
.product-story .department-walkthrough .walk-sheet thead {
  background: #e8edf9;
    color: #6871ab;
}
.product-story .department-walkthrough .walk-sheet tbody th {
  font-weight: 500;
  color: #5e627a;
}
.product-story .department-walkthrough .walk-report {
  padding: 10px 20px;
    background-color: #f2f6ff;
    margin: 15px 15px 0px;
}
.product-story .department-walkthrough .walk-report-total {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 0 8px;
}
.product-story .department-walkthrough .walk-report-total>span {
  grid-column: 1/-1;
  font-size: 12px;
  color: #6d7991;
}
.product-story .department-walkthrough .walk-report-total>strong {
  font-size: 30px;
  color: #3c4898;
  line-height: 1.6;
}
.product-story .department-walkthrough .walk-report-total small {
  font-size: 12px;
  margin-left: 5px;
  font-weight: 400;
}
.product-story .department-walkthrough .walk-report-total>b {
  font-size: 13px;
    color: #4952b9;
    background: #d2dfff;
    border-radius: 30px;
    padding: 4px 14px;
    margin-bottom: 8px;
    white-space: nowrap;
}
.product-story .department-walkthrough .walk-bars {
  display: grid;
  gap: 12px;
  margin: 14px 0 16px;
}
.product-story .department-walkthrough .walk-bars>div {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.product-story .department-walkthrough .walk-bars i {
  display: block;
  height: 24px;
  width: var(--bar);
  background: #b5c0e6;
  border-radius: 0 3px 3px 0;
  text-align: right;
  padding: 3px 8px;
  font-style: normal;
  color: #34457d;
}
.product-story .department-walkthrough .walk-bars>div:last-child i {
  background: #4952b9;
  color: white;
}
.product-story .department-walkthrough .walk-report-foot {
  font-size: 12px;
  color: #657297;
}
.product-story .department-walkthrough .walk-drawing-file {
  margin: 12px 15px 0;
  background: white;
  border: 1px solid #d9e0ee;
  border-radius: 3px;
  padding: 9px 10px 0;
}
.product-story .department-walkthrough .walk-paper-label {
  font-size: 12px;
  color: #536393;
  border-bottom: 1px solid #e6e9f2;
  padding-bottom: 4px;
}
.product-story .department-walkthrough .walk-drawing {
  display: block;
  width: 100%;
  height: 118px;
  color: #536fa2;
}
.product-story .department-walkthrough .walk-files-compact {
  padding: 10px 15px;
}
.product-story .department-walkthrough .walk-files-compact .walk-file {
  padding: 7px 9px;
}
.product-story .department-walkthrough .walk-files-compact .walk-file img {
  width: 24px;
  height: 29px;
}
.product-story .department-walkthrough .walk-search-body {
  padding: 16px 14px;
  display: grid;
  gap: 9px;
}
.product-story .department-walkthrough .walk-search-field {
  background: white;
  border: 2px solid #707ccb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 11px;
  border-radius: 6px;
  font-size: 17px;
  color: #36448f;
}
.product-story .department-walkthrough .walk-search-field .walk-icon {
  width: 19px;
  height: 19px;
}
.product-story .department-walkthrough .walk-search-help {
  font-size: 12px;
  color: #78839d;
  margin-bottom: 2px;
}
.product-story .department-walkthrough .walk-search-body .walk-file {
  padding: 8px;
}
.product-story .department-walkthrough .walk-search-body .walk-file img {
  width: 24px;
  height: 29px;
}
.product-story .department-walkthrough .walk-drawing-result {
  margin: 12px 15px 7px;
  background: #fff;
  border: 1px solid #dbe2f0;
  border-radius: 4px;
  padding: 6px 10px;
}
.product-story .department-walkthrough .walk-drawing-result .walk-drawing {
  height: 112px;
}
.product-story .department-walkthrough .walk-spec {
  display: grid;
  grid-template-columns: 86px 1fr;
  font-size: 12px;
  gap: 5px;
  padding: 7px 0 2px;
  border-top: 1px solid #e2e6f0;
}
.product-story .department-walkthrough .walk-spec>span {
  color: #7c869b;
}
.product-story .department-walkthrough .walk-spec strong {
  font-weight: 600;
  color: #3c4d82;
}

@media (max-width: 1100px) {
  .product-story .department-walkthrough .scenario-flow {
    gap: 20px;
  }
  .product-story .department-walkthrough .scenario-connector {
    right: -23px;
    width: 24px;
    height: 24px;
  }
  .product-story .department-walkthrough .scenario-step h4 {
    font-size: 16px;
    min-height: 50px;
    gap: 7px;
  }
  .product-story .department-walkthrough .scenario-visual {
    height: 300px;
  }
  .product-story .department-walkthrough .walk-chat-body {
    padding-inline: 10px;
  }
  .product-story .department-walkthrough .walk-question {
    font-size: 14px;
    padding: 13px 10px;
    margin-left: 0;
  }
  .product-story .department-walkthrough .walk-report-total {
    display: block;
  }
  .product-story .department-walkthrough .walk-report-total>span {
    display: block;
  }
  .product-story .department-walkthrough .walk-report-total>strong {
    font-size: 26px;
    margin-right: 5px;
  }
  .product-story .department-walkthrough .walk-status {
    white-space: normal;
  }
  .product-story .department-walkthrough .walk-report-foot {
    font-size: 12px;
  }
}
@media (max-width: 900px) {
  .product-story .department-walkthrough .scenario-flow {
    grid-template-columns: 1fr;
    gap: 27px;
  }
  .product-story .department-walkthrough .scenario-step {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 0 24px;
    align-items: center;
  }
  .product-story .department-walkthrough .scenario-step h4 {
    grid-column: 1/-1;
    font-size: 19px;
    min-height: 0;
    margin-bottom: 14px;
  }
  .product-story .department-walkthrough .scenario-visual {
    height: 278px;
    width: 100%;
    max-width: 380px;
  }
  .product-story .department-walkthrough .scenario-step>p {
    margin: 0;
    font-size: 16px;
  }
  .product-story .department-walkthrough .scenario-connector {
    display: none;
  }
  .product-story .department-walkthrough .walk-question {
    font-size: 16px;
    padding: 15px;
    margin-left: 10px;
  }
  .product-story .department-walkthrough .walk-report-total {
    display: grid;
  }
}
@media (max-width: 560px) {
  .product-story .department-walkthrough .scenario-flow {
    gap: 33px;
  }
  .product-story .department-walkthrough .scenario-step {
    display: block;
  }
  .product-story .department-walkthrough .scenario-step h4 {
    font-size: 18px;
  }
  .product-story .department-walkthrough .scenario-visual {
    max-width: none;
  }
  .product-story .department-walkthrough .scenario-step>p {
    font-size: 15px;
    margin-top: 12px;
  }
  .product-story .department-walkthrough .scenario-disclaimer {
    font-size: 12px;
  }
  .product-story .department-walkthrough .walk-chat-body {
    padding-inline: 14px;
  }
}

/* Official feature diagrams retain their own responsive stylesheet. */
.product-story .features-section {
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}
.product-story .feature-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  background: #eceef6;
  border: 1.5px solid #c8cee7;
  border-radius: 12px 12px 0 0;
}
.product-story .feature-tabs button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: normal;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  border: 0;
  border-right: 1.5px solid #d9deef;
  border-radius: 0;
  padding: 19px 8px;
  color: #626a81;
  min-width: 0;
  background: transparent;
}
.product-story .feature-tabs button:last-child {
  border: 0;
}
.product-story .feature-tabs button:first-child {
  border-radius: 11px 0 0 0;
}
.product-story .feature-tabs button:last-child {
  border-radius: 0 11px 0 0;
}
.product-story .feature-tabs button>span {
  display: block;
}
.product-story .feature-tabs .feature-tab-number {
  font-size: 16px;
  font-weight: 500;
  color: #8a92b5;
  letter-spacing: .08em;
}
.product-story .feature-tabs button>span:not(.feature-tab-number) {
  font-size: 22px;
  font-weight: 700;
  color: inherit;
  line-height: 1.55;
  letter-spacing: 0;
  white-space: nowrap;
}
.product-story .feature-tabs button[aria-selected=true] {
  background: #4952b9;
  color: #fff;
  border-color: #4952b9;
}
.product-story .feature-tabs button[aria-selected=true] .feature-tab-number {
  color: #c8ceff;
}
.product-story .feature-tabs button:hover:not([aria-selected=true]) {
  background: #e1e5f5;
  color: #333d83;
}
.product-story .feature-panel {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 50px 45px 40px;
  background: #fff;
  border: 1.5px solid #c8cee7;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  margin: 0;
}
@media (max-width: 768px) {
  .product-story #features .feature-panel {
    border-top: 1.5px solid #c8cee7;
    border-radius: 12px;
  }
}
.product-story .feature-copy {
  display: block;
  margin-bottom: 35px;
}
.product-story .feature-english {
  display: block;
  color: #4e53b4;
  font-size: 15px;
  letter-spacing: 0em;
}
.product-story .feature-copy h3 {
  font-size: 43px;
  line-height: 1.3;
  margin: 3px 0 12px;
  color: #303968;
  font-weight: 800;
}
.product-story .feature-copy>p:not(.fine-print) {
  font-size: 19px;
  line-height: 1.65;
  margin: 0;
}
.product-story .feature-points {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.9;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.product-story .feature-points li {
  padding: 5px 20px;
  border-radius: 999px;
  background: #eaefff;
  border: 1.5px solid #c5c9fccf;
  color: #474fc4;
  font-size: 14px;
  font-weight: 700;
}
.product-story .feature-points li::before {
  content: none;
}
.product-story .feature-copy>.fine-print {
  margin: 8px 0 0 2px;
}
.product-story .rag-url-update {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border: 1px solid #cdd5f1;
  border-radius: 8px;
  background: #f4f6ff;
  padding: 24px;
  margin: 25px 0 30px;
}
.product-story .rag-url-icon {
  flex: none;
  width: 54px;
  height: 54px;
  border-radius: 10px;
  background: #4952b9;
  display: grid;
  place-items: center;
}
.product-story .rag-url-icon img {
  width: 34px;
  height: 34px;
}
.product-story .rag-url-update h4 {
  font-size: 21px;
  line-height: 1.65;
  color: #344087;
  margin: 2px 0 10px;
}
.product-story .rag-url-update p {
  font-size: 15px;
  margin: 0;
  line-height: 1.9;
}
/* The live diagrams used a wider fixed desktop canvas. Fit them to the
renewed content width without shrinking Japanese text or clipping panels. */

.product-story .security-section {
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}
.product-story .security-layout {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 5%;
  align-items: start;
}
.product-story .security-intro h2 {
  margin: 22px 0 20px;
  font-size: 44px;
  line-height: 1.45;
  text-wrap: balance;
}
.product-story .security-intro h2>span {
  display: block;
  white-space: nowrap;
}
.product-story .security-intro>p {
  font-size: 20px;
  line-height: 1.6;
}
.product-story .security-seal {
  margin-top: 32px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.product-story .security-seal img {
  width: 170px;
  filter: none;
}
.product-story .security-seal span {
  font-size: 12px;
  color: #717bac;
  letter-spacing: .08em;
}
.product-story .security-list article {
  border-color: #d1d8ef;
  gap: 17px;
  padding: 23px 0;
}
.product-story .security-list article>span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  background: #4952b9;
  border-radius: 50%;
  color: #fff;
  font-size: 17px;
  flex: none;
  letter-spacing: 0.7px;
}
.product-story .security-list h3 {
  font-size: 25px;
  color: #334074;
  margin: 0 0 8px;
}
.product-story .security-list p {
  font-size: 15px;
  margin: 0;
}

.product-story .pricing-section {
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}
.product-story .pricing-release-note {
  border: 1px solid #cad2ee;
  background: #fff;
  border-radius: 8px;
  padding: 21px;
  font-size: 16px;
  color: #4a5481;
}
.product-story .pricing-release-note strong {
  color: var(--brand);
}
.product-story .plan-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.product-story .plan {
  padding: 22px 18px 18px;
  border: 1px solid #cfd5e9;
  border-top: 4px solid #bac2e6;
  background: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  min-width: 0;
}
.product-story .plan-featured {
  border: 1px solid var(--brand);
  border-top: 4px solid var(--brand);
  background: #edf0ff;
}
.product-story .plan-audience {
  font-size: 13px;
  color: #6b74a2;
  line-height: 1.7;
}
.product-story .plan h3 {
  font-size: 29px;
  color: #33418e;
  margin: 13px 0 5px;
}
.product-story .plan-size {
  font-size: 12px;
  line-height: 1.7;
  color: #7a829c;
}
.product-story .plan-price {
  font-size: clamp(24px, 2.15vw, 32px);
  color: #2f397b;
  line-height: 1.4;
  margin: 22px 0 16px;
  font-weight: 700;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.product-story .plan-price>small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  margin: 5px 0 0;
  color: #70799b;
}
.product-story .plan>p {
  font-size: 14px;
  line-height: 1.9;
  margin: 0 0 18px;
}
.product-story .plan-credit {
  margin-top: auto;
  border-color: #dce1ef;
  padding: 16px 0;
}
.product-story .plan-credit>b {
  font-size: 21px;
  color: #424e8c;
}
.product-story .plan-credit>span {
  font-size: 12px;
  color: #7a83a2;
}
.product-story .plan>a {
  font-size: 14px;
  background: #4952b9;
  color: #fff;
  border-radius: 5px;
  padding: 12px;
}
.product-story .plan>a:hover {
  background: #333c95;
}
.product-story .plan-important {
  font-size: 13px;
  line-height: 1.9;
  color: #788098;
  margin: 19px 0 0;
}
.product-story .plan-grid {
  padding-top: 17px;
}
.product-story .plan.plan-featured {
  position: relative;
  background: #4149a8;
  border-color: #4149a8;
  color: white;
  box-shadow: none;
}
.product-story .plan.plan-featured h3,
.product-story .plan.plan-featured .plan-price,
.product-story .plan.plan-featured .plan-credit>b {
  color: #fff;
}
.product-story .plan.plan-featured .plan-audience,
.product-story .plan.plan-featured .plan-size,
.product-story .plan.plan-featured .plan-price>small,
.product-story .plan.plan-featured .plan-credit>span,
.product-story .plan.plan-featured>p {
  color: #eef0ff;
}
.product-story .plan.plan-featured .plan-credit {
  border-color: #ffffff40;
}
.product-story .plan.plan-featured>a {
  background: white;
  color: #394397;
  border: 1px solid #fff;
  font-weight: 700;
}
.product-story .plan.plan-featured>a:hover {
  background: #e9edff;
  border-color: #e9edff;
}
.product-story .plan-recommendation {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  white-space: nowrap;
  padding: 6px 18px;
  background: #fff;
  border: 2px solid #4149a8;
  border-radius: 20px;
  color: #4149a8;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}
.product-story .price-details {
  margin-top: 28px;
  border: 0;
  background: #fff;
  padding: 0 22px;
  border-radius: 0;
}
.product-story .price-details>summary {
  padding: 21px 0;
  font-size: 17px;
  line-height: 1.8;
  color: #374583;
}
.product-story .table-scroll {
  overflow: auto;
  max-width: 100%;
  scrollbar-color: #9da8d5 #f1f3fa;
  border: 1px solid #d8dded;
}
.product-story .comparison-table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.8;
}
.product-story .comparison-table th,
.product-story .comparison-table td {
  padding: 15px 12px;
  border: 1px solid #d8deee;
  text-align: center;
  min-width: 120px;
  vertical-align: middle;
}
.product-story .comparison-table thead th {
  background: #626cc0;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}
.product-story .comparison-table thead th:first-child {
  min-width: 230px;
  background: #535fac;
  text-align: left;
}
.product-story .comparison-table tbody th {
  background: #f3f5fb;
  text-align: left;
  font-weight: 500;
  min-width: 230px;
}
.product-story .comparison-table td:nth-child(5) {
  background: #ebefff;
}
.product-story .comparison-table thead th:nth-child(5) {
  background: #404baf;
}
.product-story .comparison-table .table-group th {
  background: #e4e9fa;
  color: #3d498d;
  font-size: 14px;
  font-weight: 700;
  padding: 9px 14px;
}
.product-story .comparison-table .mcp-beta-row td {
  background: #eff3ff;
  color: #4b57a5;
  font-weight: 600;
}
.product-story .price-notes {
  margin-top: 18px;
}
.product-story .price-notes p {
  font-size: 12px;
  line-height: 1.9;
  color: #757f98;
  margin: 8px 0;
}

/* FAQ — ported 1:1 from the production directcloud_ai layout (tab nav + single-column accordion) */
#faq h2 {
  text-align: center;
}
#faq .faq-tab-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}
#faq .faq-tab-btn {
  flex: none;
  position: relative;
  padding: 9px 40px 10px;
  background: #ffffff;
  border: 1px solid #ccd0d9;
  border-radius: 50px;
  color: #444b62;
  font-size: 19px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
  line-height: 1.4;
  letter-spacing: 0;
  box-shadow: 0 2px 4px #eef1f396;
}
#faq .faq-tab-btn:hover {
  background: #fff;
  border-color: #4952b9;
  color: #4952b9;
}
#faq .faq-tab-btn.is-active {
  background: #4952b9;
  color: #fff;
  border-color: #4952b9;
}
#faq .faq_area {
  padding-top: 0;
}
#faq .faq-tab-panel {
  display: none;
}
#faq .faq-tab-panel.is-active {
  display: block;
}
#faq .faq-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 25px;
}
#faq .faq-item {
  overflow: hidden;
  border: 1.2px solid #d8dfe9;
  border-radius: 16px;
  background: #fff;
  transition: .2s;
  box-shadow: 0 4px 6px rgba(15, 26, 46, .03);
}
#faq .faq-item.open {
  border: 1.5px solid rgba(73, 82, 185, .55);
}
#faq .faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  font-family: inherit;
  padding: 20px 24px 20px 35px;
  cursor: pointer;
  font-weight: 400;
  font-size: 19px;
  color: #1e2a3a;
  user-select: none;
  transition: background .15s;
  gap: 16px;
  line-height: 1.6;
}
#faq .faq-question:hover,
#faq .faq-item.open .faq-question {
  background: #f5f6ff;
}
#faq .faq-question:focus-visible {
  outline: 3px solid #4952b9;
  outline-offset: -3px;
}
#faq .faq-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9aa5b4;
  font-size: 38px;
  font-weight: 300;
  line-height: 1;
  transition: color .2s;
}
#faq .faq-item.open .faq-icon {
  color: #4952b9;
}
#faq .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .25s;
  padding: 0 28px;
  font-size: 19px;
  color: #4a5568;
  line-height: 1.75;
}
#faq .faq-item.open .faq-answer {
  max-height: 3000px;
  padding: 16px 28px 28px 35px;
}
#faq .faq-answer a {
  color: #4952b9;
}
#faq .q_greytxt {
  font-size: 1em;
  color: #666;
}
#faq .box_plan {
  background: #f5f6fa;
  border-radius: 10px;
  margin: 10px 0;
}
#faq .box_plan_contents {
  display: block;
  margin-bottom: 10px;
  padding: 20px;
}
#faq .box_plan_contents li {
  padding: 5px 0 0 10px;
  font-size: 1.05em;
  line-height: 2;
}
#faq .faq-credit-note {
  color: #ff4b4b;
  font-size: .55em;
  white-space: nowrap;
}
#faq .q_info_greytxt {
  font-size: 14px;
  color: #666;
  line-height: 1.7;
  padding-left: 0;
  display: block;
  margin-top: 8px;
}
#faq .faq-text-info {
  display: block;
  padding-left: 0;
  line-height: inherit;
}
@media (max-width: 768px) {
  #faq .q_info_greytxt {
    font-size: 12px;
  }
  #faq .faq-tab-nav {
    gap: 8px;
    margin-top: 18px;
    justify-content: flex-start;
  }
  #faq .faq-tab-btn {
    padding: 7px 20px;
    font-size: 16px;
    letter-spacing: -.3px;
  }
  #faq .faq-question {
    padding: 16px 17px 16px 20px;
    font-size: 18px;
    line-height: 1.5;
    gap: 10px;
  }
  #faq .faq-icon {
    width: 35px;
    height: 35px;
    font-size: 32px;
  }
  #faq .faq-item.open .faq-answer {
    padding: 16px 17px 16px 20px;
    font-size: 17px;
  }
}

.product-story .closing-section {
  background: linear-gradient(110deg, #17134c, #24286c);
  padding: 34px 0 48px;
  color: #fff;
}
.product-story .closing-section .section-kicker {
  display: block;
  width: fit-content;
  margin: 0 auto 8px;
  text-align: center;
  color: #dfe3ff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  background: rgba(255, 255, 255, .08);
  border: 2px solid rgba(255, 255, 255, .4);
}
.product-story .closing-layout {
  display: block;
  max-width: 1100px;
  margin: 10px auto 0;
  text-align: center;
}
.product-story .closing-layout h2 {
  font-size: clamp(38px, 3.6vw, 54px);
  line-height: 1.4;
  font-weight: 700;
  margin: 0;
  letter-spacing: -.035em;
  color: #fff;
}
.product-story .closing-title-phrase {
  display: inline-block;
  max-width: 100%;
}
.product-story .closing-layout p {
  font-size: 19px;
  line-height: 1.9;
  color: #c5cbed;
  margin: 4px auto 16px;
  max-width: 850px;
}
.product-story .closing-actions {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-direction: row;
  max-width: none;
}
.product-story .button-primary,
.product-story .button-secondary {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 30px;
  height: 64px;
  border-radius: 999px;
  flex: none;
  width: 320px;
  max-width: 100%;
  white-space: nowrap;
  border: 2px solid transparent;
  transition: .2s;
}
.product-story .cta-btn-icon {
  flex: none;
  width: 32px;
  height: auto;
}
.product-story .cta-btn-text {
  flex: 1 1 auto;
  text-align: left;
}
.product-story .cta-btn-arrow {
  flex: none;
  width: 18px;
  height: 18px;
  margin-left: auto;
}
.product-story .button-primary {
  background: #ff114a;
  color: #fff !important;
}
.product-story .button-secondary {
  background: #fff;
  color: #00348a;
}
.product-story .button-primary:hover,
.product-story .button-secondary:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, .2);
  transform: scale(1.04);
  text-decoration: none;
}
.product-story .trademark-bar {
  background-color: #0b0b12;
}
.product-story .trademark-bar__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 4%;
}
.product-story .trademark-bar__text {
  margin: 0;
  padding: 30px 0 22px;
  border-bottom: 1px solid rgb(150 150 168 / 24%);
  font-size: 13px;
  line-height: 1.9;
  font-weight: 400;
  color: #c7cad6ab;
  text-align: center;
}
.product-story .footer {
  background-color: #0b0b12;
  margin-top: 0;
}

@media (max-width: 1100px) {
  .product-story .header {
    padding-inline: 36px;
  }
  .product-story .menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 7px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: none;
    width: 44px;
    height: 44px;
    margin-left: auto;
    color: #526170;
  }
  .product-story .menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #526170;
    transition: transform .2s;
  }
  .product-story .menu-toggle[aria-expanded=true] span:first-child {
    transform: translateY(4.5px) rotate(45deg);
  }
  .product-story .menu-toggle[aria-expanded=true] span:last-child {
    transform: translateY(-4.5px) rotate(-45deg);
  }
  .product-story .header nav {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    padding: 16px 28px 24px;
    background: #fff;
    border-top: 1px solid #e3e6eb;
    margin: 0;
    box-shadow: 0 16px 22px #263d5914;
  }
  .product-story .header nav.open {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .product-story .header nav>a,
  .product-story .header nav>a:nth-of-type(1),
  .product-story .header nav>a:nth-of-type(4),
  .product-story .header nav>a:nth-of-type(6) {
    display: flex;
    font-size: 15px;
    padding: 14px 4px;
    border-bottom: 1px solid #e7eaf0;
  }
  .product-story .header nav .header-inquiry {
    margin-top: 16px;
    padding: 12px 20px;
    border: 1px solid #d7dce3;
  }
  .product-story .header nav .contact {
    margin-top: 15px;
    justify-content: center;
    padding: 14px;
  }
  .product-story .container {
    width: calc(100% - 56px);
  }
  .product-story .core-feature-grid {
    gap: 16px;
  }
  .product-story .core-feature-grid article {
    padding: 24px 19px;
  }
  .product-story .core-feature-grid h3 {
    font-size: 25px;
  }
  .product-story .core-feature-grid h4 {
    font-size: 18px;
  }
  .product-story .highlight-media {
    margin-inline: -19px;
    height: 170px;
  }
  .product-story .feature-tabs button {
    font-size: 19px;
  }
  .product-story .feature-tabs button>span:not(.feature-tab-number) {
    font-size: 18px;
  }
  .product-story .feature-panel {
    padding: 28px;
  }
  .product-story .feature-copy {
    gap: 0 25px;
  }
  .product-story .feature-copy h3 {
    font-size: 27px;
  }
  .product-story .department-panel {
    padding: 30px;
  }
  .product-story .department-tabs>button {
    font-size: 15px;
  }
  .product-story .department-detail-grid {
    gap: 24px;
  }
  .product-story .department-guide {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 0 15px;
  }
  .product-story .department-question {
    padding: 24px;
  }
  .product-story .department-question blockquote {
    font-size: 21px;
  }
  .product-story .plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 18px;
  }
  .product-story .plan-price {
    font-size: 32px;
  }
  .product-story .architecture-flow {
    grid-template-columns: minmax(0, 1fr) 25px minmax(0, 1.15fr) 25px minmax(0, 1fr);
    gap: 8px;
  }
  .product-story .architecture-stage {
    padding: 22px 12px;
  }
  .product-story .closing-layout h2 {
    font-size: 42px;
  }
  .product-story .button-primary,
  .product-story .button-secondary {
    font-size: 19px;
    height: 68px;
    width: 300px;
  }
}
@media (max-width: 820px) {
  .product-story .department-panel--photo .department-detail-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .product-story .department-panel--photo .department-guide dl {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .product-story .department-panel--photo .department-guide-title>div {
    display: block;
  }
  .product-story .department-panel--photo .department-guide-title>div>span {
    margin-bottom: 5px;
  }
  .product-story .section {
    padding: 65px 0;
  }
  .product-story .core-feature-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 640px;
    margin: auto;
  }
  .product-story .core-feature-grid article {
    padding: 26px;
  }
  .product-story .core-feature-grid h3 {
    font-size: 30px;
  }
  .product-story .core-feature-grid h4 {
    min-height: 0;
    font-size: 20px;
  }
  .product-story .highlight-media {
    margin-inline: 0;
    height: 215px;
    border-radius: 6px;
  }
  .product-story .architecture-flow {
    grid-template-columns: 1fr;
  }
  .product-story .architecture-connector {
    flex-direction: row;
    padding: 4px;
  }
  .product-story .architecture-connector>b {
    transform: rotate(90deg);
  }
  .product-story .architecture-clients .ai-clients {
    flex-direction: row;
  }
  .product-story .architecture-clients .ai-clients>span {
    font-size: 19px;
    flex: 1;
    min-width: 0;
  }
  .product-story .architecture-server .gateway-policies {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .product-story .architecture-server .gateway-policies>span {
    flex: 1;
    min-width: 135px;
  }
  .product-story .architecture-data .gateway-files {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .product-story .mcp-bottom {
    gap: 15px;
  }
  .product-story .mcp-bottom>div {
    padding: 20px 16px;
  }
  .product-story .mcp-bottom strong {
    font-size: 17px;
  }
  .product-story .department-detail-grid {
    grid-template-columns: 1fr;
  }
  .product-story .department-guide {
    grid-template-columns: 145px 1fr;
    gap: 0 24px;
  }
  .product-story .department-tabs {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 12px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .product-story .department-tabs>button {
    flex: 0 0 180px;
    scroll-snap-align: start;
    font-size: 15px;
    padding: 14px 10px;
    white-space: nowrap;
  }
  .product-story .feature-tabs {
    overflow-x: auto;
    display: flex;
    scrollbar-width: thin;
  }
  .product-story .feature-tabs button {
    flex: 0 0 180px;
    padding: 15px 10px;
    font-size: 18px;
  }
  .product-story .feature-copy {
    display: block;
    margin-bottom: 26px;
  }
  .product-story .feature-copy h3 {
    font-size: 29px;
    margin: 12px 0 18px;
    white-space: normal;
  }
  .product-story .feature-copy>p:not(.fine-print) {
    margin: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .product-story .feature-points {
    margin-top: 17px;
  }
  .product-story .agent-grid {
    grid-template-columns: 1fr;
  }
  .product-story .security-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .product-story .security-intro h2 {
    font-size: 34px;
    margin: 17px 0;
  }
  .product-story .security-intro h2>span {
    white-space: normal;
  }
  .product-story .security-seal {
    margin-top: 24px;
  }
  .product-story .closing-layout h2 {
    font-size: 36px;
  }
  .product-story .closing-layout p {
    font-size: 17px;
    margin: 14px auto;
  }
  .product-story .closing-actions {
    justify-content: center;
  }
  .product-story .button-primary,
  .product-story .button-secondary {
    font-size: 18px;
    width: 280px;
  }
}
@media (max-width: 560px) {
  .product-story .department-panel--photo .department-question {
    padding: 22px 18px;
  }
  .product-story .department-panel--photo .department-question blockquote {
    font-size: 21px;
  }
  .product-story .feature-tabs button>span:not(.feature-tab-number) {
    font-size: 16px;
  }
  :root {
    scroll-padding-top: 90px;
  }
  .product-story .header {
    height: 70px;
    padding-inline: 26px;
  }
  .product-story .sp_hamburger_Btn {
    margin-right: 8px;
  }
  .product-story .header .brand img {
    width: 177px;
  }
  .product-story .header nav {
    top: 70px;
    padding-inline: 22px;
  }
  .product-story .container {
    width: calc(100% - 36px);
  }
  .product-story .section {
    padding: 54px 0;
  }
  .product-story .section h2 {
    font-size: 30px;
    line-height: 1.6;
  }
  .product-story .section-heading {
    margin-bottom: 29px;
  }
  .product-story .split-heading>p {
    font-size: 16px;
    line-height: 1.9;
    text-align: left;
    margin-top: 18px;
  }
  .product-story .section-kicker {
    font-size: 13px;
  }
  .product-story .section-top {
    gap: 12px;
    flex-wrap: wrap;
  }
  .product-story .section p {
    font-size: 16px;
  }
  .product-story .release-section {
    padding: 42px 0;
  }
  .product-story .release-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .product-story .release-card {
    padding: 25px 22px;
    border-radius: 10px;
  }
  .product-story .release-card h3 {
    font-size: 23px;
  }
  .product-story .release-label {
    font-size: 16px;
  }
  .product-story .release-note {
    font-size: 12px;
  }
  .product-story .core-feature-grid article {
    padding: 25px 22px;
  }
  .product-story .core-feature-grid h3 {
    font-size: 29px;
  }
  .product-story .highlight-media {
    height: 190px;
  }
  .product-story .core-feature-grid p {
    font-size: 16px;
  }
  .product-story .mcp-copy>p {
    font-size: 16px;
    text-align: left;
  }
  .product-story .mcp-release-badge {
    font-size: 13px;
    padding: 8px 10px;
    line-height: 1.7;
  }
  .product-story .architecture-visual {
    padding: 20px 15px;
    border-radius: 10px;
  }
  .product-story .architecture-stage {
    padding: 22px 13px;
  }
  .product-story .architecture-stage h3 {
    font-size: 22px;
  }
  .product-story .architecture-clients .ai-clients>span {
    font-size: 17px;
    padding: 11px 5px;
  }
  .product-story .architecture-data .gateway-files {
    gap: 6px;
  }
  .product-story .gateway-files img {
    width: 30px;
    height: 39px;
  }
  .product-story .architecture-visual .prompt-example p {
    font-size: 20px;
  }
  .product-story .prompt-foot {
    font-size: 13px;
    line-height: 1.9;
  }
  .product-story .mcp-bottom {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .product-story .mcp-bottom>div {
    display: block;
    padding: 20px;
  }
  .product-story .mcp-bottom>div>span {
    display: inline-block;
    margin: 0 10px 0 0;
  }
  .product-story .mcp-bottom strong {
    display: inline;
    font-size: 18px;
  }
  .product-story .mcp-bottom p {
    font-size: 15px;
  }
  .product-story .department-panel {
    padding: 25px 20px;
    border-radius: 9px;
  }
  .product-story .department-heading h3 {
    font-size: 25px;
    text-align: left;
  }
  .product-story .department-heading>p {
    text-align: left;
    font-size: 16px;
  }
  .product-story .department-question {
    padding: 22px 19px;
  }
  .product-story .department-question blockquote {
    font-size: 21px;
    line-height: 1.85;
    margin-top: 18px;
  }
  .product-story .department-output ul {
    font-size: 15px;
  }
  .product-story .department-guide {
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 0 15px;
  }
  .product-story .department-guide dd {
    font-size: 14px;
    line-height: 1.85;
  }
  .product-story .department-guide dt {
    font-size: 13px;
  }
  .product-story .department-screen figcaption {
    font-size: 12px;
  }
  .product-story .department-steps {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .product-story .department-note {
    font-size: 13px;
  }
  .product-story .feature-tabs button {
    flex-basis: 170px;
  }
  .product-story .feature-panel {
    padding: 25px 17px;
  }
  .product-story .feature-copy h3 {
    font-size: 27px;
    line-height: 1.55;
  }
  .product-story .feature-points {
    font-size: 13px;
  }
  .product-story .rag-url-update {
    padding: 19px 17px;
    gap: 12px;
    flex-direction: column;
  }
  .product-story .rag-url-icon {
    width: 44px;
    height: 44px;
  }
  .product-story .rag-url-update h4 {
    font-size: 20px;
  }
  .product-story .rag-url-update p {
    font-size: 15px;
  }
  .product-story .agent-grid article {
    padding: 25px 21px;
  }
  .product-story .agent-grid h3 {
    font-size: 22px;
  }
  .product-story .agent-prompt {
    font-size: 16px;
    padding: 19px 16px;
  }
  .product-story .action-steps {
    gap: 8px;
  }
  .product-story .action-steps>li {
    font-size: 12px;
  }
  .product-story .action-steps img {
    width: 36px;
    height: 36px;
  }
  .product-story .security-intro h2 {
    font-size: 30px;
  }
  .product-story .security-seal {
    flex-wrap: wrap;
    gap: 12px;
  }
  .product-story .security-list article {
    gap: 14px;
  }
  .product-story .security-list h3 {
    font-size: 19px;
  }
  .product-story .security-list p {
    font-size: 15px;
  }
  .product-story .plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 13px;
  }
  .product-story .plan {
    padding: 20px 13px 14px;
  }
  .product-story .plan h3 {
    font-size: 27px;
  }
  .product-story .plan-price {
    font-size: 27px;
  }
  .product-story .plan-audience {
    font-size: 12px;
  }
  .product-story .plan-size {
    font-size: 12px;
  }
  .product-story .plan>p {
    font-size: 13px;
  }
  .product-story .plan-credit>b {
    font-size: 19px;
  }
  .product-story .plan>a {
    font-size: 13px;
    padding: 11px 9px;
  }
  .product-story .plan-important {
    font-size: 13px;
  }
  .product-story .pricing-release-note {
    padding: 18px 16px;
    font-size: 15px;
  }
  .product-story .price-details {
    padding: 0 14px;
  }
  .product-story .price-details>summary {
    font-size: 15px;
  }
  .product-story .price-notes p {
    font-size: 12px;
  }
  .product-story .closing-section {
    padding: 25px 0 28px;
  }
  .product-story .closing-section .section-kicker {
    font-size: 13px;
  }
  .product-story .closing-layout h2 {
    font-size: 32px;
  }
  .product-story .closing-layout p {
    font-size: 16px;
  }
  .product-story .closing-actions {
    flex-direction: column;
    gap: 14px;
    max-width: 340px;
    margin: auto;
  }
  .product-story .button-primary,
  .product-story .button-secondary {
    width: 100%;
    height: 64px;
    padding: 0 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
@media print {
  .header,
  .dcai-motion-toggle,
  .closing-actions {
    display: none !important;
  }
  .section {
    break-inside: avoid;
  }
  .feature-panel[hidden],
  .case-panel[hidden] {
    display: block !important;
  }
  .table-scroll {
    overflow: visible !important;
  }
  .comparison-table {
    min-width: 0 !important;
    font-size: 9px !important;
  }
  .container {
    width: 100% !important;
  }
}

@media (min-width: 1101px) and (max-width: 1240px) {
  .product-story .header .brand img {
    width: 180px;
  }
  .product-story .header nav {
    gap: 12px;
    font-size: 13px;
  }
  .product-story .header nav .header-inquiry,
  .product-story .header nav .contact {
    padding-inline: 16px;
  }
}

#features .official-feature .feature_three_column_section {
  width: 100%;
  padding: 54px 28px 35px;
  background: linear-gradient(180deg, #ffffff 0%, #dce4fc 45%, #edf0ff 100%);
  border: 2px solid #c5d0f5;
  border-radius: 15px;
  margin-top: 40px;
  position: relative;
}
#features .official-feature .feature_three_column_inner {
  width: 98%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0;
}
#features .official-feature .feature_col {
  box-sizing: border-box;
}
#features .official-feature .feature_col_left {
  flex: 1 1 40%;
  margin-right: 0;
}
#features .official-feature .feature_col_center {
  flex: 0 0 auto;
  margin-left: 0;
  margin-right: 10px;
}
#features .official-feature .feature_col_right {
  flex: 1 1 45%;
}
#features .official-feature .feature_video_wrap {
  width: 100%;
}
#features .official-feature .feature_video_image_box {
  width: 100%;
  padding: 20px 10px;
}
@media screen and (max-width: 1024px) {
  #features .official-feature .feature_three_column_inner {
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  #features .official-feature .feature_three_column_inner {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  #features .official-feature .feature_col_left,
  #features .official-feature .feature_col_center,
  #features .official-feature .feature_col_right {
    flex: none;
    width: 100%;
  }
  #features .official-feature .feature_col_center {
    margin-right: 0;
  }
  #features .official-feature .feature_col_right {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #features .official-feature .feature_three_column_section {
    padding: 54px 18px 20px;
  }
}
#features .official-feature .feature_video_image_box {
  width: 100%;
}
#features .official-feature .feature_video_wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 25 / 24;
  padding: 1px;
  border-radius: 20px;

  overflow: hidden;
  box-sizing: border-box;
  background-color: #ffffff;
  border: 2px solid #4952b9;
  box-shadow: 0 12px 28px rgba(73, 82, 185, .16), 0 3px 8px rgba(15, 26, 46, .06);
}
#features .official-feature .feature_video_wrap .feature_video_image_box {
  height: 97%;
  padding: 45px 12px;
}
#features .official-feature .feature_video_wrap .ai-card,
#features .official-feature .feature_video_wrap .answer {
  display: block;
  width: 100%;
  height: 100%;
}
#features .official-feature .feature_video_wrap .answer video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Web検索 demo card — an animated input + scrolling-answer mock instead of a screen-recorded video.
Matches the real product capture: chat header, echoed prompt chip, a plain-text streamed
answer (特徴/主要機能/メリット sections with inline citation numbers), and a live input bar. */
#features .official-feature .dcai-demo {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 10px 5px 8px;
  box-sizing: border-box;
  font-size: 14px;
  color: #2c313b;
  gap: 10px;
}
#features .official-feature .dcai-demo-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 15px;
  color: #1e2a3a;
}
#features .official-feature .dcai-demo-header-icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #4952b9;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
}
#features .official-feature .dcai-demo-prompt-chip {
  flex: 0 0 auto;
  align-self: flex-end;
  max-width: 88%;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  background: #f2f3f8;
  border-radius: 14px;
  padding: 9px 14px;
  font-size: 12.5px;
  line-height: 1.6;
  color: #4a5568;
  opacity: 0;
  animation: dcaiChip 12s ease-in-out infinite;
}
#features .official-feature .dcai-demo-chip-icon {
  flex: 0 0 auto;
  opacity: .6;
}
#features .official-feature .dcai-demo-scroll {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
}
#features .official-feature .dcai-demo-doc {
  opacity: 0;
  animation: dcaiDocScroll 12s ease-in-out infinite;
}
/* The input and result share one timeline in directcloud_ai_v2.js. */
#features .official-feature .dcai-demo.is-synced .dcai-demo-prompt-chip,
#features .official-feature .dcai-demo.is-synced .dcai-demo-doc {
  animation: none;
}
#features .official-feature .dcai-demo-page {
  min-height: 112px;
}
#features .official-feature .dcai-demo-intro {
  margin: 0 0 8px;
  line-height: 1.7;
  font-size: 12.5px;
  color: #3a4150;
}
#features .official-feature .dcai-demo-doc h4 {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 700;
  color: #1e2a3a;
}
#features .official-feature .dcai-demo-doc ul {
  margin: 0 0 4px;
  padding-left: 16px;
  line-height: 1.6;
}
#features .official-feature .dcai-demo-doc li {
  font-size: 12px;
  color: #3a4150;
  margin-bottom: 4px;
}
#features .official-feature .dcai-demo-doc li b {
  color: #1e2a3a;
}
#features .official-feature .dcai-demo-cite {
  font-size: .72em;
  color: #8ba0d6;
  margin-left: 1px;
}
#features .official-feature .dcai-demo-inputbar {
  flex: 0 0 auto;
  border-radius: 17px;
  margin-top: 2px;
  box-shadow: none;
  border: 2px solid transparent;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(120deg, #b865fa, #5470ff 55%, #2e6efe) border-box;
}
#features .official-feature .dcai-demo-inputbar-inner {
  background: #fff;
  border-radius: 15px;
  padding: 12px 15px 12px;
}
#features .official-feature .dcai-demo-inputbar-text-row {
  position: relative;
  min-height: 3.9em;
  max-height: 3.9em;
  overflow: hidden;
}
#features .official-feature .dcai-demo-inputbar-placeholder {
  display: block;
  font-size: 12.5px;
  font-weight: 400;
  color: #a3abbb;
}
#features .official-feature .dcai-demo-inputbar-text {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  color: #1a2340;
  white-space: normal;
  overflow: hidden;
  display: block;
}
#features .official-feature .dcai-demo-caret-wrap {
  display: inline-block;
}
#features .official-feature .dcai-demo-caret {
  display: inline-block;
  width: 2px;
  height: 1em;
  background: #4952b9;
  vertical-align: -.15em;
  margin-left: 2px;
  animation: dcaiBlink .8s steps(1, end) infinite;
}
#features .official-feature .dcai-demo-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 20px;
}
#features .official-feature .dcai-demo-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid #d8dfe9;
  color: #5b6472;
  font-size: 10.5px;
  font-weight: 600;
}
#features .official-feature .dcai-demo-pill--active {
  background: #20242c;
  border-color: #20242c;
  color: #fff;
}
#features .official-feature .dcai-demo-icon {
  flex: 0 0 auto;
}
#features .official-feature .dcai-demo-send {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #3f6bff;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  animation: dcaiSendPulse 12s ease-in-out infinite;
}
#features .official-feature .dcai-demo-inputbar-inner .question-composer-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 6px;
}
#features .official-feature .dcai-demo-inputbar-inner .question-modes {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  min-width: 0;
}
#features .official-feature .dcai-demo-inputbar-inner .question-mode,
#features .official-feature .dcai-demo-inputbar-inner .question-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 3px 8px;
  min-height: 19px;
  white-space: nowrap;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.3;
}
#features .official-feature .dcai-demo-inputbar-inner .question-mode {
  border: 1px solid #d9dde5;
  color: #717989;
  background: #fff;
}
#features .official-feature .dcai-demo-inputbar-inner .question-mode.is-active {
  background: #464a54;
  color: #fff;
  border-color: #464a54;
}
#features .official-feature .dcai-demo-inputbar-inner .question-send {
  background: #2e6efe;
  color: #fff;
  border: 1px solid #2e6efe;
  margin-left: auto;
  padding-inline: 10px;
}
#features .official-feature .dcai-demo-inputbar-inner .question-control-icon {
  width: 11px;
  height: 11px;
  display: block;
  flex: none;
}
@keyframes dcaiType {
  0%,
  2% {
    clip-path: inset(0 100% 0 0);
  }
  16%,
  97% {
    clip-path: inset(0 0 0 0);
  }
  99%,
  100% {
    clip-path: inset(0 100% 0 0);
  }
}
@keyframes dcaiBlink {
  0%,
  50% {
    opacity: 1;
  }
  50.01%,
  100% {
    opacity: 0;
  }
}
@keyframes dcaiSendPulse {
  0%,
  15% {
    transform: scale(1);
    background: #4952b9;
  }
  17% {
    transform: scale(1.08);
    background: #3846a0;
  }
  19%,
  100% {
    transform: scale(1);
    background: #4952b9;
  }
}
@keyframes dcaiChip {
  0%,
  13% {
    opacity: 0;
    transform: translateY(6px);
  }
  16%,
  90% {
    opacity: 1;
    transform: translateY(0);
  }
  96%,
  100% {
    opacity: 0;
    transform: translateY(0);
  }
}
@keyframes dcaiDocScroll {
  0%,
  13% {
    opacity: 0;
    transform: translateY(10px);
  }
  16% {
    opacity: 1;
    transform: translateY(0);
  }
  30%,
  46% {
    transform: translateY(-42%);
  }
  58%,
  74% {
    transform: translateY(-76%);
  }
  90% {
    opacity: 1;
    transform: translateY(-76%);
  }
  94%,
  99.9% {
    opacity: 0;
    transform: translateY(-76%);
  }
  100% {
    opacity: 0;
    transform: translateY(10px);
  }
}
@media (max-width: 768px) {
  #features .official-feature .dcai-demo {
    padding: 14px 14px 10px;
    font-size: 12px;
  }
  #features .official-feature .dcai-demo-header {
    font-size: 13px;
  }
  #features .official-feature .dcai-demo-page {
    min-height: 100px;
  }
  #features .official-feature .dcai-demo-doc h4 {
    font-size: 12px;
  }
  #features .official-feature .dcai-demo-doc li,
  #features .official-feature .dcai-demo-intro {
    font-size: 11px;
  }
  #features .official-feature .dcai-demo-inputbar-text-row {
    min-height: 70px;
    max-height: 70px;
  }
  #features .official-feature .dcai-demo-inputbar-inner .question-composer-tools {
    flex-wrap: wrap;
    row-gap: 6px;
  }
  #features .official-feature .dcai-demo-inputbar-inner .question-modes {
    flex-wrap: wrap;
    row-gap: 6px;
  }
  #features .official-feature .dcai-demo-inputbar-inner .question-send {
    margin-left: 0;
  }
  @keyframes dcaiDocScroll {
    0%,
    13% {
      opacity: 0;
      transform: translateY(10px);
    }
    16% {
      opacity: 1;
      transform: translateY(0);
    }
    30%,
    46% {
      transform: translateY(-42%);
    }
    58%,
    74% {
      transform: translateY(-76%);
    }
    90% {
      opacity: 1;
      transform: translateY(-76%);
    }
    94%,
    99.9% {
      opacity: 0;
      transform: translateY(-76%);
    }
    100% {
      opacity: 0;
      transform: translateY(10px);
    }
  }
}
@media (max-width: 768px) {
  #features .official-feature .dcai-demo-inputbar-text-row {
    min-height: 70px;
    max-height: 70px;
  }
}

#features .official-feature .pc_on {
  display: block;
}
#features .official-feature .sp_on {
  display: none !important;
}
@media screen and (max-width: 768px) {
  #features .official-feature .pc_on {
    display: none !important;
  }
  #features .official-feature .sp_on {
    display: block !important;
  }
}
#features .official-feature .mcpfeat-note {
  margin: 10px 0 0;
  color: #8b93a5;
  font-size: 14px;
  line-height: 21px;
}
#features .official-feature .chatbot-scene {
  margin-top: 30px;
  background: linear-gradient(160deg, #f3f6ff 0%, #eceffd 45%, #f2f6ff 100%);
  border-radius: 15px;

  overflow: hidden;
  border: 2px solid #4952b9;
}
#features .official-feature .chatbot-scene1 {
  padding: 45px 30px 20px;
}
#features .official-feature .chatbot-scene-titlebar {
  padding: 15px 40px 20px;
  text-align: center;
  background-color: #4952b9;
}
#features .official-feature .chatbot-scene-titlebar .chatbot-scene-titlebar-title {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 2vw, 35px);
  font-weight: 700;
  line-height: 1.35;
}
#features .official-feature .chatbot-scene-titlebar-sub {
  font-weight: 700;
  font-size: 22px;
  opacity: .85;
}
#features .official-feature .chatbot-scene-titlebar1 {
  padding: 17px 40px 20px;
  text-align: center;
  background-color: #4952b9;
  border-radius: 12px 12px 0 0;
}
#features .official-feature .chatbot-scene-titlebar1 .chatbot-scene-titlebar1-title {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}
#features .official-feature .aidiag {
  padding: 45px 30px 35px;
}
#features .official-feature .ai-search1 {
  width: 100%;
  margin: 0 auto;
  display: block;
}
#features .official-feature .aidiag .feature_three_column_section {
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  margin-top: 0;
}
#features .official-feature .feature_result_titlebar {
  background: #4952b9;
  color: #ffffff;
  font-weight: 700;
  font-size: 23px;
  text-align: center;
  padding: 12px 20px;
  border-radius: 12px 12px 0 0;
}
#features .official-feature .feature_col_right .feature_result_titlebar {
  font-size: 30px;
  padding: 12px 20px 10px;
}
#features .official-feature .feature_col_right .feature_video_wrap {
  border-radius: 0 0 14px 14px;
}
#features .official-feature .aidiag .feature_three_column_inner {
  position: relative;
  padding-bottom: 0px;
}
#features .official-feature .aidiag .feature_col_left {
  flex: 0 0 260px;
}
#features .official-feature .sales_scene_card {
  max-width: 260px;
  background: #ffffff;
  border: 1.5px solid #c5cde6;
  border-radius: 14px;
  overflow: hidden;
}
#features .official-feature .sales_scene_body {
  padding: 34px 20px 20px;
}
#features .official-feature .sales_scene_bubble {
  position: relative;
  background: #fbdcdc;
  color: #333333;
  border-radius: 14px;
  padding: 16px 18px;
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 20px;
}
#features .official-feature .sales_scene_bubble::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 22px solid #fbdcdc;
}
#features .official-feature .sales_scene_person_ph {
  width: 100%;
  max-width: 160px;
  aspect-ratio: 1;
  margin: 0 auto;
}
#features .official-feature .sales_scene_person_ph img {
  display: block;
  width: 70%;
  height: 100%;
  margin: 0 auto;
  object-fit: contain;
}
#features .official-feature .sales_scene_caption {
  position: absolute;
  left: 60px;
  bottom: -10px;
}
#features .official-feature .sales_scene_caption_title {
  margin: 0 0 2px;
  color: #1c2340;
  font-size: 28px;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
#features .official-feature .sales_scene_caption_sub {
  margin: 0;
  white-space: nowrap;
  color: #8b93a5;
  font-size: 22px;
  text-align: center;
}
#features .official-feature .aidiag .feature_col_center {
  position: relative;
  flex: 0 0 460px;
  width: 460px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding-top: 8%;
}
#features .official-feature .aidiag .feature_col_right {
  position: relative;
  z-index: 2;
  flex: 1 1 20%;
  max-width: 480px;
}
#features .official-feature .sales_scene_arrows {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
#features .official-feature .sales_scene_row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
#features .official-feature .sales_scene_pill {
  position: relative;
  width: 180px;
  box-sizing: border-box;
  background:#cfdeff;
  color: #2b3457;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  border-radius: 10px;
  padding: 16px 12px;
}
#features .official-feature .sales_scene_pill--down::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 16px solid #cfdeff;
}
#features .official-feature .sales_scene_pill--up::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 16px solid #cfdeff;
}
#features .official-feature .sales_scene_arrow_icon {
  width: 170px;
  height: auto;
  display: block;
  margin: 0;
}
#features .official-feature .sales_scene_cloud {
  position: relative;
  flex: 0 0 240px;
  width: 240px;
}
#features .official-feature .sales_scene_cloud::after {
  content: '';
  position: absolute;
  top: 68%;
  left: 39%;
  width: 206px;
  height: 530px;
  transform: translateY(-50%);
  background: linear-gradient(260deg, rgb(176 180 191 / 55%), rgba(197, 208, 245, 0));
  clip-path: polygon(0 36%, 100% 0%, 100% 100%, 0 53.5%);
  pointer-events: none;
  z-index: 1;
}
#features .official-feature .sales_scene_cloud_bg {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
}
#features .official-feature .sales_scene_cloud_text {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 0;
  width: 82%;
  text-align: center;
  color: #2b3fb0;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.1;
  padding-top: 45px;
}
#features .official-feature .sales_scene_cloud_text span {
  display: block;
  font-size: 22px;
  font-weight: 500;
  color: #6b7bd6;
}
#features .official-feature .mcpfeat-usecase-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin-top: 35px;
}
#features .official-feature .mcpfeat-usecase-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1.5px solid #bcc4e8;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 6px rgb(22 26 60 / 8%);
}
#features .official-feature .mcpfeat-usecase-media {
  position: relative;
  aspect-ratio: 4 / 3.2;
  overflow: hidden;
  background: linear-gradient(135deg, #eef1fe 0%, #dbe3fb 100%);
}
#features .official-feature .mcpfeat-usecase-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#features .official-feature .mcpfeat-usecase-num {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 34px;
  height: 34px;
  padding-bottom: 1px;
  border-radius: 30px;
  background: #4952b9;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .18);
}
#features .official-feature .mcpfeat-usecase-body {
  padding: 16px 14px 18px;
  text-align: center;
}
#features .official-feature .mcpfeat-usecase-title {
  margin: 0 0 12px;
  color: #3d3aa8;
  font-size: 21px;
  font-weight: 700;
}
#features .official-feature .mcpfeat-usecase-divider {
  border-top: 1px solid #e5e7f0;
  margin: 0 0 12px;
}
#features .official-feature .mcpfeat-usecase-sub {
  margin: 0 0 4px;
  color: #1c2340;
  font-size: 19px;
  font-weight: 500;
}
#features .official-feature .mcpfeat-usecase-desc {
  margin: 2px 0 0;
  color: #7b8194;
  font-size: 16px;
  text-align: center;
}
#features .official-feature .mcp_security_visual_wrap {
  margin-top: 35px;

  box-sizing: border-box;
}
#features .official-feature .mcp_security_visual_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 27px;
}
#features .official-feature .mcp_security_visual_card {
  background: #ffffff;
  text-align: center;
  background: #fff;
  border: 1.5px solid #969dd8;
  padding: 40px 0px 0px;
  border-radius: 16px;
  box-shadow: 0 4px 5px rgba(15, 26, 46, 0.10);
}
#features .official-feature .mcp_security_visual_icon {
  width: 135px;
  height: 135px;
  margin: 0 auto 24px;
}
#features .official-feature .mcp_security_visual_icon svg,
#features .official-feature .mcp_security_visual_icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#features .official-feature .mcp_security_visual_icon1 {
  width: 170px;
  height: 135px;
  margin: 0 auto 24px;
}
#features .official-feature .mcp_security_visual_icon1 svg,
#features .official-feature .mcp_security_visual_icon1 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#features .official-feature .mcp_security_visualtxt {
  background: #f2f6ff;

  align-items: center;
  justify-content: center;
  padding: 25px 0px 20px;
  border-radius: 0px 0px 15px 15px;
  margin-top: 10px;
  height: 190px;
}
#features .official-feature .mcp_security_visual_title {
  margin: 0 0 14px;
  color: #1c2340;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
}
#features .official-feature .mcp_security_visual_desc {
  margin: 0;
  color: #6b7280;
  font-size: 18px;
  line-height: 1.6;
}
#features .official-feature .mcp_security_visual_note {
  margin: 4px 0 0;
  color: #9aa2b1;
  font-size: 15px;
}
#features .official-feature .csv-diagram {
  --navy: #1c2340;
  --indigo: #4952b9;
  --indigo-light: #7AA3F6;
  --slate: #566080;
  --bg-lavender: #f4f6fc;
  --bg-card: #f4f5fa;
  --border-soft: #dde1f0;
  font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", sans-serif;
  background: var(--bg-lavender);
  border-radius: 16px;
  padding: 0px;
  color: #1f2540;
  box-sizing: border-box;
  margin-top: 24px;
  border: 2px solid #4952b9;
}
#features .official-feature .csv-diagram * {
  box-sizing: border-box;
}
#features .official-feature .csv-diagram__question {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: #fff;
  border: 2px solid #9199e7;
  border-radius: 50px;
  padding: 12px 40px;
  max-width: 820px;
  margin: 0 auto 40px;
  font-size: 24px;
  font-weight: 700;
  color: #1c2150;
  box-shadow: 0 2px 6px rgba(75, 63, 214, 0.08);
}
#features .official-feature .q-icon-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0;
}
#features .official-feature .q-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--indigo);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  font-weight: 700;
  padding-bottom: 4px;
}
#features .official-feature .q-icon__arrow {
  width: 0;
  height: 0;
  margin-left: -3px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid var(--indigo);
}
#features .official-feature .csv-diagram__flow {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 24px;
}
#features .official-feature .flow-step {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1.5px solid #c7cbe8;
  border-radius: 14px;
  padding: 14px 20px;
  font-size: 20px;
  font-weight: 600;
  color: var(--indigo);
  box-shadow: 0 1px 3px rgba(30, 30, 80, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  white-space: nowrap;
}
#features .official-feature .flow-step__icon {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#features .official-feature .flow-step__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#features .official-feature .flow-step__label {
  line-height: 1;
}
#features .official-feature .flow-arrow {
  flex-shrink: 0;
  width: 56px;
  height: 34px;
  margin: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#features .official-feature .flow-arrow img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#features .official-feature .csv-diagram__compare {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 30px;
}
#features .official-feature .compare-arrow {
  position: relative;
  z-index: 2;
  align-self: center;
  width: 120px;
  height: auto;
  margin: 0 -40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#features .official-feature .compare-arrow img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#features .official-feature .compare-card {
  flex: 1;
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #F0F1F4;
  border: 1.5px solid #b6b9ca;
}
#features .official-feature .compare-card--before {
  flex: 0.85;
}
#features .official-feature .compare-card--after {
  flex: 1.15;
  border: 1.5px solid #4952b9;
  background: #ffff;
}
#features .official-feature .compare-card__header {
  text-align: center;
  font-size: 29px;
  font-weight: 700;
  color: #fff;
  padding: 12px 0;
}
#features .official-feature .compare-card--before .compare-card__header {
  background: #6c7599;
}
#features .official-feature .compare-card--after .compare-card__header {
  background: var(--indigo);
}
#features .official-feature .compare-card__body {
  padding: 24px 26px 26px;
}
#features .official-feature .compare-card__lead {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 12px;
  color: #1c2140;
}
#features .official-feature .compare-card__list {
  margin: 0 0 18px;
  padding-left: 18px;
  font-size: 18px;
  font-weight: 400;
  color: #565e7e;
  line-height: 1.7;
  list-style: disc;
}
#features .official-feature .compare-card__list li {
  margin-bottom: 2px;
}
#features .official-feature .broken-table {
  background: #fff;
  border: 1.5px solid #c6cadcc9;
  border-radius: 14px;
  padding: 22px 24px;
  margin-top: 30px;
  margin-bottom: 16px;
}
#features .official-feature .broken-table__row {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}
#features .official-feature .broken-table__row:last-child {
  margin-bottom: 0;
}
#features .official-feature .chip {
  border: 1.5px solid #c7cde6;
  border-radius: 10px;
  padding: 10px 20px;
  font-size: 18px;
  font-weight: 400;
  color: #1c2140;
  background: #fff;
}
#features .official-feature .chip--offset2 {
  margin-left: 28px;
}
#features .official-feature .chip--offset3 {
  margin-left: auto;
}
#features .official-feature .chip--offset1 {
  margin-right: auto;
}
#features .official-feature .result-line {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 19px;
  font-weight: 500;
  padding-top: 8px;
}
#features .official-feature .result-line--fail {
  color: #444;
  font-weight: 600;
  font-size: 20px;
}
#features .official-feature .result-line--ok {
  color: #283093;
  font-weight: 600;
  font-size: 21px;
  line-height: 33px;
}
#features .official-feature .result-icon {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#features .official-feature .result-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#features .official-feature .result-icon--fail,
#features .official-feature .result-icon--ok {
  background: none;
}
#features .official-feature .after-panels {
  display: flex;
  gap: 20px;
  margin-bottom: 18px;
}
#features .official-feature .json-panel,
#features .official-feature .chart-panel {
  flex: 1;
  min-width: 0;
}
#features .official-feature .panel-label {
  font-size: 15px;
  font-weight: 700;
  color: #2a2f66;
  margin-bottom: 4px;
  margin-top: 10px;
  text-align: left;
  padding-left: 5px;
}
#features .official-feature .panel-label-sub {
  font-weight: 400;
  color: #8b91b0;
  font-size: 12px;
}
#features .official-feature .json-code-wrap {
  background: #fff;
  border: 1.5px solid #c6cadcc9;
  border-radius: 10px;
  overflow: hidden;
}
#features .official-feature .json-code {
  padding: 16px 18px;
  font-size: 12px;
  line-height: 1.76;
  color: #2c3466;
  overflow-x: auto;
  margin: 0;
  font-family: "SF Mono", Consolas, monospace;
}
#features .official-feature .chart-mini {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1.5px solid #c6cadcc9;
  border-radius: 10px;
  padding: 14px 16px;
}
#features .official-feature .chart-mini__ylabel {
  font-size: 11px;
  color: #8b91b0;
  margin-bottom: 6px;
}
#features .official-feature .chart-mini__bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 100px;
  border-left: 1px solid #e2e5f2;
  border-bottom: 1px solid #e2e5f2;
  padding: 0 4px;
}
#features .official-feature .bar-group {
  display: flex;
  align-items: flex-end;
  gap: 1px;
  flex: 1;
  height: 100%;
}
#features .official-feature .bar {
  flex: 1;
  border-radius: 2px 2px 0 0;
}
#features .official-feature .bar--a {
  background: #4952b9;
}
#features .official-feature .bar--b {
  background: #7AA3F6;
}
#features .official-feature .bar--c {
  background: #c7d6fb;
}
#features .official-feature .chart-mini__xlabels {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  color: #9a9fbd;
  margin-top: 6px;
  padding: 0 4px;
}
#features .official-feature .chart-mini__legend {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  font-size: 10px;
  color: #4c5273;
}
#features .official-feature .legend-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-right: 4px;
}
#features .official-feature .legend-dot--a {
  background: #4952b9;
}
#features .official-feature .legend-dot--b {
  background: #7AA3F6;
}
#features .official-feature .legend-dot--c {
  background: #c7d6fb;
}
#features .official-feature .csv-diagram__footer {
  background: var(--indigo);
  border-radius: 0 0 13px 13px;
  text-align: center;
  padding: 26px 20px 20px;
  margin: 0px;
  color: #fff;
}
#features .official-feature .footer-headline {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 8px;
}
#features .official-feature .footer-note {
  font-size: 15px;
  color: #cfd0f5;
  margin: 0;
}
@media (max-width: 860px) {
  #features .official-feature .csv-diagram__flow {
    flex-wrap: wrap;
  }
  #features .official-feature .flow-step {
    flex: 1 1 calc(50% - 6px);
  }
  #features .official-feature .csv-diagram__compare {
    flex-direction: column;
    margin-bottom: 0px;
  }
  #features .official-feature .compare-arrow {
    transform: rotate(90deg);
  }
  #features .official-feature .after-panels {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  #features .official-feature .feature_result_titlebar {
    font-size: 18px !important;
    padding: 8px 20px;
  }
  #features .official-feature .sales_scene_bubble {
    padding: 12px 18px;
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 10px;
  }
  #features .official-feature .sales_scene_bubble::after {
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 15px solid #fbdcdc;
  }
  #features .official-feature .chatbot-scene {
    margin-top: 18px;
  }
  #features .official-feature .chatbot-scene-titlebar {
    padding: 16px 14px;
  }
  #features .official-feature .chatbot-scene-titlebar .chatbot-scene-titlebar-title {
    font-size: clamp(18px, 4%, 22px);
    line-height: 1.45;
  }
  #features .official-feature .chatbot-scene-titlebar-sub {
    display: block;
    margin-top: 2px;
    font-size: clamp(12px, 4vw, 17px);
    font-weight: 100;
  }
  #features .official-feature .aidiag {
    padding: 14px 12px 16px;
  }
  #features .official-feature .aidiag .feature_col_left {
    flex: none;
    width: 100%;
  }
  #features .official-feature .sales_scene_card {
    max-width: 100%;
  }
  #features .official-feature .sales_scene_caption {
    position: static;
    margin-top: 20px;
    width: 100%;
  }
  #features .official-feature .sales_scene_caption_title,
  #features .official-feature .sales_scene_caption_sub {
    white-space: normal;
    text-align: center !important;
  }
  #features .official-feature .sales_scene_caption_title {
    font-size: 18px;
  }
  #features .official-feature .sales_scene_caption_sub {
    font-size: 15px;
  }
  #features .official-feature .aidiag .feature_col_center {
    flex: none;
    flex-direction: column;
    width: 100%;
    margin: 0px 0 4px;
  }
  #features .official-feature .aidiag .feature_col_right {
    margin-top: 6px;
  }
  #features .official-feature .feature_video_wrap .feature_video_image_box {
    height: 97%;
    padding: 10px 0px;
  }
  #features .official-feature .sales_scene_cloud_text {
    top: 46%;
    padding-top: 10px;
    padding-bottom: 0px;
    font-size: 17px;
  }
  #features .official-feature .sales_scene_cloud_text span {
    font-size: 19px;
  }
  #features .official-feature .sales_scene_cloud::after {
    top: 50%;
    left: 50%;
    width: 90%;
    height: 90px;
    transform: translate(-50%, 0);
    background: linear-gradient(180deg, rgb(176 180 191 / 55%), rgba(197, 208, 245, 0));
    clip-path: polygon(42% 0%, 58% 0%, 100% 100%, 0% 100%);
  }
  #features .official-feature .sales_mobile_flow {
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    gap: 0px;
    padding: 0;
  }
  #features .official-feature .sales_mobile_flow_col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 150px;
  }
  #features .official-feature .sales_mobile_flow_arrow {
    position: relative;
    display: block;
    width: 14px;
    height: 120px;
  }
  #features .official-feature .sales_mobile_flow_arrow--down {
    background: linear-gradient(180deg, #ffb65700 0%, #c4c8d4 60%, #c1c8d9 100%);
  }
  #features .official-feature .sales_mobile_flow_arrow--down::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -11px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 13px solid #c1c8d9;
  }
  #features .official-feature .sales_mobile_flow_arrow--up {
    background: linear-gradient(180deg, #c1c8d9 0%, #c4c8d4 60%, #ffb65700 100%);
  }
  #features .official-feature .sales_mobile_flow_arrow--up::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -11px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-bottom: 13px solid #c1c8d9;
  }
  #features .official-feature .sales_mobile_flow_bubble {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    box-sizing: border-box;
    padding: 12px 10px;
    background: #D6E3FE;
    border-radius: 8px;
    color: #3d4368;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
    z-index: 3;
  }
  #features .official-feature .mcpfeat-usecase-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  #features .official-feature .mcpfeat-usecase-title {
    font-size: 22px;
  }
  #features .official-feature .mcpfeat-usecase-sub {
    font-size: 19px;
  }
  #features .official-feature .mcpfeat-usecase-desc {
    font-size: 15px;
  }
  #features .official-feature .mcp_security_visual_wrap {
    margin-top: 20px;
    padding: 0px;
    border-radius: 16px;
  }
  #features .official-feature .mcp_security_visual_grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  #features .official-feature .mcp_security_visual_card {
    padding: 18px 0px 0px;
  }
  #features .official-feature .mcp_security_visualtxt {
    padding: 15px 0px 20px;
    height: auto;
  }
  #features .official-feature .mcp_security_visual_icon {
    width: 90px;
    height: 90px;
    margin-bottom: 18px;
  }
  #features .official-feature .mcp_security_visual_icon1 {
    width: 110px;
    height: auto;
    margin: 0 auto 24px;
  }
  #features .official-feature .mcp_security_visual_title {
    font-size: 21px;
  }
  #features .official-feature .mcp_security_visual_desc {
    font-size: 15px;
  }
  #features .official-feature .mcp_security_visual_note {
    font-size: 13px;
  }
  #features .official-feature .sales_scene_body {
    padding: 20px 14px 14px;
  }
  #features .official-feature .csv-diagram {
    padding: 0px;
    border-radius: 14px;
  }
  #features .official-feature .chatbot-scene-titlebar1 {
    padding: 15px 10px 20px;
  }
  #features .official-feature .chatbot-scene-titlebar1 .chatbot-scene-titlebar1-title {
    font-size: 17px;
    line-height: 1.4;
  }
  #features .official-feature .chatbot-scene1 {
    padding: 25px 15px 20px;
  }
  #features .official-feature .csv-diagram__question {
    flex-direction: column;
    gap: 10px;
    border-radius: 20px;
    padding: 20px 16px;
    font-size: 16px;
    margin: 0 auto 24px;
    text-align: center;
  }
  #features .official-feature .q-icon-wrap {
    flex-direction: column;
    gap: 2px;
  }
  #features .official-feature .q-icon__arrow {
    margin-left: 0;
    margin-top: -6px;
    border-top: 10px solid var(--indigo);
    border-bottom: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
  }
  #features .official-feature .csv-diagram__flow {
    flex-direction: column;
    gap: 0;
    margin-bottom: 20px;
  }
  #features .official-feature .flow-step {
    flex: none;
    width: 100%;
    padding: 10px 8px;
    font-size: 14px;
    gap: 8px;
    white-space: normal;
  }
  #features .official-feature .flow-step__icon {
    width: 22px;
    height: 22px;
  }
  #features .official-feature .flow-arrow {
    width: 32px;
    height: auto;
    margin: 10px auto;
    transform: rotate(90deg);
  }
  #features .official-feature .compare-arrow {
    width: 60px;
    margin: 10px auto;
  }
  #features .official-feature .compare-card__header {
    font-size: 18px;
    padding: 10px 0;
  }
  #features .official-feature .compare-card__body {
    padding: 16px 16px 18px;
  }
  #features .official-feature .compare-card__lead {
    font-size: 16px;
    margin-bottom: 10px;
  }
  #features .official-feature .compare-card__list {
    font-size: 13px;
    padding-left: 16px;
    margin-bottom: 12px;
  }
  #features .official-feature .broken-table {
    padding: 14px;
    margin-top: 16px;
    margin-bottom: 12px;
  }
  #features .official-feature .broken-table__row {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
  }
  #features .official-feature .chip {
    padding: 6px 10px;
    font-size: 12px;
  }
  #features .official-feature .chip--offset2 {
    margin-left: 12px;
  }
  #features .official-feature .result-line {
    font-size: 15px;
    gap: 8px;
    line-height: 23px;
  }
  #features .official-feature .result-icon {
    width: 24px;
    height: 24px;
  }
  #features .official-feature .mcpfeat-note {
    font-size: 13px;
    line-height: 17px;
  }
  #features .official-feature .after-panels {
    gap: 14px;
    margin-bottom: 14px;
  }
  #features .official-feature .panel-label {
    font-size: 13px;
  }
  #features .official-feature .panel-label-sub {
    font-size: 11px;
  }
  #features .official-feature .json-code {
    font-size: 10px;
    padding: 10px 12px;
  }
  #features .official-feature .chart-mini {
    padding: 10px 10px;
  }
  #features .official-feature .chart-mini__bars {
    height: 70px;
    gap: 2px;
  }
  #features .official-feature .chart-mini__xlabels {
    font-size: 7px;
  }
  #features .official-feature .chart-mini__legend {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 9px;
  }
  #features .official-feature .csv-diagram__footer {
    margin: 0px;
    padding: 20px 16px 16px;
  }
  #features .official-feature .footer-headline {
    font-size: 18px;
    line-height: 1.4;
  }
  #features .official-feature .footer-note {
    font-size: 12px;
  }
  #features .official-feature .sales_scene_cloud {
    flex: 0 0 180px;
  }
}
#pricing .official-pricing .red_point {
  padding-left: 0px;
  line-height: 22px;
  font-size: 11px;
  color: red;
  color: red;
}
#pricing .official-pricing .price_caution {
  padding-left: 2px;
  line-height: 22px;
  font-size: 12px;
  color: #B4C1F2;
  font-weight: 100;
  vertical-align: middle;
}
#pricing .official-pricing .price_table {
  width: 100%;
  text-align: center;
  background-color: #fff;
  position: relative;
  font-size: 18px;
  border: 1.5px solid #a7a8bb;
  color: #3C3D4E;
}
#pricing .official-pricing .table_point_area {
  width: 51%;
  font-weight: bold;
  color: #fff;
  font-size: 26px;
  background: linear-gradient(45deg, #0071BE 8%, #033491, #3C1E87);
  background: #576ED1;
  padding: 13px 0px 14px 0px;
}
#pricing .official-pricing .ai_price_cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin: 40px 0 60px;
}
#pricing .official-pricing .ai_price_card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 22px 28px;
  background: #fff;
  border: 1.5px solid #e2e4f3;
  border-radius: 16px;
  box-shadow: 0 5px 12px rgba(30, 40, 90, .045);
  transition: transform .2s ease, box-shadow .2s ease;
}
#pricing .official-pricing .ai_price_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15, 26, 46, .12);
}
#pricing .official-pricing .ai_price_card_best {
  border: 2px solid #4952b9;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(73, 82, 185, .16);
  padding-top: 32px;
}
#pricing .official-pricing .ai_price_card_best:hover {
  box-shadow: 0 18px 36px rgba(73, 82, 185, .2);
}
#pricing .official-pricing .ai_price_card_blue {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 18px;
  border-radius: 999px;
  background: #4952b9;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  z-index: 2;
}
#pricing .official-pricing .ai_price_card_name {
  font-size: 30px;
  font-weight: 700;
  color: #2a2f42;
  margin-bottom: 6px;
}
#pricing .official-pricing .ai_price_card_target {
  font-size: 15.5px;
  font-weight: 700;
  color: #4952b9;
  margin-bottom: 6px;
}
#pricing .official-pricing .ai_price_card_desc {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.55;
  margin: 0 0 18px;
}
#pricing .official-pricing .ai_price_card_divider {
  width: 100%;
  border-top: 1px solid #e2e4f3;
  margin-bottom: 20px;
}
#pricing .official-pricing .ai_price_card_amt {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  color: #4952b9;
  margin-bottom: 28px;
  line-height: 1;
  min-height: 40px;
}
#pricing .official-pricing .ai_price_card_amt_yen {
  font-size: 16px;
  font-weight: 700;
}
#pricing .official-pricing .ai_price_card_amt_num {
  font-size: 42px;
  font-weight: 900;
  letter-spacing: -.01em;
}
#pricing .official-pricing .ai_price_card_amt_free {
  font-size: 34px;
  font-weight: 900;
}
#pricing .official-pricing .ai_price_card_points {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#pricing .official-pricing .ai_price_card_points li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  color: #666;
  line-height: 1.5;
}
#pricing .official-pricing .ai_price_card_points li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #4952b9;
  font-weight: 700;
}
#pricing .official-pricing .ai_price_card_note {
  font-size: 12px;
  color: #999;
}
@media screen and (max-width: 1280px) {
  #pricing .official-pricing .ai_price_cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  #pricing .official-pricing .ai_price_cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
@media screen and (max-width: 768px) {
  #pricing .official-pricing .ai_price_cards {
    grid-template-columns: 1fr;
    margin: 15px 0 25px;
  }
  #pricing .official-pricing .ai_price_card_best {
    margin-top: 20px;
  }
  #pricing .official-pricing .ai_price_card {
    padding: 15px 20px 25px;
  }
  #pricing .official-pricing .ai_price_card_name {
    font-size: 32px;
    margin-bottom: 2px;
  }
  #pricing .official-pricing .ai_price_card_target {
    font-size: 17px;
  }
  #pricing .official-pricing .ai_price_card_amt_free {
    font-size: 31px;
  }
  #pricing .official-pricing .ai_price_card_desc {
    margin-bottom: 14px;
  }
  #pricing .official-pricing .ai_price_card_divider {
    margin-bottom: 16px;
  }
  #pricing .official-pricing .ai_price_card_amt {
    margin-bottom: 16px;
  }
  #pricing .official-pricing .ai_price_card_points {
    padding: 0;
    gap: 7px;
  }
}
#pricing .official-pricing .tit_function_txt {
  background: #777c94;
  font-weight: bold;
  color: #fff;
  font-size: 27px;
  border-right: 1px solid #777c94;
  padding: 14px 0px 15px 0px;
}
#pricing .official-pricing .br_line_top {
  border-top: 2.5px solid #4952B9;
}
#pricing .official-pricing .br_line_bottom {
  border-bottom: 2.5px solid #4952B9;
}
#pricing .official-pricing .br_line_left {
  border-left: 2.5px solid #4952B9;
}
#pricing .official-pricing .br_line_right {
  border-right: 2.5px solid #4952B9;
}
#pricing .official-pricing .price_table_td {
  background-color: #ffffff;
  color: #3C3D4E;
  font-size: 17px;
  padding: 15px !important;
  line-height: 23px;
}
#pricing .official-pricing .no_line_td {
  color: #7d80b07a;
  font-size: 24px;
}
#pricing .official-pricing .pric_table_l {
  text-align: left;
  padding-left: 13px;
  background: #eff0f7;
  color: #3C3D4E;
  line-height: 1.45;
  width: 7.8%;
  letter-spacing: -0.3pt;
}
#pricing .official-pricing .cost_comm {
  font-size: 15px;
  padding-left: 1px;
}
#pricing .official-pricing .num_comparetxt {
  font-size: 20px;
}
#pricing .official-pricing .price_text_only {
  font-size: 18px;
}
#pricing .official-pricing .price_plan_sub_txt {
  font-size: 15px;
  font-weight: 400;
  color: #8b93a5;
}
#pricing .official-pricing .table_c_icon_price {
  width: 18px;
  padding-bottom: 2px;
  opacity: 0.8;
}
#pricing .official-pricing .features_td {
  padding: 15px;
  background: #eff0f7;
  text-align: left;
  padding: 15px !important;
}
#pricing .official-pricing .pc_on {
  display: block;
}
@media screen and (max-width: 768px) {
  #pricing .official-pricing .pc_on {
    display: none !important;
  }
  #pricing .official-pricing .tit_function_txt {
    width: 18%;
    font-size: 18px;
    padding: 10px 0px 9px 0px;
  }
  #pricing .official-pricing .pric_table_l {
    font-size: 17px;
    padding-left: 12px !important;
    line-height: 1.45;
  }
  #pricing .official-pricing .table_point_area {
    width: 15%;
    font-size: 18px;
    padding: 10px 0px 14px;
    line-height: 1.2;
  }
  #pricing .official-pricing .price_table {
    font-size: 15px;
  }
  #pricing .official-pricing .table_c_icon_price {
    width: 15px;
    vertical-align: middle;
    padding-bottom: 0;
  }
  #pricing .official-pricing .red_point {
    padding-left: 4px;
    font-size: 11px;
    letter-spacing: 1px;
  }
  #pricing .official-pricing .price_table_td {
    font-size: 20px;
  }
  #pricing .official-pricing .cost_comm {
    font-size: 15px;
  }
  #pricing .official-pricing .price_sub_txt {
    font-size: 12px;
    font-weight: 400;
    color: #6e7482;
  }
  #pricing .official-pricing .price_plan_sub_txt {
    flex-basis: 100%;
    font-size: 13px;
    font-weight: 400;
    color: #868a94;
  }
  #pricing .official-pricing .cost_comm {
    font-size: 15px;
    padding-top: 2px;
  }
  #pricing .official-pricing .price_caution {
    padding-top: 5px;
  }
}
#pricing .official-pricing .best_plan_all {
  position: absolute;
  left: 30%;
  top: -29px;
  font-size: calc(12px + 1 * (80vw - 250px) / 500);
  line-height: 1;
  font-weight: 700;

  background: #E72046;
  background: linear-gradient(90deg, #E94F79 0%, #E72046 100%);
  border-radius: 26px;
  color: #fff;
  padding: 6px 15px;
  text-align: center;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #pricing .official-pricing .best_plan_all {
    position: relative;
    left: -12%;
    top: 0px;
    font-size: calc(12px + 1 * (80vw - 200px) / 400);
    padding: 6px 5px;
  }
}
#pricing .official-pricing .price_sub_txt {
  font-size: 14px;
  font-weight: 400;
  color: #747a88;
}
@media screen and (max-width: 768px) {
  #pricing .official-pricing .ai_price_card_amt_num {
    font-size: 32px;
  }
}
#mcp .official-mcp .check {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 18px;
  flex: 0 0 auto;
  margin-top: 4px;
}
#mcp .official-mcp .mcp_scene_wrap {
  margin-top: 0;
  box-sizing: border-box;
}
#mcp .official-mcp .mcp_scene_flow_cardbox {
  padding: 30px 28px 28px;
  background: #f1f4fda1;
  border-radius: 20px;
  box-sizing: border-box;
  border: 1.5px solid #C1C4DD;
}
#mcp .official-mcp .mcp_scene_flow_card {
  box-sizing: border-box;
}
#mcp .official-mcp .mcp_scene_flow_row {
  display: flex;
  align-items: stretch;
  gap: 0;
}
#mcp .official-mcp .mcp_scene_flow_box {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(32, 43, 150, 0.08);
  border: 1.5px solid #BABDD0;
}
#mcp .official-mcp .mcp_scene_flow_box_head {
  padding: 12px 10px 10px;
  background: #777c94;
  color: #ffffff;
  font-size: 23px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
#mcp .official-mcp .mcp_scene_flow_box_head_sub {
  display: block;
  margin-top: 2px;
  font-size: 15px;
  font-weight: 400;
  color: #dcdeec;
}
#mcp .official-mcp .mcp_scene_flow_box_body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 16px 20px;
  box-sizing: border-box;
}
#mcp .official-mcp .mcp_scene_flow_box_body1 {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 0px 0px 40px;
  box-sizing: border-box;
}
#mcp .official-mcp .mcp_scene_flow_box1 {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#mcp .official-mcp .mcp_scene_flow_box1_head {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
#mcp .official-mcp .mcp_scene_flow_box1_head_plain {
  padding: 18px 10px 8px;
  color: #4a3bd3;
}
#mcp .official-mcp .mcp_scene_flow_pill {
  margin: 0 0 12px;
  padding: 6px 25px;
  width: fit-content;
  background: #eef1f8;
  border-radius: 999px;
  color: #4b536d;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #D4D6E4;
}
#mcp .official-mcp .mcp_scene_flow_list {
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#mcp .official-mcp .mcp_scene_flow_list li {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  background: #edf0fdbf;
  border-radius: 8px;
  color: #2d3768;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}
#mcp .official-mcp .mcp_scene_flow_filetypes {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin: 6% 0 18px;
}
#mcp .official-mcp .mcp_scene_flow_filetypes img {
  width: 46px;
}
#mcp .official-mcp .mcp_scene_flow_filetypes_text {
  color: #474c60;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
  text-align: center;
}
#mcp .official-mcp .mcp_scene_flow_connector {
  flex: 0 0 170px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 0 10px;
}
#mcp .official-mcp .mcp_scene_flow_step {
  position: relative;
  display: flex;
  justify-content: center;
}
#mcp .official-mcp .mcp_scene_flow_num {
  position: absolute;
  top: -17px;
  left: 10%;
  transform: translateX(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #6e81ee;
  border: 1.5px solid #ffffff;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
  z-index: 2;
  padding-bottom: 2px;
}
#mcp .official-mcp .mcp_scene_flow_num1 {
  position: absolute;
  top: -6px;
  left: 14%;
  transform: translateX(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #6e81ee;
  border: 1.5px solid #ffffff;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
  z-index: 2;
  padding-bottom: 2px;
}
#mcp .official-mcp .mcp_scene_flow_step_num {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-right: 8px;
  border-radius: 50%;
  background: #6e81ee;
  border: 1.5px solid #ffffff;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  vertical-align: middle;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
}
#mcp .official-mcp .mcp_scene_flow_bubble {
  position: relative;
  padding: 8px 10px;
  background: #c6d1ff;
  border-radius: 6px;
  color: #343a62;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
}
#mcp .official-mcp .mcp_scene_flow_bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 12px solid #c6d1ff;
}
#mcp .official-mcp .mcp_scene_flow_bubble1 {
  position: relative;
  padding: 8px 10px;
  background: #c6d1ff;
  border-radius: 6px;
  color: #343a62;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
}
#mcp .official-mcp .mcp_scene_flow_bubble1::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -9px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #c6d1ff;
}
#mcp .official-mcp .mcp_scene_flow_arrow {
  position: relative;
  height: 15px;
  margin: 2px 14px;
  background: linear-gradient(90deg, #b49a7400 0%, #ad946f 60%, #c0a57e 100%);
}
#mcp .official-mcp .mcp_scene_flow_arrow1 {
  position: relative;
  height: 15px;
  margin: 2px 14px;
  background: linear-gradient(89deg, #c0a57e 0%, #ad946f 40%, #b49a7400 100%);
}
#mcp .official-mcp .mcp_scene_flow_arrow.arrow_right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 14px solid #c0a57e;
}
#mcp .official-mcp .mcp_scene_flow_arrow1.arrow_left::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -14px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-right: 14px solid #c0a57e;
}
#mcp .official-mcp .mcp_scene_server {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 25px 16px;
  background: linear-gradient(180deg, #5c63db 0%, #4722d8 100%);
  border-radius: 14px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
}
#mcp .official-mcp .mcp_scene_server_head {
  margin: 0 auto 14px;
  padding: 8px 30px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}
#mcp .official-mcp .mcp_scene_server_list {
  flex: 1;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}
#mcp .official-mcp .mcp_scene_server_item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_server_item:last-child {
  margin-bottom: 0;
}
#mcp .official-mcp .mcp_scene_spark {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}
#mcp .official-mcp .mcp_scene_down_connector {
  position: relative;
  width: 99%;
  height: 97px;
  margin: 0px 0;
  background: linear-gradient(160deg, #a3a7bd6b 0%, #a3a7bd45 90%, #a3a7bd81 100%);
  clip-path: polygon(40px 0%, 345px 0%, 114% 100%, 0% 100%);
  z-index: 2;
  top: -29px;
}
@media screen and (max-width: 980px) {
  #mcp .official-mcp .mcp_scene_down_connector {
    clip-path: polygon(18px 0%, 140px 0%, 100% 100%, 0% 100%);
  }
}
#mcp .official-mcp .mcp_scene_box6 {
  position: relative;
  margin-top: 0px;
  padding: 35px 28px;

  border-radius: 18px;
  box-sizing: border-box;
  z-index: 2;
  top: -47px;
  background: linear-gradient(180deg, #4147b1 0%, #30369c 100%);
}
#mcp .official-mcp .mcp_scene_prompt_panel {
  flex: 0.95;
  min-width: 0;
  display: flex;
  flex-direction: column;
  margin-top: 15px;
}
#mcp .official-mcp .mcp_scene_prompt_panel_head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0px;
  z-index: 2;
}
#mcp .official-mcp .mcp_scene_prompt_avatar {
  flex: 0 0 auto;
  width: 89px;
  height: 89px;
  border-radius: 50%;
  overflow: hidden;
}
#mcp .official-mcp .mcp_scene_prompt_avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#mcp .official-mcp .mcp_scene_prompt_panel_title {
  margin: 0;
  color: #ffffff;
  font-size: 23px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_prompt_panel_title_sub {
  margin-left: 4px;
  color: #b9c0ef;
  font-size: 14px;
  font-weight: 500;
}
#mcp .official-mcp .mcp_scene_chatbox {
  display: flex;
  flex-direction: column;
  padding: 20px 20px 16px;
  background: #F8F9F6;
  border-radius: 16px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  top: -10px;
}
#mcp .official-mcp .mcp_scene_chatbox_hello {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: #2d3347;
  font-size: 27px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_chatbox_contents {
  display: flex;
  flex-direction: column;
  padding: 20px 20px 16px;
  background: #F8F9F6;
  border-radius: 8px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1.2px solid #a6a8be73;
}
#mcp .official-mcp .mcp_scene_chatbox_hello .mcp_scene_spark {
  width: 35px;
  height: 35px;
}
#mcp .official-mcp .mcp_scene_chatbox_text {
  flex: 1;
  margin: 0 0 25px;
  color: #4f5156;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
}
#mcp .official-mcp .mcp_scene_chatbox_bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  flex-wrap: wrap;
  width: 100%;
}
#mcp .official-mcp .mcp_scene_chatbox_plus {
  flex: 0 0 auto;
  /* width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid #dfe2ef; */
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7290;
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 3px;
}
#mcp .official-mcp .mcp_scene_boxchattab {
  padding: 3px 4px;
  background: #f2f2f2;
  border-radius: 8px;
  color: #a2a8bd;
  font-size: 13px;
  font-weight: 700;
  align-items: center;
  flex-direction: row;
  display: flex;
}
#mcp .official-mcp .mcp_scene_chatbox_tab {
  padding: 4px 12px;
  border-radius: 6px;
  color: #b8bbc5;
  font-size: 13px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_chatbox_tab.is_active {
  background: #ffffff;
  color: #373737;
  border: 1px solid #eaeaea;
}
#mcp .official-mcp .mcp_scene_chatbox_spacer {
  flex: 1;
}
#mcp .official-mcp .mcp_scene_chatbox_model {
  display: flex;
  align-items: center;
  gap: 4px;
  /* padding: 6px 10px;
  border-radius: 999px;
  background: #f3f4fa; */
  color: #4b536d;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
#mcp .official-mcp .mcp_scene_chatbox_model svg {
  width: 12px;
  height: 12px;
}
#mcp .official-mcp .mcp_scene_chatbox_mic {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mcp .official-mcp .mcp_scene_chatbox_mic svg {
  width: 20px;
  height: 20px;
}
#mcp .official-mcp .mcp_scene_chatbox_send {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e8611f;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mcp .official-mcp .mcp_scene_chatbox_send svg {
  width: 18px;
  height: 18px;
}
#mcp .official-mcp .mcp_scene_result_panel {
  flex: 1.35;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
#mcp .official-mcp .mcp_scene_result_title {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  letter-spacing: -0.01em;
}
@media (max-width: 760px) {
  #mcp .official-mcp .mcp_scene_result_title_break {
    display: none;
  }
}
#mcp .official-mcp .mcp_scene_doc_log {
  flex: 1;
  min-width: 0;
  padding: 10px 18px;
  background: #F8F9F6;
  box-sizing: border-box;
  overflow: hidden;
}
#mcp .official-mcp .mcp_scene_doc_log_main {
  margin: 0 0 10px;
  color: #44464b;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.35;
  background-color: #F1EFEA;
  border-radius: 8px;
  padding: 8px 10px;
}
#mcp .official-mcp .mcp_scene_doc_log_steps {
  margin: 0;
  padding: 0;
  list-style: none;
}
#mcp .official-mcp .mcp_scene_doc_log_steps li {
  margin-bottom: 4px;
  color: #5f6064;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}
#mcp .official-mcp .mcp_scene_doc_log_steps li.mcp_scene_doc_log_tool {
  margin-bottom: 2px;
  color: #9a9ba19e;
  font-size: 8.5px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_doc_agenda {
  margin-top: 35px;
}
#mcp .official-mcp .mcp_scene_doc_agenda_head {
  margin: 0 0 4px;
  color: #a9ccff;
  font-size: 12px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_doc_agenda_item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}
#mcp .official-mcp .mcp_scene_doc_agenda_num {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #4952b9;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mcp .official-mcp .mcp_scene_doc_agenda_text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
#mcp .official-mcp .mcp_scene_doc_agenda_text b {
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_doc_agenda_text span {
  color: #a9ccff;
  font-size: 10px;
  font-weight: 500;
}
#mcp .official-mcp .mcp_scene_box6_body {
  display: flex;
  align-items: stretch;
  gap: 4px;
}
#mcp .official-mcp .mcp_scene_gen_arrow {
  flex: 0 0 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
}
#mcp .official-mcp .mcp_scene_gen_arrow_shape {
  position: relative;
  width: 100%;
  height: 25px;
  background: linear-gradient(90deg, #b49a7400 0%, #c0a57e 100%);
}
#mcp .official-mcp .mcp_scene_gen_arrow_shape::after {
  content: "";
  position: absolute;
  right: -22px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 24px solid transparent;
  border-bottom: 24px solid transparent;
  border-left: 24px solid #c0a57e;
}
#mcp .official-mcp .mcp_scene_doc {
  flex: 1;
  min-width: 0;
  display: flex;
  background-color: #ffffff;
  border: 1.5px solid #6E7CE6;
}
#mcp .official-mcp .mcp_scene_doc_preview {
  flex: 1;
  min-width: 0;
  padding: 18px 20px 5px;
  background: linear-gradient(160deg, #1D2D47 0%, #0a1f30 100%);
  border-radius: 0px;
  box-sizing: border-box;
}
#mcp .official-mcp .mcp_scene_doc_preview_label {
  margin: 0 0 2px;
  color: #a9ccff;
  font-size: 13px;
  font-weight: 700;
}
#mcp .official-mcp .mcp_scene_doc_preview_title {
  margin: 0 0 4px;
  color: #ffffff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
}
#mcp .official-mcp .mcp_scene_doc_preview_sub {
  margin: 0 0 18px;
  color: #a9ccff;
  font-size: 12px;
  font-weight: 500;
}
#mcp .official-mcp .mcp_scene_doc_stats {
  display: flex;
  gap: 8px;
}
#mcp .official-mcp .mcp_scene_doc_stat {
  flex: 1;
  min-width: 0;
  padding: 10px 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  text-align: center;
}
#mcp .official-mcp .mcp_scene_doc_stat b {
  display: block;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
#mcp .official-mcp .mcp_scene_doc_stat span {
  display: block;
  margin-top: 3px;
  color: #a9ccff;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  #mcp .official-mcp .mcp_scene_down_connector {
    display: none;
  }
  #mcp .official-mcp .mcp_scene_flow_card {
    padding: 32px 18px 20px;
  }
  #mcp .official-mcp .mcp_scene_flow_row {
    flex-direction: column;
  }
  #mcp .official-mcp .mcp_scene_flow_box,
  #mcp .official-mcp .mcp_scene_flow_box1 {
    flex: 1 1 auto;
  }
  #mcp .official-mcp .mcp_scene_flow_box {
    margin-bottom: 6px;
    margin-top: 6px;
  }
  #mcp .official-mcp .mcp_scene_flow_box1 {
    margin-bottom: 6px;
  }
  #mcp .official-mcp .mcp_scene_flow_connector {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    gap: 6px 10px;
    margin: 8px 0 0;
    padding-bottom: 0px;
    flex: 0 0 150px;
  }
  #mcp .official-mcp .mcp_scene_flow_connector .mcp_scene_flow_step {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0;
    position: relative;
    z-index: 2;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num2,
  #mcp .official-mcp .mcp_scene_flow_step_num3 {
    grid-column: 1;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num2 {
    top: -7px;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num3 {
    top: -8px;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num5,
  #mcp .official-mcp .mcp_scene_flow_step_num4 {
    grid-column: 2;
    align-self: end;
    padding-top: 0;
    padding-bottom: 7px;
    flex-direction: column-reverse;
    gap: 6px;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num4 {
    top: -54px;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num5 {
    top: -54px;
  }
  #mcp .official-mcp .mcp_scene_flow_connector .mcp_scene_flow_num,
  #mcp .official-mcp .mcp_scene_flow_connector .mcp_scene_flow_num1 {
    position: static;
    transform: none;
    margin-bottom: -4px;
  }
  #mcp .official-mcp .mcp_scene_flow_step_num5 .mcp_scene_flow_num1,
  #mcp .official-mcp .mcp_scene_flow_step_num4 .mcp_scene_flow_num1 {
    margin-bottom: -75px;
  }
  #mcp .official-mcp .mcp_scene_flow_bubble::after,
  #mcp .official-mcp .mcp_scene_flow_bubble1::before {
    display: none;
  }
  #mcp .official-mcp .mcp_scene_flow_arrow,
  #mcp .official-mcp .mcp_scene_flow_arrow1 {
    display: block;
    position: absolute;
    width: 14px;
    height: 140px;
    top: -10px;
    margin: 0;
    z-index: 1;
    background: linear-gradient(180deg, #b49a7400 0%, #ad946f 60%, #c0a57e 100%);
  }
  #mcp .official-mcp .mcp_scene_flow_arrow {
    left: 25%;
    margin-left: -7px;
    transform: none;
  }
  #mcp .official-mcp .mcp_scene_flow_arrow1 {
    left: 75%;
    margin-left: -7px;
    transform: none;
    top: auto;
    bottom: 0;
    background: linear-gradient(180deg, #c0a57e 0%, #ad946f 60%, #b49a7400 100%);
  }
  #mcp .official-mcp .mcp_scene_flow_arrow.arrow_right::after {
    top: auto;
    right: auto;
    left: 50%;
    bottom: -11px;
    transform: translateX(-50%);
    border-top: 13px solid #c0a57e;
    border-bottom: none;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
  }
  #mcp .official-mcp .mcp_scene_flow_arrow1.arrow_left::before {
    top: -11px;
    left: 50%;
    bottom: auto;
    transform: translateX(-50%);
    border-bottom: 13px solid #c0a57e;
    border-top: none;
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
  }
  #mcp .official-mcp .mcp_scene_box6_body {
    flex-direction: column;
  }
  #mcp .official-mcp .mcp_scene_prompt_panel,
  #mcp .official-mcp .mcp_scene_result_panel {
    flex: none;
  }
  #mcp .official-mcp .mcp_scene_prompt_panel {
    margin-bottom: 0;
  }
  #mcp .official-mcp .mcp_scene_gen_arrow {
    flex: 0 0 auto;
    flex-direction: column-reverse;
    height: auto;
    margin: 10px 0 28px;
  }
  #mcp .official-mcp .mcp_scene_gen_arrow_shape {
    width: 26px;
    height: 60px;
    transform: rotate(90deg);
  }
  #mcp .official-mcp .mcp_scene_doc {
    flex-direction: column;
  }
  #mcp .official-mcp .mcp_scene_doc_log {
    flex: 1 1 auto;
  }
  #mcp .official-mcp .mcp_scene_flow_card {
    padding: 0 0px 16px;
  }
  #mcp .official-mcp .mcp_scene_flow_cardbox {
    padding: 18px 14px 16px;
    border-radius: 14px;
  }
  #mcp .official-mcp .mcp_scene_flow_box_head {
    font-size: 16px;
    padding: 10px 8px 8px;
  }
  #mcp .official-mcp .mcp_scene_flow_box_head_sub {
    font-size: 12px;
  }
  #mcp .official-mcp .mcp_scene_flow_box_body {
    padding: 18px 12px 16px;
  }
  #mcp .official-mcp .mcp_scene_flow_box_body1 {
    padding: 0;
  }
  #mcp .official-mcp .mcp_scene_flow_box1_head {
    font-size: 16px;
  }
  #mcp .official-mcp .mcp_scene_flow_box1_head_plain {
    padding: 0px 8px 6px;
  }
  #mcp .official-mcp .mcp_scene_flow_pill {
    padding: 6px 16px;
    font-size: 13px;
  }
  #mcp .official-mcp .mcp_scene_flow_list li {
    padding: 7px 10px;
    font-size: 14px;
  }
  #mcp .official-mcp .mcp_scene_flow_filetypes {
    gap: 10px;
    margin: 8% 0 14px;
  }
  #mcp .official-mcp .mcp_scene_flow_filetypes img {
    width: 34px;
  }
  #mcp .official-mcp .mcp_scene_flow_filetypes_text {
    font-size: 13px;
  }
  #mcp .official-mcp .mcp_scene_flow_connector {
    gap: 10px;
  }
  #mcp .official-mcp .mcp_scene_flow_bubble,
  #mcp .official-mcp .mcp_scene_flow_bubble1 {
    font-size: 12px;
    padding: 7px 8px;
  }
  #mcp .official-mcp .mcp_scene_server {
    padding: 18px 14px;
  }
  #mcp .official-mcp .mcp_scene_server_head {
    font-size: 14px;
    padding: 7px 12px;
  }
  #mcp .official-mcp .mcp_scene_server_item {
    font-size: 14px;
    gap: 8px;
  }
  #mcp .official-mcp .mcp_scene_down_connector {
    height: 90px;
    clip-path: polygon(14px 0%, 100px 0%, 100% 100%, 0% 100%);
    top: 0;
  }
  #mcp .official-mcp .mcp_scene_box6 {
    padding: 20px 16px;
    top: 25px;
    border-radius: 14px;
  }
  #mcp .official-mcp .mcp_scene_prompt_panel_head {
    gap: 10px;
  }
  #mcp .official-mcp .mcp_scene_prompt_avatar {
    width: 56px;
    height: 56px;
  }
  #mcp .official-mcp .mcp_scene_prompt_panel_title {
    font-size: 19px;
  }
  #mcp .official-mcp .mcp_scene_prompt_panel_title_sub {
    display: block;
    margin-left: 0;
    font-size: 13px;
  }
  #mcp .official-mcp .mcp_scene_chatbox {
    top: 0;
    margin-top: 14px;
  }
  #mcp .official-mcp .mcp_scene_chatbox,
  #mcp .official-mcp .mcp_scene_chatbox_contents {
    padding: 14px 14px 12px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_hello {
    font-size: 20px;
    margin: 0 20px 5px 0;
  }
  #mcp .official-mcp .mcp_scene_chatbox_bar {
    flex-wrap: nowrap;
    gap: 4px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_plus {
    width: 20px;
    height: 20px;
    font-size: 14px;
  }
  #mcp .official-mcp .mcp_scene_boxchattab {
    flex: 0 0 auto;
    padding: 2px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_tab {
    padding: 3px 4px;
    font-size: 10px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_spacer {
    flex-basis: 0;
    min-width: 0;
    height: 0;
  }
  #mcp .official-mcp .mcp_scene_chatbox_model {
    flex: 0 0 auto;
    padding: 3px 0;
    font-size: 10px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_model svg {
    width: 10px;
    height: 10px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_mic {
    width: 18px;
    height: 18px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_mic svg {
    width: 16px;
    height: 16px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_send {
    width: 26px;
    height: 26px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_text {
    font-size: 13px;
    margin-bottom: 16px;
  }
  #mcp .official-mcp .mcp_scene_result_title {
    font-size: 17px !important;
  }
  #mcp .official-mcp .mcp_scene_doc_log {
    padding: 10px 12px;
  }
  #mcp .official-mcp .mcp_scene_doc_preview {
    padding: 14px 16px 15px;
  }
  #mcp .official-mcp .mcp_scene_doc_preview_title {
    font-size: 18px;
  }
  #mcp .official-mcp .mcp_scene_doc_stats {
    gap: 6px;
  }
  #mcp .official-mcp .mcp_scene_doc_stat {
    padding: 8px 4px;
  }
  #mcp .official-mcp .mcp_scene_doc_stat b {
    font-size: 13px;
  }
  #mcp .official-mcp .mcp_scene_gen_arrow_shape {
    height: 30px;
  }
}
@media screen and (max-width: 360px) {
  #mcp .official-mcp .mcp_scene_box6 {
    padding-inline: 10px;
  }
  #mcp .official-mcp .mcp_scene_chatbox,
  #mcp .official-mcp .mcp_scene_chatbox_contents {
    padding-inline: 8px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_bar {
    gap: 3px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_tab {
    padding-inline: 3px;
    font-size: 9px;
  }
  #mcp .official-mcp .mcp_scene_chatbox_model {
    font-size: 9px;
  }
}
#mcp .official-mcp .check {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 18px;
  flex: 0 0 auto;
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  #mcp .official-mcp .check {
    width: 24px;
    height: 24px;
  }
  #mcp .official-mcp .check {
    width: 22px;
    height: 22px;
  }
}
#mcp .official-mcp .sp_on {
  display: none !important;
}
@media screen and (max-width: 768px) {
  #mcp .official-mcp .sp_on {
    display: block !important;
  }
}
#use-cases .official-use-overview .distress_con_wide {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 15px;
  position: relative;
  box-sizing: border-box;

  box-sizing: border-box;
  box-shadow: 0px 0px 7px #c5c7d5;
  background: #ffffff;
  border: 1.5px solid #bfc1d6;
}
#use-cases .official-use-overview .distress_con_wide::after {
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: -2px;
  right: -2px;
  content: '';
  z-index: -1;
  border-radius: 16px;
}
#use-cases .official-use-overview .distree_box_w {
  width: 100%;
  background-color: #4952b9;
  border-radius: 14px 14px 0 0;
}
#use-cases .official-use-overview .distress_con_title_w {
  font-size: 36px;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100px;
}
@media screen and (max-width: 768px) {
  #use-cases .official-use-overview .ai_usage_title_w {
    padding: 0 16px 0 !important;
  }
}
#use-cases .official-use-overview .ai_usage_area {
  width: 100%;
  padding: 25px 32px 34px;
  background: #fff;
  border-radius: 0;
  position: relative;
}
#use-cases .official-use-overview .ai_usage_area::after {
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: -2px;
  right: -2px;
  content: '';
  z-index: -1;
  border-radius: 16px;
}
#use-cases .official-use-overview .ai_logo_img {
  width: 26%;
  padding-left: 0px;
  vertical-align: middle;
}
#use-cases .official-use-overview .ai_logo_img img {
  vertical-align: middle;
  padding-bottom: 6px;
  width: 93%;
}
#use-cases .official-use-overview .ai_usage_title_w {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  padding: 21px 8px 25px 30px;
  border-radius: 16px 16px 0 0;
  border-image: linear-gradient(to right, #EAC0D9 0%, #742E86 28%, #CBE6EE 50%, #3761A5 72%, #CBE6EE 100%);
  border-image-slice: 1;
  justify-content: space-between;
}
#use-cases .official-use-overview .ai_usage_line {
  border-left: 2px solid #615ea857;
  width: 2px;
  height: 62px;
  border-left: 1.5px solid #697ac3;
}
#use-cases .official-use-overview .ai_usage_text_1 {
  font-size: 26px;
  width: 69.5%;
  line-height: 1.4;

  color: #ffffff;
  text-align: left;
  font-weight: 100;
  font-family: "Meiryo";
}
#use-cases .official-use-overview .pc_on {
  display: block;
}
#use-cases .official-use-overview .sp_on {
  display: none !important;
}
#use-cases .official-use-overview .balloon-set {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 10;
  justify-content: flex-end;
  padding-bottom: 10px;
}
#use-cases .official-use-overview .balloon-text {
  background-color: #ffe0e0;
  padding: 18px 20px 18px 20px;
  border-radius: 12px;
  position: relative;
  font-size: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  text-align: left;
  color: #37393e;
  line-height: 1.5;
  display: inline-block;
}
#use-cases .official-use-overview .balloon-text::after {
  content: '';
  position: absolute;
  border-width: 13px 0 13px 30px;
  border-style: solid;
  border-color: transparent transparent transparent #ffe0e0;
  right: -30px;
  top: 55px;
}
#use-cases .official-use-overview .b-text2line.balloon-text::after {
  top: 35px;
}
#use-cases .official-use-overview .balloon-icon img {
  width: 100%;
  min-width: 110px;
  max-width: 110px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #use-cases .official-use-overview .ai_usage_area {
    width: 100%;
    padding: 14px 14px 14px;
  }
  #use-cases .official-use-overview .ai_logo_img {
    width: 100%;
    padding-left: 0;
    text-align: left;
    padding: 0 4px;
  }
  #use-cases .official-use-overview .ai_logo_img img {
    padding-bottom: 0 !important;
    width: 65%;
  }
  #use-cases .official-use-overview .distress_con_title_w.ai_usage_title_w {
    padding: 0 16px 0;
    height: auto;
    flex-direction: column;
    flex-wrap: nowrap;
  }
  #use-cases .official-use-overview .ai_usage_line {
    width: 100%;
    border-bottom: 1.5px solid #697ac3;
    height: auto;
  }
  #use-cases .official-use-overview .distress_con_wide {
    border-radius: 8px;
  }
  #use-cases .official-use-overview .distree_box_w {
    border-radius: 6px 6px 0 0;
  }
  #use-cases .official-use-overview .pc_on {
    display: none !important;
  }
  #use-cases .official-use-overview .sp_on {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  #use-cases .official-use-overview .distress_con_wide {
    border-radius: 16px 16px 0 0;
  }
  #use-cases .official-use-overview .distree_box_w {
    border-radius: 12px 12px 0 0;
  }
  #use-cases .official-use-overview .balloon-set {
    width: 94%;
    left: 8px;
  }
  #use-cases .official-use-overview .balloon-icon img {
    width: 100%;
    min-width: 64px;
    max-width: 64px;
    padding: 0px;
    margin-top: 0px;
  }
  #use-cases .official-use-overview .balloon-text {
    font-size: 14px;
    padding: 10px 12px;
  }
  #use-cases .official-use-overview .b-text2line.balloon-text::after {
    top: 50%;
    transform: translateY(-50%);
    right: -22px;
  }
}
@media screen and (max-width: 768px) {
  #use-cases .official-use-overview .ai_usage_text_1 {
    font-size: 1.8rem;
    width: 100%;
    padding: 12px 4px 14px;
    font-family: 'Noto Sans JP', sans-serif;
  }
}

/* Restore component inheritance before applying its own, more specific rules.
The page's generic paragraph rule must not override white-on-indigo labels. */
#features .official-feature,
#pricing .official-pricing {
  min-width: 0;
  font-family: "Noto Sans JP", "Yu Gothic", Meiryo, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.631;
  color: #666;
}
#features .official-feature :where(p, h3, h4, figure, ul, ol, li),
#pricing .official-pricing :where(p, h3, h4, figure, ul, ol, li) {
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: normal;
}
#features .official-feature :where(ul, ol),
#pricing .official-pricing :where(ul, ol) {
  list-style: none;
}
#features .official-feature :where(img, video),
#pricing .official-pricing :where(img) {
  max-width: 100%;
  vertical-align: middle;
}
#features .official-feature .chatbot-scene,
#features .official-feature .csv-diagram {
  margin-top: 0;
}
#features .official-feature .csv-diagram__footer .footer-headline {
  color: #fff;
}
#features .official-feature .csv-diagram__footer .footer-note {
  color: #cfd0f5;
}
#features .official-feature .feature_video_wrap .answer video {
  object-fit: contain;
  aspect-ratio: auto;
  background: white;
}
#features .official-feature .chart-mini__bars .bar-group {
  height: 100%;
}
#features .official-feature .broken-table__row {
  gap: 10px;
}
#features .official-feature .broken-table .chip {
  white-space: nowrap;
  padding: 10px 12px;
  font-size: clamp(12px, 1.3vw, 18px);
}

/* Same public composition: question/person → arrows + cloud → large answer.
Let the caption occupy its own row so it cannot overlap the person card
when this component is embedded in a narrower full-page container. */
@media (min-width: 901px) {
  #features .official-feature .aidiag .feature_three_column_inner {
    display: grid;
    grid-template-columns: minmax(0, 22fr) minmax(0, 39fr) minmax(0, 39fr);
    grid-template-areas: "person process answer" "caption caption answer";
    gap: 26px 16px;
    align-items: start;
    width: 100%;
  }
  #features .official-feature .aidiag .feature_three_column_inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(260deg, #b0b4bf8c, #c5d0f500);
    clip-path: polygon(47% 42%, 63% 0, 63% 100%, 51% 57%);
    pointer-events: none;
  }
  #features .official-feature .aidiag .feature_col_left {
    grid-area: person;
    width: 100%;
    min-width: 0;
  }
  #features .official-feature .sales_scene_card {
    width: 100%;
    max-width: none;
  }
  #features .official-feature .sales_scene_body {
    padding: 28px 16px 18px;
  }
  #features .official-feature .sales_scene_bubble {
    padding: 14px;
    font-size: clamp(14px, 1.2vw, 15px);
  }
  #features .official-feature .aidiag .feature_col_center {
    grid-area: process;
    align-self: center;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding-top: 0;
    gap: 12px;
  }
  #features .official-feature .sales_scene_arrows {
    width: 43%;
    min-width: 0;
    flex-shrink: 0;
  }
  #features .official-feature .sales_scene_row {
    width: 100%;
  }
  #features .official-feature .sales_scene_pill {
    width: 100%;
    font-size: clamp(14px, 1.35vw, 18px);
    padding: 14px 8px;
  }
  #features .official-feature .sales_scene_arrow_icon {
    width: 100%;
  }
  #features .official-feature .sales_scene_cloud {
    width: calc(57% - 12px);
    flex: 1 1 auto;
    min-width: 0;
  }
  #features .official-feature .sales_scene_cloud::after {
    display: none;
  }
  #features .official-feature .sales_scene_cloud_text {
    font-size: clamp(15px, 1.55vw, 22px);
    padding-top: 16%;
    line-height: 1.2;
  }
  #features .official-feature .sales_scene_cloud_text span {
    font-size: clamp(17px, 1.6vw, 22px);
  }
  #features .official-feature .aidiag .feature_col_right {
    grid-area: answer;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    margin: 0;
  }
  #features .official-feature .feature_col_right .feature_result_titlebar {
    font-size: clamp(23px, 2vw, 30px);
  }
  #features .official-feature .feature_col_right .feature_video_wrap {
    flex: 1;
    min-height: 0;
  }
  #features .official-feature .feature_video_wrap .feature_video_image_box {
    height: 100%;
    padding: 0px 12px 10px;
  }
  #features .official-feature .sales_scene_caption {
    grid-area: caption;
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    margin: 0;
    z-index: 2;
  }
  #features .official-feature .sales_scene_caption_title {
    font-size: clamp(17px, 1.85vw, 28px);
    text-align: center;
    white-space: normal;
    line-height: 1.5;
  }
  #features .official-feature .sales_scene_caption_sub {
    font-size: clamp(14px, 1.45vw, 22px);
    text-align: center;
    white-space: normal;
    line-height: 1.6;
  }
}
@media (max-width: 900px) {
  #features .official-feature .aidiag {
    padding: 22px 16px;
  }
  #features .official-feature .aidiag .feature_three_column_inner {
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 100%;
    max-width: 620px;
    align-items: center;
  }
  #features .official-feature .aidiag .feature_col_left,
  #features .official-feature .aidiag .feature_col_center,
  #features .official-feature .aidiag .feature_col_right {
    flex: none;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }
  #features .official-feature .sales_scene_card {
    max-width: none;
  }
  #features .official-feature .sales_scene_body {
    padding: 25px 20px;
    display: flex;
    align-items: center;
    gap: 20px;
  }
  #features .official-feature .sales_scene_bubble {
    flex: 1;
    margin: 0;
    font-size: 16px;
  }
  #features .official-feature .sales_scene_bubble::after {
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    border: 12px solid transparent;
    border-left: 16px solid #fbdcdc;
  }
  #features .official-feature .sales_scene_person_ph {
    width: 100px;
    max-width: 26%;
    flex-shrink: 0;
    margin: 0;
  }
  #features .official-feature .sales_scene_person_ph img {
    width: 100%;
  }
  #features .official-feature .aidiag .feature_col_center {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
  }
  #features .official-feature .sales_scene_arrows.pc_on {
    display: none !important;
  }
  #features .official-feature .sales_mobile_flow.sp_on {
    display: flex !important;
    justify-content: center;
    gap: 20px;
    width: 100%;
  }
  #features .official-feature .sales_mobile_flow_col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    width: 50%;
    height: 170px;
  }
  #features .official-feature .sales_mobile_flow_arrow {
    position: absolute;
    left: 50%;
    display: block;
    width: 28px;
    height: 40px;
    flex-shrink: 0;
    background: #a4afd2;
    clip-path: polygon(36% 0, 64% 0, 64% 60%, 100% 60%, 50% 100%, 0 60%, 36% 60%);
  }
  #features .official-feature .sales_mobile_flow_arrow--down {
    top: calc(50% + 45px);
    transform: translateX(-50%);
  }
  #features .official-feature .sales_mobile_flow_arrow--up {
    bottom: calc(50% + 45px);
    transform: translateX(-50%) rotate(180deg);
  }
  #features .official-feature .sales_mobile_flow_arrow--down::after,
  #features .official-feature .sales_mobile_flow_arrow--up::before {
    content: none;
  }
  #features .official-feature .sales_mobile_flow_bubble {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 150px;
    font-size: 14px;
    line-height: 1.6;
    padding: 10px 6px;
    background: #cfe3ff;
    border-radius: 7px;
    color: #2b3457;
  }
  #features .official-feature .sales_scene_cloud {
    width: 220px;
    flex: none;
  }
  #features .official-feature .sales_scene_cloud_text {
    font-size: 19px;
    padding-top: 36px;
    top: 50%;
  }
  #features .official-feature .sales_scene_cloud_text span {
    font-size: 20px;
  }
  #features .official-feature .sales_scene_cloud::after {
    height: 100px;
    width: 90%;
    top: 75%;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%);
    background: linear-gradient(180deg, #b0b4bf75, transparent);
  }
  #features .official-feature .feature_col_right {
    z-index: 2;
  }
  #features .official-feature .feature_video_wrap {
    /* The dcai-demo mock (header + prompt chip + scrollable doc + input bar)
       needs real vertical room; the desktop near-square aspect-ratio only
       works there because the panel is wide. On a narrow mobile column it
       clips the input bar, so grow with content instead of by width. */
    aspect-ratio: auto;
    height: 560px;
  }
  #features .official-feature .feature_video_wrap .feature_video_image_box {
    height: 100%;
    padding: 25px 12px;
  }
  #features .official-feature .sales_scene_caption {
    position: static;
    width: 100%;
    margin: 0;
  }
  #features .official-feature .sales_scene_caption_title {
    font-size: 20px;
    white-space: normal;
    text-align: center;
    line-height: 1.6;
  }
  #features .official-feature .sales_scene_caption_sub {
    font-size: 14px;
    white-space: normal;
    text-align: center;
    line-height: 1.7;
  }
}

/* Original centered price cards and a single grouped, scrollable source table. */
#pricing .official-pricing .ai_price_cards {
  row-gap: 34px;
}
#pricing .official-pricing .ai_price_card {
  min-width: 0;
}
#pricing .official-pricing .ai_price_card_target {
  min-height: 50px;
  font-size: 15px;
  line-height: 1.6;
}
#pricing .official-pricing .ai_price_card_target>span {
  display: block;
  white-space: nowrap;
}
#pricing .official-pricing .ai_price_card_desc {
  min-height: 63px;
}
#pricing .official-pricing .ai_price_card_points {
  margin-top: 0;
}
#pricing .official-pricing .ai_price_card_points li::before {
  display: block;
}
#pricing .official-pricing .ai_price_card_amt {
  white-space: nowrap;
}
#pricing .official-pricing .ai_price_card_amt_num {
  font-size: clamp(27px, 2.2vw, 42px);
}
#pricing .official-pricing .official-price-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  padding-top: 24px;
  margin-top: -24px;
  scrollbar-color: #8c96c6 #eef0f8;
  max-width: 100%;
}
#pricing .official-pricing .price_table {
  width: 100%;
  min-width: 1160px;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.631;
}
#pricing .official-pricing .price_table .pric_table_l {
  font-size: 16px;
  overflow-wrap: normal;
}
#pricing .official-pricing .price_table td {
  border: 1px solid #c1c3d2;
  vertical-align: middle;
}
#pricing .official-pricing .price_table .br_line_left {
  border-left: 2.5px solid #4952b9;
}
#pricing .official-pricing .price_table .br_line_right {
  border-right: 2.5px solid #4952b9;
}
#pricing .official-pricing .price_table .br_line_top {
  border-top: 2.5px solid #4952b9;
}
#pricing .official-pricing .price_table .br_line_bottom {
  border-bottom: 2.5px solid #4952b9;
}
#pricing .official-pricing .price_table .best_plan_all {
  left: 50%;
  top: -29px;
  transform: translateX(-50%);
  font-size: 13px;
  white-space: nowrap;
}
#pricing .official-pricing .official-price-scroll-hint {
  display: none;
  font-size: 13px;
  line-height: 1.6;
  color: #737e9b;
  margin: 0 0 12px;
}
@media (max-width: 1100px) {
  #pricing .official-pricing .official-price-scroll-hint {
    display: block;
  }
  #pricing .official-pricing .ai_price_card_amt_num {
    font-size: 36px;
  }
}
@media (max-width: 768px) {
  #features .official-feature .sales_scene_body {
    display: block;
    padding: 20px 16px;
  }
  #features .official-feature .sales_scene_bubble {
    font-size: 14px;
    padding: 15px;
    margin-bottom: 24px;
    line-height: 1.7;
  }
  #features .official-feature .sales_scene_bubble::after {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 12px solid transparent;
    border-top: 16px solid #fbdcdc;
  }
  #features .official-feature .sales_scene_person_ph {
    width: 100px;
    max-width: 100px;
    margin: 0 auto;
  }
  #pricing .official-pricing .ai_price_card_desc,
  #pricing .official-pricing .ai_price_card_target {
    min-height: 0;
  }
  #pricing .official-pricing .ai_price_card_target>span {
    display: inline;
  }
  #pricing .official-pricing .price_table .best_plan_all {
    position: absolute;
    left: 50%;
    top: -29px;
    transform: translateX(-50%);
    padding: 6px 15px;
  }
  #pricing .official-pricing .price_table {
    min-width: 980px;
    font-size: 14px;
    line-height: 1.45;
  }
  #pricing .official-pricing .price_table .table_point_area {
    font-size: 16px;
  }
  #pricing .official-pricing .price_table .pric_table_l,
  #pricing .official-pricing .price_table .features_td {
    font-size: 14px;
    padding: 10px !important;
  }
  #pricing .official-pricing .price_table .price_table_td {
    font-size: 15px;
    line-height: 1.45;
    padding: 10px !important;
  }
  #pricing .official-pricing .price_table .num_comparetxt {
    font-size: 16px;
    white-space: nowrap;
  }
  #pricing .official-pricing .price_table .cost_comm {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #pricing .official-pricing .ai_price_card:hover {
    transform: none;
  }
}

/* Apply the supplied reference's visual language to these three sections only.
All content, official feature components, and approved interactions stay intact. */
#use-cases,
#pricing {
  background: linear-gradient(180deg, #eef1ff 0%, #f2f4ff 50%, #ffffff 100%);
}
#use-cases,
#pricing {
  padding: 75px 0;
}
#use-cases .section-heading,
#pricing .section-heading {
  margin-bottom: 48px;
}
#use-cases .section-heading h2,
#pricing .section-heading h2 {
  color: #20232d;
  font-size: clamp(32px, 3.5vw, 48px);
  line-height: 1.42;
}
#use-cases .section-heading>p,
#pricing .section-heading>p {
  margin: 24px auto 0;
  color: #606775;
  font-size: 17px;
  line-height: 1.9;
}
#use-cases .section-heading>p {
  /* max-width: 1000px; */
}
#use-cases .case-intro-line {
  display: block;
}
#use-cases .case-intro-unit {
  display: inline-block;
}

/* A single dark chapter makes the MCP connection clear and distinct. */
#mcp {
  padding: 64px 0 40px;
  background: #07152d;
  isolation: isolate;
  overflow: hidden;
}
#mcp>.mcp-server-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #07152d;
}
#mcp>.mcp-server-backdrop>img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 58%;
  filter: brightness(.48) saturate(.6);
  opacity: .32;
  transform: scale(1.025);
}
#mcp>.mcp-server-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 21, 45, .82) 0%, rgba(7, 21, 45, .62) 45%, rgba(7, 21, 45, .9) 100%), linear-gradient(90deg, rgba(7, 21, 45, .72), transparent 30%, transparent 70%, rgba(7, 21, 45, .72));
}
#mcp>.container {
  position: relative;
  z-index: 1;
}
#mcp>.container {
  padding: 0px 0px 44px;
  color: #f5f7ff;
}
#mcp .section-top {
  margin-bottom: 20px;
}
#mcp .section-kicker {
  box-shadow: 0 4px 8px rgba(50, 80, 160, .07);
  padding: 5px 27px;
  border: 1px solid rgb(72 112 224 / 54%);
  border-radius: 999px;
  background: rgb(13 33 78 / 74%);
  color: #d4e5ff;
  font-size: 16px;
  font-weight: 700;
}
#mcp .mcp-layout {
  gap: 12px;
}
#mcp .mcp-copy h2 {
  color: #fff;
  font-size: clamp(32px, 3.6vw, 55px);
  line-height: 1.4;
}
#mcp .mcp-copy>p {
  color: #c1cee1;
  font-size: 23px;
  line-height: 1.95;
  margin: 24px auto 20px;
}
#mcp .mcp-release-badge {
  background: #17335a;
  color: #e2edff;
  border: 1px solid #49668e;
  border-radius: 10px;
  padding: 10px 18px;
  font-size: 14px;
  line-height: 1.7;
  margin: 18px auto 10px;
}
#mcp .mcp-copy .text-link {
  color: #8794ff;
  border: 0;
  font-size: 20px;
  padding: 35px 0 10px;
}
#mcp .mcp-copy .text-link:hover {
  color: #fff;
}
#mcp .architecture-visual {
  background: #0d203e;
  border: 1px solid #223957;
  border-radius: 26px;
  padding: 28px;
  box-shadow: none;
}
#mcp .architecture-flow {
  grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1.2fr) 36px minmax(0, 1fr);
  gap: 12px;
}
#mcp .architecture-stage {
  background: #142b49;
  border: 1px solid #304969;
  border-radius: 18px;
  padding: 24px 16px;
  color: #f5f7ff;
}
#mcp .architecture-label {
  color: #bed0e8;
  font-size: 13px;
}
#mcp .architecture-stage h3 {
  color: #fff;
  font-size: 22px;
  margin: 12px 0 20px;
  line-height: 1.5;
}
#mcp .architecture-clients .ai-clients>span {
  background: #213d60;
  border: 1px solid #355172;
  color: #fff;
  border-radius: 9px;
  font-size: 20px;
  padding: 11px 8px;
}
#mcp .architecture-server {
  background: linear-gradient(145deg, #203e74, #172a50);
  border: 1px solid #6481bc;
}
#mcp .architecture-server .gateway-title>img {
  filter: brightness(0) invert(1);
  width: 176px;
}
#mcp .architecture-server h3 {
  font-size: 24px;
}
#mcp .architecture-server .gateway-policies>span {
  background: #112749;
  border: 1px solid #3b5680;
  color: #e7efff;
  border-radius: 8px;
  font-size: 14px;
  padding: 10px 6px;
}
#mcp .architecture-connector {
  color: #aed3ff;
  font-size: 12px;
}
#mcp .architecture-connector>b {
  font-size: 30px;
}
#mcp .architecture-data .gateway-files {
  gap: 10px;
}
#mcp .architecture-data .gateway-files>span {
  background: #fff;
  border: 0;
  border-radius: 10px;
  padding: 12px 7px;
  color: #354767;
}
#mcp .architecture-data .gateway-files b {
  font-size: 12px;
  font-weight: 500;
}
#mcp .architecture-visual .prompt-example {
  margin-top: 28px;
  padding: 26px 8px 2px;
  border-top: 1px solid #344b68;
}
#mcp .prompt-example .small-label {
  color: #a8caff;
  font-size: 14px;
}
#mcp .architecture-visual .prompt-example p {
  color: #fff;
  font-size: clamp(20px, 1.9vw, 26px);
  line-height: 1.8;
  margin: 14px auto;
  max-width: 860px;
  text-wrap: balance;
}
#mcp .prompt-foot {
  display: block;
  color: #bdcce1;
  font-size: 14px;
  line-height: 1.9;
  text-wrap: balance;
}
#mcp .mcp-bottom {
  gap: 24px;
  margin-top: 30px;
  padding: 0;
  border: 0;
}
#mcp .mcp-bottom>div {
  background: transparent;
  padding: 18px 0 8px;
  border: 0;
  border-top: 1px solid #354967;
  border-radius: 0;
}
#mcp .mcp-bottom>div>span {
  display: block;
  margin: 0 0 10px;
  color: #9dc6ff;
  font-size: 13px;
}
#mcp .mcp-bottom strong {
  display: block;
  margin: 0;
  color: #f4f7ff;
  font-size: 18px;
  line-height: 1.65;
}
#mcp .mcp-bottom p {
  color: #bccbe0;
  font-size: 14px;
  line-height: 1.9;
  margin: 8px 0 0;
}
#mcp .dark-note {
  color: #aebed5 !important;
  font-size: 12px !important;
  line-height: 1.9 !important;
  margin: 12px 0 25px 3px;
}

/* Reference-style icon tabs and rounded white panels, with existing photos
and the concrete three-step examples retained. */
#use-cases .department-tabs {
  display: flex;
  gap: 10px;
  padding: 4px 0;
  margin: 0;
  border: 0;
  background: none;
  overflow-x: auto;
}
#use-cases .department-tabs>button {
  flex: 1 0 auto;
  flex-direction: row;
  gap: 12px;
  padding: 18px 16px;
  min-height: 104px;
  border: 1px solid #e1e4ec;
  border-radius: 16px;
  background: #fff;
  color: #4b5263;
  font-size: 22.5px;
  font-weight: 700;
  letter-spacing: -.02em;
  white-space: nowrap;
  line-height: 1.45;
  transition: background-color .18s, border-color .18s, color .18s;
}
#use-cases .department-tabs>button>span {
  min-width: max-content;
  white-space: nowrap;
}
#use-cases .department-tabs .tab-label-unit {
  display: inline-block;
  white-space: nowrap;
}
#use-cases .department-tabs>button>img {
  width: 51px;
  height: 63px;
  flex: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}
#use-cases .department-tabs>button[aria-selected=true] {
  background: #405ecb;
  border-color: #405ecb;
  color: #fff;
  box-shadow: 0 4px 12px #405ecb18;
}
#use-cases .department-tabs>button[aria-selected=true]>img {
  filter: brightness(0) invert(1);
}
#use-cases .department-tabs>button:hover:not([aria-selected=true]) {
  background: #edf2ff;
  border-color: #bbc8ed;
  color: #304ba1;
}
#use-cases .department-panel {
  margin-top: 24px;
  border: 0;
  border-radius: 28px;
  padding: 40px;
  background: #fff;
  box-shadow: 0 2px 6px #1e2a4503;
}
#use-cases .department-heading {
  margin-bottom: 32px;
}
#use-cases .department-heading .case-english {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  margin-bottom: 12px;
  color: #5b76db;
  font-size: 18px;
  letter-spacing: .01em;
  /* background-color: #d6e1ff; */
  /* padding: 2px 16px; */
  /* border-radius: 22px; */
  font-weight: 500;
}
#use-cases .department-heading .case-department {
  padding: 5px 20px;
    border-radius: 34px;
    background: #edf1ff;
    color: #405bb4;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}
#use-cases .department-heading h3 {
  color: #202735;
  font-size: clamp(26px, 2.6vw, 38px);
  line-height: 1.5;
  margin: 0px 0 14px;
}
#use-cases .department-heading .heading-phrase,
#pricing h2 .heading-phrase {
  display: inline-block;
  max-width: 100%;
  text-wrap: balance;
}
#use-cases .department-heading>p {
  font-size: 16px;
  line-height: 1.7;
  color: #606775;
}
#use-cases .department-photo img {
  border: 0;
  border-radius: 20px;
  background: #f1f4fa;
}
#use-cases .department-photo figcaption {
  color: #6b7588;
  font-size: 12px;
  margin-top: 10px;
}
#use-cases .department-panel--photo .department-question {
  border: 0;
  border-radius: 20px;
  padding: 26px;
  background: #f2f5fc;
}
#use-cases .case-eyebrow {
  color: #526182;
  font-size: 13px;
  line-height: 1.7;
  font-weight: 600;
}
#use-cases .department-panel--photo .department-question blockquote {
  padding: 20px;
  margin: 18px 0 24px;
  background: #e4ecff;
  border-radius: 14px;
  color: #293d6e;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.8;
}
#use-cases .department-output {
  padding-top: 0;
  border: 0;
}
#use-cases .department-output h4 {
  font-size: 14px;
  font-weight: 600;
  color: #566581;
  margin: 0 0 12px;
}
#use-cases .department-output ul {
  counter-reset: answer;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
  font-size: 15px;
  line-height: 1.75;
  color: #435371;
}
#use-cases .department-output li {
  counter-increment: answer;
  display: flex;
  align-items: baseline;
  gap: 11px;
  margin: 0;
  padding: 10px 12px;
  background: #fff;
  border-radius: 9px;
}
#use-cases .department-output li::before {
  content: counter(answer, decimal-leading-zero);
  color: #405ecb;
  flex: none;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
#use-cases .department-panel--photo .department-guide {
  margin-top: 34px;
  padding-top: 28px;
  border-color: #e6e9ef;
}
#use-cases .department-panel--photo .department-guide-title {
  margin-bottom: 26px;
}
#use-cases .department-walkthrough .scenario-number {
  background: #405ecb;
}
#use-cases .department-walkthrough .scenario-visual {
  border-color: #dce2ef;
  border-radius: 12px;
  box-shadow: none;
}
#use-cases .department-walkthrough .walk-ui-head {
  background: #d9e5fec2;
  border-color: #bfc9ee00;
  color: #405ba9;
}
#use-cases .department-walkthrough .scenario-step>p {
  color: #606b7d;
}
#use-cases .department-note {
  color: #697384;
  font-size: 13px;
  line-height: 1.85;
}

/* The reference's calm surfaces surround the current public price content.
Keep the full grouped comparison table and make Elite unmistakable. */
#pricing .pricing-release-note {
  border: 1.5px solid #dae2f6;
  background: #ffffff;
  border-radius: 20px;
  padding: 22px 26px;
  margin: 0 0 44px;
  color: #56617a;
  font-size: 16px;
  line-height: 1.9;
}
#pricing .pricing-release-note strong {
  color: #3f57b1;
  font-size: 14px;
  margin-bottom: 8px;
}
#pricing .official-pricing .ai_price_cards {
  gap: 18px;
  margin: 0 0 44px;
  padding-top: 18px;
  align-items: stretch;
}
#pricing .official-pricing .ai_price_card {
  background: #fff;
  border: 1px solid #fff;
  border-radius: 24px;
  padding: 32px 20px 28px;
  box-shadow: none;
  transition: box-shadow .2s;
}
#pricing .official-pricing .ai_price_card:hover {
  transform: none;
  box-shadow: 0 8px 24px #24324b0c;
}
#pricing .official-pricing .ai_price_card_name {
  color: #202735;
  font-size: 30px;
  font-weight: 750;
  margin-bottom: 10px;
}
#pricing .official-pricing .ai_price_card_target {
  color: #5e687c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
  margin-bottom: 12px;
}
#pricing .official-pricing .ai_price_card_target .price-target-group {
  color: #7e889c;
  font-size: 14px;
  font-weight: 500;
}
#pricing .official-pricing .ai_price_card_desc {
  color: #616b7c;
  font-size: 13px;
  line-height: 1.75;
  min-height: 68px;
}
#pricing .official-pricing .ai_price_card_divider {
  border-color: #e5e8ef;
  margin-bottom: 24px;
}
#pricing .official-pricing .ai_price_card_amt {
  color: #202735;
  margin-bottom: 28px;
  min-height: 40px;
}
#pricing .official-pricing .ai_price_card_amt_num {
  font-size: clamp(27px, 2.25vw, 36px);
  font-weight: 750;
}
#pricing .official-pricing .ai_price_card_amt_yen {
  font-size: 13px;
  font-weight: 500;
}
#pricing .official-pricing .ai_price_card_amt_free {
  font-size: 31px;
  font-weight: 750;
}
#pricing .official-pricing .ai_price_card_points {
  gap: 12px;
}
#pricing .official-pricing .ai_price_card_points li {
  color: #596477;
  font-size: 14px;
  line-height: 1.65;
  padding-left: 20px;
}
#pricing .official-pricing .ai_price_card_note {
  color: #6c7587;
  font-size: 12px;
  line-height: 1.6;
}
#pricing .official-pricing .ai_price_card_best {
  background: #ffffff;
  border: 2px solid #4952b9;
  border-radius: 0 0 24px 24px;
  box-shadow: 0 12px 24px #4952b914;
  padding: 31px 19px 27px;
}
#pricing .official-pricing .ai_price_card_blue {
  top: -24px;
  left: -2px;
  right: -2px;
  transform: none;
  border-radius: 20px 20px 0 0;
  background: #4952b9;
  padding: 8px 14px;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
}
#pricing .official-pricing .ai_price_card_best .ai_price_card_name {
  color: #4952b9;
}
#pricing .official-pricing .ai_price_card_best .ai_price_card_target {
  color: #4b5ec6;
  font-weight: 600;
}
#pricing .official-pricing .ai_price_card_best .ai_price_card_amt {
  color: #4952b9 !important;
}
#pricing .official-pricing .ai_price_card_best .ai_price_card_divider {
  border-color: #cdd7f3;
}
#pricing .official-pricing .official-price-scroll {
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 28px 0 0;
}
#pricing .official-pricing .price_table {
  background: #fff;
}
#pricing .official-pricing .price_table td {
  border-color: #d3d8e4;
}
#pricing .official-pricing .price_table .br_line_left {
  border-left-color: #4952b9;
}
#pricing .official-pricing .price_table .br_line_right {
  border-right-color: #4952b9;
}
#pricing .official-pricing .price_table .br_line_top {
  border-top-color: #4952b9;
}
#pricing .official-pricing .price_table .br_line_bottom {
  border-bottom-color: #4952b9;
}
#pricing .plan-important,
#pricing .price-notes p {
  color: #6a7486;
}
#pricing .price-notes p {
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}
#pricing .price-note-line {
  display: grid;
  grid-template-columns: 2.3em minmax(0, 1fr);
  padding: 3px 0;
}
#pricing .price-note-index {
  font-weight: 400;
  white-space: nowrap;
}
#pricing .price-note-text {
  min-width: 0;
  overflow-wrap: break-word;
}
#pricing .price-note-extra {
  display: block;
}
#pricing .price-notes p:last-child {
  margin-top: 0px;
}

@media (max-width: 1100px) {
  #mcp>.container {
    padding: 48px 32px 36px;
  }
  #mcp .architecture-visual {
    padding: 22px;
  }
  #mcp .architecture-flow {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1.15fr) 24px minmax(0, 1fr);
    gap: 8px;
  }
  #mcp .architecture-stage {
    padding: 22px 12px;
  }
  #mcp .architecture-stage h3 {
    font-size: 20px;
  }
  #mcp .mcp-bottom {
    gap: 20px;
  }
  #use-cases .department-tabs {
    display: flex;
    overflow-x: auto;
    padding: 4px 0 12px;
    scroll-snap-type: x proximity;
  }
  #use-cases .department-tabs>button {
    flex: 0 0 auto;
    flex-direction: row;
    gap: 12px;
    min-width: 190px;
    padding: 16px 20px;
    font-size: 21px;
    white-space: nowrap;
    scroll-snap-align: start;
  }
  #use-cases .department-tabs>button>img {
    width: 48px;
    height: 60px;
  }
  #use-cases .department-panel {
    padding: 32px;
  }
  #pricing .official-pricing .ai_price_cards {
    row-gap: 48px;
  }
  #pricing .official-pricing .ai_price_card_amt_num {
    font-size: 34px;
  }
}
@media (max-width: 900px) {
  #mcp .architecture-flow {
    grid-template-columns: 1fr;
  }
  #mcp .architecture-connector {
    flex-direction: row;
    gap: 20px;
    padding: 4px;
  }
  #mcp .architecture-clients .ai-clients {
    flex-direction: row;
  }
  #mcp .architecture-clients .ai-clients>span {
    font-size: 18px;
    flex: 1;
    min-width: 0;
  }
  #mcp .architecture-server .gateway-policies {
    flex-direction: row;
    flex-wrap: wrap;
  }
  #mcp .architecture-data .gateway-files {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #use-cases .department-tabs {
    display: flex;
    overflow-x: auto;
    padding: 4px 0 12px;
    scroll-snap-type: x proximity;
  }
  #use-cases .department-tabs>button {
    flex: 0 0 auto;
    flex-direction: row;
    min-width: 190px;
    padding: 16px 20px;
    white-space: nowrap;
    scroll-snap-align: start;
  }
}
@media (max-width: 760px) {
  #use-cases,
  #pricing {
    padding: 64px 0;
  }
  #use-cases .section-heading,
  #pricing .section-heading {
    margin-bottom: 20px;
  }
  #use-cases .section-heading h2,
  #pricing .section-heading h2 {
    font-size: clamp(30px, 5.9vw, 38px);
    line-height: 1.5;
    letter-spacing: -.035em;
  }
  #use-cases .section-heading>p,
  #pricing .section-heading>p {
    font-size: 16px;
    line-height: 1.9;
    margin-top: 20px;
  }
  #mcp {
    padding: 32px 0 24px;
  }
  #mcp>.container {
    padding: 40px 22px 30px;
    border-radius: 26px;
  }
  #mcp .section-kicker {
    font-size: 12px;
  }
  #mcp .mcp-copy h2 {
    font-size: 32px;
  }
  #mcp .mcp-copy>p {
    font-size: 16px;
    text-align: left;
    line-height: 1.9;
    margin-top: 20px;
  }
  #mcp .mcp-release-badge {
    font-size: 13px;
    padding: 10px 12px;
    text-wrap: balance;
  }
  #mcp .mcp-layout {
    gap: 24px;
  }
  #mcp .architecture-visual {
    padding: 18px 14px;
    border-radius: 20px;
  }
  #mcp .architecture-stage {
    border-radius: 14px;
    padding: 20px 12px;
  }
  #mcp .architecture-stage h3 {
    font-size: 21px;
  }
  #mcp .architecture-visual .prompt-example {
    padding: 22px 0 0;
    margin-top: 22px;
  }
  #mcp .architecture-visual .prompt-example p {
    font-size: 20px;
    line-height: 1.85;
    text-align: left;
  }
  #mcp .prompt-foot {
    font-size: 13px;
    text-align: left;
  }
  #mcp .mcp-bottom {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
  #mcp .mcp-bottom>div {
    padding: 18px 0 6px;
  }
  #mcp .mcp-bottom>div>span {
    display: block;
    margin: 0 0 5px;
  }
  #mcp .mcp-bottom strong {
    display: block;
    font-size: 18px;
  }
  #use-cases .department-panel {
    padding: 28px 22px;
    border-radius: 24px;
    margin-top: 16px;
  }
  #use-cases .department-heading h3 {
    font-size: clamp(18px, 5.8vw, 27px);
    text-align: left;
  }
  #use-cases .department-heading>p {
    text-align: left;
    font-size: 16px;
  }
  #use-cases .department-photo img {
    border-radius: 16px;
  }
  #use-cases .department-panel--photo .department-question {
    padding: 22px 18px;
    border-radius: 16px;
  }
  #use-cases .department-panel--photo .department-question blockquote {
    font-size: 20px;
    line-height: 1.85;
    padding: 16px;
    margin-top: 16px;
  }
  #use-cases .department-output li {
    font-size: 14px;
    padding: 10px;
    gap: 8px;
  }
  #use-cases .department-panel--photo .department-guide {
    margin-top: 28px;
    padding-top: 24px;
  }
  #pricing .pricing-release-note {
    padding: 20px;
    border-radius: 18px;
    margin-bottom: 36px;
    font-size: 15px;
  }
  #pricing .official-pricing .ai_price_cards {
    gap: 44px 16px;
    margin-bottom: 30px;
  }
  #pricing .official-pricing .official-price-scroll {
    padding: 28px 0 0;
    border-radius: 0;
  }
}
@media (max-width: 768px) {
  #mcp>.container {
    padding-inline: 20px;
  }
  #mcp .architecture-clients .ai-clients {
    flex-direction: column;
  }
  #mcp .architecture-clients .ai-clients>span {
    font-size: 18px;
    padding: 9px;
  }
  #mcp .architecture-data .gateway-files {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  #mcp .architecture-data .gateway-files>span {
    padding: 12px;
  }
  #use-cases .department-panel {
    padding: 26px 18px;
  }
  #use-cases .department-tabs>button {
    min-height: 96px;
  }
  #pricing .official-pricing .ai_price_card {
    padding: 28px 26px;
    border-radius: 24px;
  }
  #pricing .official-pricing .ai_price_card_best {
    margin-top: 0;
    border-radius: 0 0 24px 24px;
    padding: 27px 25px;
  }
  #pricing .official-pricing .ai_price_card_target,
  #pricing .official-pricing .ai_price_card_desc {
    min-height: 0;
  }
  #pricing .official-pricing .ai_price_card_desc {
    font-size: 14px;
    margin-bottom: 20px;
  }
  #pricing .official-pricing .ai_price_card_target>span {
    display: block;
  }
  #pricing .official-pricing .ai_price_card_amt {
    margin-bottom: 22px;
  }
  #pricing .official-pricing .ai_price_card_amt_num {
    font-size: 36px;
  }
  #pricing .official-pricing .ai_price_card_points li {
    font-size: 14px;
  }
}

#mcp .official-mcp .sp_on {
  display: none;
}
#mcp .official-mcp .pc_on {
  display: initial;
}
@media (max-width: 980px) {
  #mcp .official-mcp .sp_on {
    display: initial;
  }
  #mcp .official-mcp .pc_on {
    display: none;
  }
}
@media (max-width: 760px) {
  #mcp .official-mcp {
    padding: 18px 14px;
    border-radius: 16px;
  }
}

#mcp .official-mcp .mcp_scene_flow_box1_head {
  font-size: 22px;
}
#mcp .official-mcp .mcp_scene_server_head {
  font-size: 16px;
}
#mcp .official-mcp .mcp_scene_prompt_panel_title_sub {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 760px) {
  #mcp .official-mcp .structure_text1 {
    text-align: left;
    font-size: 14px;
    line-height: 1.85;
  }
  #mcp .official-mcp .structure_text1 br {
    display: none;
  }
}

@media (max-width: 760px) {
  #mcp .official-mcp .mcp_scene_flow_box1_head {
    font-size: 18px;
    white-space: nowrap;
  }
}

/* Integrate the public composition into the approved navy chapter. */
#mcp .official-mcp {
  background: #0d1e38;
  color: #dbe5f5;
  border: 1px solid #263e60;
}
#mcp .official-mcp .structure_text1 {
  color: #c6d4e9;
}
#mcp .official-mcp .mcp_scene_flow_cardbox {
  background: #142844;
  border-color: #344e72;
}
#mcp .official-mcp .mcp_scene_flow_box {
  background: #1c3352;
  border-color: #415b7c;
  box-shadow: none;
}
#mcp .official-mcp .mcp_scene_flow_box_head {
  background: #30486b;
  color: #f4f7ff;
}
#mcp .official-mcp .mcp_scene_flow_box_head_sub {
  color: #c4d4ee;
}
#mcp .official-mcp .mcp_scene_flow_pill {
  background: #4042b24f;
  border-color: #4c52bb8f;
  color: #dfebff;
}
#mcp .official-mcp .mcp_scene_flow_list li {
  background: #4042b2;
  color: #f5f8ff;
}
#mcp .official-mcp .mcp_scene_flow_box1_head_plain {
  color: #c1c8ff;
}
#mcp .official-mcp .mcp_scene_server {
  background: linear-gradient(160deg, #555ccc, #3a349e);
  border: 1px solid #7b85e1;
}
#mcp .official-mcp .mcp_scene_flow_filetypes_text {
  color: #d0def1;
}
#mcp .official-mcp .mcp_scene_down_connector {
  background: linear-gradient(160deg, #2b3d7380, #132253e3);
}
#mcp .official-mcp .mcp_scene_box6 {
  background: linear-gradient(150deg, #323f86, #272d65);
  border: 1px solid #4b5894;
}

/* Balanced department tabs: one line, in scale with the page typography. */
#use-cases .department-tabs>button {
  font-size: 18px;
  font-weight: 700;
  min-height: 76px;
  padding: 12px 18px;
  gap: 10px;
  border-radius: 12px;
  white-space: nowrap;
}
#use-cases .department-tabs>button>img {
  width: 36px;
  height: 44px;
}
#use-cases .section-heading>p {
  /* max-width: 1050px; */
  text-wrap: pretty;
}
#use-cases .compact-question-app .question-prompt {
  white-space: normal;
  text-wrap: pretty;
}
#use-cases .department-heading .heading-phrase,
#pricing h2 .heading-phrase {
  display: inline;
  text-wrap: wrap;
}
#use-cases .department-heading h3,
#pricing .section-heading h2 {
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: pretty;
}
#overview .section-heading>p {
  max-width: 1000px;
  text-wrap: pretty;
}
#mcp .official-mcp .mcp_scene_server_head {
  padding: 8px 30px;
  font-size: 16px;
  text-wrap: pretty;
}
#mcp .official-mcp .mcp_scene_flow_bubble,
#mcp .official-mcp .mcp_scene_flow_bubble1 {
  text-wrap: pretty;
}
#pricing .pricing-release-note {
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  padding: 22px 26px;
  margin: 0 0 44px;
  background: #ffffff;
  border: 1.5px solid #becbee;
  border-radius: 12px;
  box-shadow: 0 3px 10px #34467408;
  color: #4b5a78;
}
#pricing .release-notice-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 50px;
  height: 50px;
  background: #dce5ff;
  color: #465bb0;
  border-radius: 50%;
}
#pricing .release-notice-icon svg {
  display: block;
  width: 30px;
  height: 30px;
}
#pricing .pricing-release-note .release-notice-date {
  display: block;
  width: fit-content;
  margin: 0 0 7px;
  padding: 3px 16px;
  border-radius: 23px;
  background: #4b5ec6;
  color: #ffffff;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 700;
}
#pricing .release-notice-copy {
  min-width: 0;
}
#pricing .release-notice-copy p {
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #4b5a78;
  text-wrap: pretty;
  padding-left: 3px;
}
#pricing .release-notice-copy b {
  color: #4b5ec6;
  font-weight: 700;
}
@media (max-width: 1100px) {
  #use-cases .department-tabs>button {
    font-size: 17px;
    min-width: 150px;
    min-height: 72px;
    padding: 12px 16px;
  }
  #use-cases .department-tabs>button>img {
    width: 34px;
    height: 42px;
  }
}
@media (max-width: 760px) {
  #pricing .pricing-release-note {
    gap: 12px;
    padding: 18px 16px;
    align-items: flex-start;
  }
  #pricing .release-notice-icon {
    width: 36px;
    height: 36px;
  }
  #pricing .release-notice-icon svg {
    width: 20px;
    height: 20px;
  }
  #pricing .release-notice-copy p {
    font-size: 15px;
  }
  #use-cases .department-tabs>button {
    min-height: 68px;
    padding: 10px 16px;
  }
}
@media (max-width: 768px) {
  #pricing .pricing-release-note {
    margin-bottom: 12px;
  }
  #pricing .official-pricing .ai_price_cards {
    gap: 14px;
    padding-top: 6px;
  }
  #pricing .official-pricing .ai_price_card_best {
    margin-top: 30px;
  }
}

#pricing .release-notice-copy b {
  display: inline-block;
  white-space: nowrap;
}
@media (max-width: 760px) {
  #use-cases .department-heading .heading-phrase,
  #pricing h2 .heading-phrase {
    display: inline-block;
    max-width: 100%;
    text-wrap: balance;
  }
}

/* Recognizable, responsive product input examples. Restricted to use cases. */
#use-cases .department-panel--photo .department-question--app {
  background: #f8faff;
  border: 1.5px solid #b2b8ebbd;
  padding: 24px;
  border-radius: 20px;
  box-shadow: 0 6px 10px rgba(35, 49, 100, .08);
}
#use-cases .department-question--app .case-eyebrow {
  display: block;
  font-size: 12px;
  text-align: left;
  color: #64718d;
  margin: 0 0 12px;
}
#use-cases .question-app-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
#use-cases .question-app-symbol {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  padding: 11px;
  border: 2px solid #e1e5ef;
  border-radius: 50%;
  background: white;
}
#use-cases .question-ai-mark {
  display: block;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
}
#use-cases .question-app-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #5b6c94;
}
#use-cases .department-question--app .question-welcome {
  margin: 4px 0 18px;
  font-size: 21px;
  line-height: 1.5;
  letter-spacing: -.03em;
  font-weight: 700;
  color: #242b3d;
  text-align: center;
  text-wrap: balance;
}
#use-cases .question-composer {
  border: 2px solid transparent;
  border-radius: 17px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(120deg, #b865fa, #5470ff 55%, #2e6efe) border-box;
  padding: 16px;
  min-width: 0;
}
#use-cases .department-panel--photo .department-question .question-prompt {
  padding: 0;
  margin: 0 0 16px;
  background: none;
  border: 0;
  border-radius: 0;
  font-size: 16px;
  font-weight: 500;
  color: #26344e;
  line-height: 1.65;
  letter-spacing: 0;
  min-height: 68px;
}
#use-cases blockquote.question-prompt.is-typing::after {
  content: '';
  display: inline-block;
  width: 2px;
  height: 1em;
  margin-left: 2px;
  background: #2e6efe;
  vertical-align: -.1em;
  animation: dcai-caret .8s step-end infinite;
}
@keyframes dcai-caret {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  #use-cases blockquote.question-prompt.is-typing::after {
    animation: none;
    opacity: 1;
  }
}
#use-cases .question-composer-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
#use-cases .question-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
#use-cases .question-mode,
#use-cases .question-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 5px 9px;
  min-height: 29px;
  white-space: nowrap;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}
#use-cases .question-mode {
  border: 1px solid #d9dde5;
  color: #717989;
  background: white;
}
#use-cases .question-mode.is-active {
  background: #464a54;
  color: white;
  border-color: #464a54;
}
#use-cases .question-control-icon {
  width: 16px;
  height: 16px;
  display: block;
  flex: none;
}
#use-cases .question-send {
  background: #2e6efe;
  color: white;
  border: 1px solid #2e6efe;
  margin-left: auto;
  padding-inline: 12px;
}
#use-cases .question-app-symbol--external {
  background: #fff;
  border-color: #e1e5ef;
  color: #2e6efe;
}
#use-cases .question-app-symbol--external .question-control-icon {
  width: 34px;
  height: 34px;
}
#use-cases .question-mode--external {
  background: #eef1ff;
  border-color: #d2dbf3;
  color: #465aa1;
}
#use-cases .department-question--app .department-output {
  margin-top: 22px;
  padding: 0;
  border: 0;
}
#use-cases .department-question--app .department-output h4 {
  font-size: 13px;
  margin-bottom: 10px;
}
#use-cases .department-question--app .department-output li {
  padding: 8px 11px;
  font-size: 14px;
  line-height: 1.7;
  border: 1px solid #e9edf5;
}
#use-cases .compact-question-app {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 20px 22px;
  background: #fff;
}
#use-cases .compact-question-brand {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 13px;
  font-size: 18px;
  font-weight: 700;
  color: #5b6c94;
  line-height: 1.4;
}
#use-cases .compact-question-brand .question-ai-mark {
  width: 32px;
  height: 26px;
}
#use-cases .compact-question-brand>.question-control-icon {
  width: 23px;
  height: 23px;
  color: #4952b9;
}
#use-cases .compact-question-app .question-composer {
  padding: 12px;
  border-radius: 13px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#use-cases .compact-question-app .question-prompt {
  font-size: 14px;
  line-height: 1.7;
  font-weight: 500;
  color: #2d3d5d;
  margin: 0;
}
#use-cases .compact-question-app .question-composer-tools {
  gap: 6px;
  flex-wrap: nowrap;
}
#use-cases .compact-question-app .question-mode,
#use-cases .compact-question-app .question-send {
  font-size: 11px;
  padding: 4px 8px;
  min-height: 26px;
  gap: 4px;
}
#use-cases .compact-question-app .question-control-icon {
  width: 14px;
  height: 14px;
}
#use-cases .compact-question-response {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 12px;
  line-height: 1.65;
  color: #465ba1;
  margin-top: 12px;
}
#use-cases .compact-question-response>.question-control-icon {
  width: 18px;
  height: 18px;
  margin-top: 1px;
}
#use-cases .compact-question-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 10px;
  line-height: 1.5;
  margin-top: 8px;
  color: #6b7993;
}
#use-cases .compact-question-status .walk-icon {
  width: 12px;
  height: 12px;
}
@media (max-width: 1100px) and (min-width: 821px) {
  #use-cases .compact-question-app {
    padding: 10px;
  }
  #use-cases .compact-question-app .question-composer {
    padding: 10px;
  }
  #use-cases .compact-question-app .question-prompt {
    font-size: 13px;
  }
  #use-cases .compact-question-app .question-composer-tools {
    flex-wrap: wrap;
  }
}
@media (max-width: 760px) {
  #use-cases .department-panel--photo .department-question--app {
    padding: 22px 18px;
    border-radius: 16px;
  }
  #use-cases .department-question--app .question-welcome {
    font-size: 20px;
  }
  #use-cases .department-panel--photo .department-question .question-prompt {
    font-size: 17px;
    line-height: 1.85;
    min-height: 63px;
  }
  #use-cases .question-composer {
    padding: 14px;
  }
  #use-cases .question-app-symbol {
    width: 62px;
    height: 62px;
  }
}
@media (max-width: 768px) {
  #use-cases .department-question--app .question-composer-tools {
    gap: 9px;
  }
  #use-cases .department-question--app .question-mode {
    font-size: 11px;
    padding: 5px 7px;
    gap: 4px;
  }
  #use-cases .department-question--app .question-mode .question-control-icon {
    width: 13px;
    height: 13px;
  }
  #use-cases .department-question--app .question-modes {
    gap: 5px;
  }
  #use-cases .department-question--app .question-send {
    font-size: 12px;
    padding: 5px 11px;
  }
}

/* Public overview first, then department details in the feature-tab style. */
#use-cases .official-use-overview {
  min-width: 0;
  margin: 0 0 48px;
  color: #303968;
  line-height: 1.6;
}
#use-cases .official-use-overview .distress_con_wide {
  margin: 0;
  max-width: 100%;
}
#use-cases .official-use-overview .pc_on {
  display: block;
}
#use-cases .official-use-overview br.pc_on {
  display: initial;
}
#use-cases .official-use-overview .sp_on {
  display: none;
}
#use-cases .official-use-overview p {
  margin-block: 0;
}
#use-cases .official-use-overview .ai_usage_area>img {
  display: block;
  width: 100%;
  height: auto;
}
#use-cases .official-use-overview .ai_usage_area>img.sp_on {
  display: none;
}
#use-cases .department-tabs {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: 0;
  margin: 0;
  padding: 0;
  background: #eceef6;
  border: 1.5px solid #c8cee7;
  border-radius: 12px 12px 0 0;
  overflow-x: auto;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
#use-cases .department-tabs>button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto;
  gap: 10px;
  padding: 16px 14px;
  min-width: 0;
  min-height: 76px;
  border: 0;
  border-right: 1.5px solid #d9deef;
  border-radius: 0;
  background: transparent;
  color: #626a81;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
  box-shadow: none;
  scroll-snap-align: start;
}
#use-cases .department-tabs>button:first-child {
  border-radius: 11px 0 0 0;
}
#use-cases .department-tabs>button:last-child {
  border-right: 0;
  border-radius: 0 11px 0 0;
}
#use-cases .department-tabs>button>img {
  display: block;
  width: 36px;
  height: auto;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}
#use-cases .department-tabs>button>span {
  white-space: nowrap;
}
#use-cases .department-tabs>button[aria-selected=true] {
  background: #4952b9;
  color: #fff;
  border-color: #4952b9;
  box-shadow: none;
}
#use-cases .department-tabs>button:hover:not([aria-selected=true]) {
  background: #e1e5f5;
  border-color: #d9deef;
  color: #333d83;
}
#use-cases .department-panel {
  margin: 0;
  padding: 55px 34px 55px;
  background: #fff;
  border: 1.5px solid #c8cee7;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  box-shadow: none;
}
@media (max-width: 1100px) {
  #use-cases .department-tabs>button {
    font-size: 19px;
    padding: 14px 12px;
    gap: 8px;
    min-height: 70px;
  }
  #use-cases .department-tabs>button>img {
    width: 28px;
    height: 35px;
  }
}
@media (max-width: 760px) {
  #use-cases .official-use-overview {
    margin-bottom: 32px;
  }
  #use-cases .official-use-overview .pc_on,
  #use-cases .official-use-overview .ai_usage_area>img.pc_on,
  #use-cases .official-use-overview br.pc_on {
    display: none;
  }
  #use-cases .official-use-overview .sp_on,
  #use-cases .official-use-overview .ai_usage_area>img.sp_on {
    display: block;
  }
  #use-cases .department-tabs>button {
    flex: 0 0 auto;
    min-width: 160px;
    min-height: 68px;
    font-size: 18px;
    padding: 14px 16px;
  }
  #use-cases .department-panel {
    padding: 28px 22px;
    border-top: 1.5px solid #c8cee7;
    border-radius: 12px;
  }
}
@media (max-width: 768px) {
  #use-cases .department-panel {
    padding: 26px 18px;
  }
}

#mcp .official-mcp {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

#mcp .mcp-bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 22px;
  padding: 28px;
  background: #4952b9;
  border: 0;
  border-radius: 12px;
}
#mcp .mcp-bottom>div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-content: start;
  gap: 10px 12px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
}
#mcp .mcp-bottom>div>.mcp-benefit-check {
  display: grid;
  place-items: center;
  grid-column: 1;
  grid-row: 1;
  width: 28px;
  height: 28px;
  margin: 4px 0 0;
  border-radius: 50%;
  background: #7f86ed;
  color: #fff;
}
#mcp .mcp-benefit-check svg {
  display: block;
  width: 24px;
  height: 24px;
  margin-top: 3px;
}
#mcp .mcp-bottom strong {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.55;
}
#mcp .mcp-bottom p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #e0e4ff;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.8;
  text-wrap: pretty;
}
@media (max-width: 1100px) {
  #mcp .mcp-bottom {
    padding: 24px;
    gap: 22px;
  }
  #mcp .mcp-bottom strong {
    font-size: 20px;
  }
  #mcp .mcp-bottom p {
    font-size: 16px;
  }
}
@media (max-width: 760px) {
  #mcp .mcp-bottom {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 24px;
  }
  #mcp .mcp-bottom strong {
    font-size: 21px;
  }
  #mcp .mcp-bottom p {
    font-size: 16px;
  }
  #mcp .mcp-bottom>div {
    gap: 7px 11px;
  }
}

@media (max-width: 760px) {
  #use-cases .official-use-overview .ai_usage_text_1 {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    padding: 12px 4px 16px;
    text-wrap: pretty;
  }
  #use-cases .official-use-overview .balloon-text {
    font-size: 13px;
    line-height: 1.65;
    padding: 12px 14px;
  }
  #use-cases .official-use-overview .balloon-icon img {
    min-width: 72px;
    max-width: 72px;
  }
  #use-cases .official-use-overview .balloon-text::after {
    border-width: 9px 0 9px 18px;
    right: -18px;
    top: 27px;
  }
}

/* 代表的な5つの活用シーン：3ステップを一続きの体験として見せる */
#use-cases .department-panel--photo .department-walkthrough {
  position: relative;
  margin-top: 38px;
  padding: 30px;
  border: 1px solid #d7deed;
  border-radius: 16px;
  background: radial-gradient(circle at 94% 0%, rgb(249 251 255), transparent 30%), linear-gradient(145deg, #fafcff 0%, #f3f6ff 100%);
  box-shadow: 0 4px 10px rgba(35, 49, 100, .08);
  overflow: hidden;
}
/* #use-cases .department-panel--photo .department-walkthrough::before {
  content: "";
  position: absolute;
  top: -84px;
  right: -58px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(81, 114, 224, .13), rgba(81, 114, 224, 0) 68%);
  pointer-events: none;
} */
#use-cases .department-panel--photo .department-guide-title {
  position: relative;
  z-index: 1;
  margin: 0 0 26px;
  padding: 0 2px 20px;
  border-bottom: 1px solid rgba(123, 139, 184, .22);
}
#use-cases .department-panel--photo .department-guide-title>img {
  box-sizing: content-box;
  width: 40px;
    height: 42px;
    padding: 8px 10px;
    border: 1.5px solid #c3d0f4d4;
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 4px 6px rgba(42, 58, 112, .07);
}
#use-cases .department-panel--photo .department-guide-title>div>span {
  color: #34416f;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -.02em;
  white-space: nowrap;
}
#use-cases .department-walkthrough .scenario-flow {
  position: relative;
  z-index: 1;
  gap: 26px;
}
#use-cases .department-walkthrough .scenario-step {
  --step-accent: #405ecb;
  position: relative;
  padding: 4px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#use-cases .department-walkthrough .scenario-step:nth-child(2) {
  --step-accent: #6257d4;
}
#use-cases .department-walkthrough .scenario-step:nth-child(3) {
  --step-accent: #3478c8;
  background: transparent;
}
#use-cases .department-walkthrough .scenario-step::before {
  content: none;
}
#use-cases .department-walkthrough .scenario-step h4 {
  min-height: 58px;
  margin-bottom: 7px;
  color: #293669;
}
#use-cases .department-walkthrough .scenario-number {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  background: linear-gradient(145deg, var(--step-accent), #6f86ed);
  box-shadow: 0 3px 4px color-mix(in srgb, var(--step-accent) 26%, transparent);
}
#use-cases .department-walkthrough .scenario-visual {
  height: 278px;
  border-color: #9eb6efb8;
  background: #ffffff;
  box-shadow: inset 0 1.5px 0 #fff, 0 8px 20px rgba(39, 54, 108, .055);
}
#use-cases .department-walkthrough .scenario-step>p {
  min-height: 58px;
  margin-top: 10px;
  padding-top: 0;
  border-top: 0;
  text-align: center;
}
#use-cases .department-walkthrough .scenario-connector {
  right: -33px;
  top: 50%;
  width: 46px;
  height: 30px;
  transform: translateY(-50%);
  border: 0;
  background: none;
  color:#6f89e7;
  box-shadow: none;
}
#use-cases .department-walkthrough .scenario-connector .walk-icon {
  width: 38px;
  height: 38px;
  stroke-width: 2.1;
}

@media (max-width: 1100px) {
  #use-cases .department-panel--photo .department-walkthrough {
    padding: 24px;
  }
  #use-cases .department-walkthrough .scenario-flow {
    gap: 20px;
  }
  #use-cases .department-walkthrough .scenario-step {
    padding-top: 4px;
  }
  #use-cases .department-walkthrough .scenario-connector {
    right: -27px;
    width: 38px;
    height: 26px;
  }
  #use-cases .department-walkthrough .scenario-connector .walk-icon {
    width: 32px;
    height: 32px;
  }
}
@media (max-width: 900px) {
  #use-cases .department-panel--photo .department-walkthrough {
    padding: 24px;
    border-radius: 22px;
  }
  #use-cases .department-walkthrough .scenario-flow {
    gap: 22px;
  }
  #use-cases .department-walkthrough .scenario-step {
    padding-top: 4px;
  }
  #use-cases .department-walkthrough .scenario-step h4 {
    min-height: 0;
  }
  #use-cases .department-panel--photo .department-guide-title>div>span {
    font-size: 20px;
  }
  #use-cases .department-walkthrough .scenario-step>p {
    min-height: 0;
    padding-top: 0;
  }
}
@media (max-width: 560px) {
  #use-cases .department-panel--photo .department-walkthrough {
    margin-top: 28px;
    padding: 18px 14px;
    border-radius: 18px;
  }
  #use-cases .department-panel--photo .department-guide-title {
    align-items: flex-start;
    padding-bottom: 17px;
    margin-bottom: 20px;
  }
  #use-cases .department-panel--photo .department-guide-title>img {
    width: 29px;
    height: 36px;
    padding: 7px 8px;
    border-radius: 12px;
  }
  #use-cases .department-panel--photo .department-guide-title>div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  #use-cases .department-walkthrough .scenario-flow {
    gap: 22px;
  }
  #use-cases .department-panel--photo .department-guide-title>div>span {
    font-size: 19px;
    line-height: 1.55;
    white-space: normal;
  }
  #use-cases .department-walkthrough .scenario-step {
    padding-top: 4px;
    border-radius: 0;
  }
  #use-cases .department-walkthrough .scenario-step h4 {
    margin-bottom: 14px;
  }
}

/* 添付デザインの明暗リズムとカード構成を3セクションへ反映 */
#september-update {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 78px 0 82px;
  background: linear-gradient(180deg, #ffffff 0, rgba(255, 255, 255, 0) 180px), radial-gradient(circle at 15% 8%, rgba(113, 151, 255, .13), transparent 32%), linear-gradient(135deg, #f7f9ff 0%, #edf3ff 56%, #f6f9ff 100%);
}
#september-update::before,
#september-update::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(87, 130, 236, .16), rgba(87, 130, 236, .035));
  clip-path: polygon(50% 0, 100% 38%, 78% 38%, 78% 100%, 22% 100%, 22% 38%, 0 38%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 96%);
  mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 96%);
  transform: rotate(38deg);
}
#september-update::before {
  width: 190px;
  height: 260px;
  right: 2%;
  top: 12px;
}
#september-update::after {
  width: 112px;
  height: 174px;
  right: 18%;
  top: 104px;
  opacity: .55;
}
body.product-story .section > .container {
  max-width: 1340px;
}
#september-update>.container {
  position: relative;
  z-index: 1;
}
#september-update .section-top {
  display: flex;
  justify-content: center;
  margin-bottom: 17px;
}
#september-update .release-status {
  padding: 6px 28px;
  border: 1.5px solid #89a1e1;
  border-radius: 999px;
  background: rgba(255, 255, 255, .76);
  color: #4160bd;
  box-shadow: 0 4px 8px rgba(50, 80, 160, .07);
}
#september-update .section-heading.split-heading {
  display: block;
  margin: 0 auto 38px;
  text-align: center;
}
#september-update .section-heading h2 {
  color: #202a43;
  font-size: clamp(32px, 3.35vw, 52px);
  line-height: 1.42;
  letter-spacing: -.035em;
}
#september-update .section-heading>p {
  margin: 14px auto 0;
  color: #67738a;
  font-size: 17px;
  line-height: 1.9;
}
#september-update .release-grid {
  max-width: 1340px;
  margin: 0 auto;
  gap: 32px;
}
#september-update .release-card {
  position: relative;
    padding: 30px 32px 28px;
    border: 1.5px solid rgb(184 193 230);
    border-radius: 16px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 12px rgb(33 39 64 / 9%);
    overflow: hidden;
}
#september-update .release-card::before {
  content: none;
}
#september-update .release-card-top {
  margin-bottom: 17px;
}
#september-update .release-label {
  color: #4952b9;
  font-size: 23px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: -.015em;
}
#september-update .release-icon {
  width: 56px;
  height: 56px;
  border-radius: 13px;
  background: linear-gradient(145deg, #3569ed, #574bd0);
  box-shadow: 0 9px 20px rgba(55, 83, 194, .19);
}
#september-update .release-card h3 {
  color: #26335b;
  font-size: 30px;
  line-height: 1.55;
  margin-bottom: 12px;
}
#september-update .release-card>p {
  color: #667188;
  font-size: 17px;
  line-height: 1.7;
}
#september-update .release-plans>span,
#september-update .release-steps>li {
  border: 1px solid #cad3e7;
  background: #f5f7fd;
  color: #556482;
}
#september-update .release-plans>span:first-child {
  border-color: #5269ce;
  background: #5269ce;
  color: #fff;
}
#september-update .release-link {
  margin-top: auto;
  justify-content: flex-start;
  gap: 4px;
  color: #5269ce;
  border-color: #e0e6f2;
  font-weight: 700;
}
#september-update .release-link > .internal-link-icon {
  width: 21px;
  height: 21px;
  flex: 0 0 20px;
  padding-top: 2px;
}

#overview {
  padding: 80px 0 100px;
  background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
}
#overview .section-top {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
#overview .section-kicker {
  font-size: 16px;
  font-weight: 700;
  padding: 6px 28px;
  border: 1.5px solid #89a1e1;
  border-radius: 999px;
  background: rgba(255, 255, 255, .76);
  color: #4160bd;
  box-shadow: 0 4px 8px rgba(50, 80, 160, .07);
}
#overview .section-side {
  display: none;
}
#overview .section-heading.split-heading {
  display: block;
  margin: 0 auto 42px;
  text-align: center;
}
#overview .section-heading h2 {
  color: #202a43;
  font-size: clamp(34px, 3.4vw, 52px);
  line-height: 1.42;
  letter-spacing: -.04em;
}
#overview .section-heading>p {
  margin: 14px auto 0;
  color: #67738a;
  font-size: 16px;
  line-height: 1.9;
}
#overview .core-feature-grid {
  max-width: 1340px;
  margin: 0 auto;
  gap: 30px;
}
#overview .core-feature-grid article {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  grid-template-areas: "media media" "index title" "subtitle subtitle" "description description" "link link";
  align-content: start;
  padding: 0 24px 24px;
  border:1.5px solid #c3ccde;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 15px rgba(37, 55, 105, .075);
  overflow: hidden;
}
#overview .highlight-media {
  grid-area: media;
  position: relative;
  width: auto;
  height: 205px;
  margin: 0 -24px 22px;
  border-radius: 0;
  background: #eaf0fb;
  overflow: hidden;
}
#overview .highlight-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, rgba(12, 35, 81, .11));
  pointer-events: none;
}
#overview .highlight-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#overview .highlight-media--mcp img {
  object-position: center 52%;
}
#overview .highlight-media--chat img {
  object-position: center 48%;
}
#overview .highlight-media--vlm img {
  object-position: center 43%;
}
#overview .core-feature-grid .value-index {
  grid-area: index;
  display: grid;
  place-items: center;
  align-self: center;
  width: 35px;
  height: 35px;
  margin: 0;
  border: 0px solid #b8c8f5;
  border-radius: 39px;
  background: #4952b9;
  color: #ffffff;
  font-size: 20px;
  letter-spacing: 1.4px;
  font-family: system-ui;
  font-weight: 900;
  padding: 0px 0px 2px 1px;
}
#overview .core-feature-grid h3 {
  grid-area: title;
  align-self: center;
  margin: 0;
  color: #4952b9;
  font-size: 24px;
  line-height: 1.45;
  padding-left: 0px;
}
#overview .core-feature-grid h4 {
  grid-area: subtitle;
  min-height: 0;
  margin: 18px 0 6px;
  color: #26314e;
  font-size: 20px;
  line-height: 1.5;
}
#overview .core-feature-grid p {
  grid-area: description;
  margin: 0 0 20px;
  color: #697386;
  font-size: 15px;
  line-height: 1.6;
}
#overview .core-feature-grid .value-tag {
  grid-area: link;
  align-self: end;
  justify-content: flex-start;
  gap: 4px;
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid #e5e9f2;
  color: #5269ce;
  font-size: 14px;
  font-weight: 700;
}
#overview .core-feature-grid .value-tag > .internal-link-icon {
  width: 21px;
  height: 21px;
  flex: 0 0 20px;
  padding-top: 2px;
}

#mcp {
  padding: 82px 0 42px;
  background: #040d25;
}
#mcp>.mcp-server-backdrop {
  background: #040d25;
}
#mcp>.mcp-server-backdrop>img {
  object-position: 50% 55%;
  filter: brightness(.82) saturate(.9) contrast(1.06);
  opacity: .6;
  transform: scale(1.02);
}
#mcp>.mcp-server-backdrop::after {
  background: linear-gradient(180deg, rgba(5, 18, 40, .64) 0%, rgba(5, 18, 40, .3) 45%, rgba(5, 18, 40, .76) 100%), radial-gradient(circle at 50% 42%, rgba(43, 112, 210, .08), transparent 54%), linear-gradient(90deg, rgba(5, 18, 40, .58), transparent 24%, transparent 76%, rgba(5, 18, 40, .58));
}
#mcp>.container {
  padding: 0px;
}
#mcp .section-top {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
#mcp .mcp-copy h2 {
  font-size: 54px;
  letter-spacing: -.035em;
}
#mcp .mcp-copy>p {
  max-width: 1200px;
  margin: 16px auto 12px;
  color: #c4d1e4;
  font-size: 17px;
  line-height: 1.85;
}
#mcp .mcp-copy .text-link {
  color: #8794ff !important;
}
#mcp .official-mcp {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
#mcp .official-mcp .mcp_scene_flow_cardbox {
  /* border-color:rgba(122,164,222,.48);
  background: linear-gradient(145deg,rgba(12,43,81,.82),rgba(8,30,61,.76));
  box-shadow: 0 20px 46px rgba(0,8,29,.24),inset 0 1px rgba(255,255,255,.045); */
  border-color: rgb(59 92 158 / 38%);
  background: linear-gradient(145deg, rgb(10 23 63 / 74%), rgb(4 20 60 / 74%));
  box-shadow: 0 20px 46px rgb(0 4 29 / 73%), inset 0 1px rgba(255, 255, 255, .045);
}
#mcp .official-mcp .mcp_scene_flow_box {
  border-color: #4d64ca82;
  background: #1a2577e0;
}
#mcp .official-mcp .mcp_scene_flow_box_head {
  background: #4254a3d1;
}
#mcp .official-mcp .mcp_scene_server {
  border-color: #6773debd;
  background: linear-gradient(150deg, #5867dc 0%, #3836a5 100%);
  box-shadow: 0 14px 30px rgba(31, 28, 126, .3);
}
#mcp .official-mcp .mcp_scene_box6 {
  border-color: rgba(126, 144, 223, .55);
  background: linear-gradient(145deg, rgba(49, 65, 139, .94), rgba(32, 39, 93, .96));
  box-shadow: 0 14px 34px rgba(0, 8, 35, .2);
}
#mcp .mcp-bottom {
  margin-top: 7px;
  border: 1px solid rgba(114, 135, 225, .45);
  background: linear-gradient(110deg, rgba(70, 82, 190, .91), rgba(57, 67, 161, .88));
  box-shadow: 0 14px 32px rgba(0, 8, 34, .18);
}

@media (max-width: 900px) {
  #overview .core-feature-grid {
    max-width: 660px;
    gap: 24px;
  }
  #september-update .release-grid {
    max-width: 660px;
  }
  #overview .highlight-media {
    height: 260px;
  }
  #mcp .official-mcp {
    padding: 0;
  }
}
@media (max-width: 820px) {
  #september-update .release-grid,
  #overview .core-feature-grid {
    max-width: 640px;
  }
}
@media (max-width: 760px) {
  #september-update {
    padding: 62px 0 66px;
  }
  #september-update::before {
    right: -65px;
    opacity: .62;
  }
  #september-update::after {
    display: none;
  }
  #september-update .section-heading.split-heading {
    margin-bottom: 20px;
  }
  #september-update .release-card {
    padding: 26px 22px 24px;
  }
  #overview {
    padding: 66px 0 72px;
  }
  #overview .section-heading.split-heading {
    margin-bottom: 32px;
  }
  #overview .core-feature-grid article {
    padding: 0 20px 22px;
  }
  #overview .highlight-media {
    height: 220px;
    margin: 0 -20px 20px;
  }
  #mcp {
    padding: 60px 0 46px;
  }
  #mcp>.container {
    padding: 0 0 28px;
  }
  #mcp .mcp-copy>p {
    text-align: center;
    font-size: 15px;
  }
  #mcp .official-mcp {
    padding: 0;
    border-radius: 0;
  }
  #mcp .mcp-bottom {
    border-radius: 14px;
  }
}
@media (max-width: 768px) {
  #september-update .section-heading h2,
  #overview .section-heading h2 {
    font-size: 30px;
  }
  #overview .highlight-media {
    height: 190px;
  }
  #overview .core-feature-grid h3 {
    font-size: 22px;
  }
  #mcp .mcp-copy h2 {
    font-size: 30px;
  }
}

/* Requested 2026-09 copy/layout adjustments: keep the two long leads on one line on wide desktop only. */
.product-story .section-heading.lead-wide {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
}
.product-story .section-heading.lead-wide>p {
  max-width: none !important;
  width: 100%;
}
@media (min-width: 1150px) {
  .product-story .section-heading.lead-wide>p {
    white-space: nowrap;
  }
}
@media (max-width: 1149px) {
  .product-story .section-heading.lead-wide>p {
    white-space: normal;
  }
}

.product-story .mcp-guide-link-row {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.8;
}
.product-story .mcp-guide-link-row a {
  color: #6673e8 !important;
  text-decoration: none;
  font-weight: 600;
}
.product-story .mcp-guide-link-row a:hover {
  color: #5362dc;
  text-decoration: none;
}
.product-story .mcp-guide-link-row .external-link-icon,
.product-story .ai_price_card_setup_link .external-link-icon {
  display:inline-block;
  margin-left:5px;
  vertical-align:-1px;
}
#pricing .official-pricing .ai_price_card_setup_link {
  display: inline-block;
  margin-top: 3px;
  color: #6673e8;
  font-size: 12px;
  line-height: 1.6;
  text-decoration: none;
  font-weight: 600;
}
#pricing .official-pricing .ai_price_card_setup_link:hover {
  color: #5362dc;
  text-decoration: none;
}

/* 導入実績・お客様ロゴ */
.product-story .main_bottom_area {
  background-color: #fff;
  padding: 55px 0 20px;
}
.product-story .main_bottom_inner {
  position: relative;
  text-align: center;
  max-width: 1360px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}
.product-story .main_bottom_inner .statement {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 16px;
  color: #4c4c4c;
  position: relative;
}
.product-story .main_bottom_inner .statement:before {
  border-right: 2px solid #d2d2d2;
  transform: translateX(-22px) translateY(0) rotate(-28deg);
  content: "";
  width: 0;
  height: 38px;
}
.product-story .main_bottom_inner .statement:after {
  border-left: 2px solid #d2d2d2;
  transform: translateX(10px) translateY(0) rotate(28deg);
  content: "";
  width: 0;
  height: 38px;
}
.product-story .interview_b_img {
  max-width: 100%;
  margin: 0 auto;
  padding: 17px 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(10px, 1.4vw, 20px);
  margin-bottom: 2px;
}
.product-story .interview_b_img li {
  width: auto;
  margin: 0;
}
/* All three badges share the same 122px-tall artwork, so match on height
rather than a hand-picked width share, and let each keep its own aspect ratio. */
.product-story .performance_img,
.product-story .laurel_img {
  width: auto;
  height: 80px;
}
.product-story .laurel___span {
  display: block;
  font-size: 9px;
  color: #6191c0;
  text-align: center;
  padding-top: 1px;
}
@media screen and (max-width: 480px) {
  .product-story .main_bottom_area {
    padding: 40px 30px 30px;
  }
  .product-story .main_bottom_inner {
    padding: 0;
  }
  .product-story .main_bottom_inner .statement::before,
  .product-story .main_bottom_inner .statement::after {
    display: none;
  }
  .product-story .statement span {
    font-size: 18px;
    line-height: 23px;
  }
  .product-story .interview_b_img {
    max-width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
  }
  .product-story .interview_b_img li {
    width: 100%;
  }
  .product-story .performance_img,
  .product-story .laurel_img {
    width: auto;
    height: 52px;
  }
  .product-story .laurel___span {
    padding-top: 5px;
  }

  .product-story .release-plans,
  .product-story .release-steps {
    gap: 8px;
    margin: 0 0 10px;
  }

  .product-story .release-plans>span, .product-story .release-steps>li {
    padding: 5px 15px 6px;
    font-size: 14px;
    line-height: 1.5;
  }

  #mcp .mcp-bottom {
      margin-top: 30px;
  }

  #mcp .mcp-bottom>div>.mcp-benefit-check {
    width: 24px;
    height: 24px;
  }
  #mcp .mcp-benefit-check svg {
    width: 21px;
    height: 21px;
    margin-top: 0px;
  }
}


/* Give the security and data-flow sections their own backgrounds. */
#security.governance-section {
  position: relative;
  isolation: isolate;
  padding: 84px 0 92px;
  background-color: #edf5ff;
  background-image: linear-gradient(180deg, rgba(246,249,255,.86) 0%, rgba(247,250,255,.92) 72%, rgba(250,252,255,.97) 100%), radial-gradient(circle at 18% 18%, rgba(138,165,255,.22), transparent 24%), radial-gradient(circle at 82% 30%, rgba(110,128,247,.15), transparent 20%), linear-gradient(120deg, rgba(74,104,226,.05), rgba(255,255,255,0) 38%, rgba(110,128,247,.05)), url('/images/lp/dc_ai_new/ai-bg-optimized.jpg');
  background-position: center, center, center 58%, center, center;
  background-size: cover, cover, cover, cover, cover;
  background-repeat: no-repeat;
}
#security.governance-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 14% 20%, rgba(255,255,255,.26), transparent 12%), radial-gradient(circle at 83% 76%, rgba(120,149,255,.10), transparent 15%), linear-gradient(120deg, rgba(88,109,210,.03), rgba(255,255,255,0) 36%, rgba(88,109,210,.03));
  pointer-events: none;
  z-index: -1;
}
#data-flow.dataflow-section {
  position: relative;
  isolation: isolate;
  background-color: rgb(238, 243, 255);
  background-image: linear-gradient(rgb(234 237 255 / 94%) 0%, rgba(245, 247, 255, 0.97) 28%, rgb(255, 255, 255) 100%), radial-gradient(circle at 18% 20%, rgba(111, 139, 255, 0.12), transparent 12%), radial-gradient(circle at 64% 72%, rgba(96, 126, 255, 0.08), transparent 18%), linear-gradient(120deg, rgba(76, 116, 255, 0.04), rgba(255, 255, 255, 0) 40%, rgba(76, 116, 255, 0.05))
  background-size: cover, cover, cover, cover, cover;
  background-repeat: no-repeat;
  background-position: center center, center center, center center, center center, center center;
  padding: 76px 0px 94px;
}
#data-flow.dataflow-section::before {
  content: "";
  position: absolute;
  opacity: 0.8;
  mask-image: linear-gradient(transparent 0%, rgb(0, 0, 0) 18%);
  pointer-events: none;
  inset: 0px;
  background: linear-gradient(90deg, rgba(116, 140, 255, 0.055) 1px, transparent 1px) center center / 72px 72px, linear-gradient(rgba(116, 140, 255, 0.04) 1px, transparent 1px) center center / 72px 72px, radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.28), transparent 11%) center center / auto, radial-gradient(circle at 72% 68%, rgba(119, 143, 255, 0.1), transparent 15%) center center / auto;
  background-position: center center, center center, center center, center center;
}
#data-flow.dataflow-section > .container {
  position: relative;
  z-index: 1;
}
#security .governance-intro {
  max-width: 1000px;
  margin: 0 auto 45px;
  text-align: center;
}
#security .section-top {
  justify-content: center;
  margin-bottom: 18px;
}
#security .section-heading {
  text-align: center;
  margin: 0;
}
#security .section-heading h2,#data-flow .section-heading h2 {
  color: #202a43;
  font-size: clamp(30px,3.5vw,48px);
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: -.035em;
}
#security .section-heading p {
  max-width: 900px;
  margin: 15px auto 0;
  color: #586783;
  font-size: 19px;
  line-height: 1.8;
}
#security .governance-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 38px 32px;
  max-width: 1340px;
  margin: 0 auto;
}
@media (max-width: 1240px) {
  #security .governance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  #security .governance-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.product-story .ai-customers-statement {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin: 40px auto 32px;
  padding: 0 24px;
  color: #4c4c4c;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
.ai-customers-statement::before,
.ai-customers-statement::after {
  content: "";
  flex: 0 0 auto;
  height: 38px;
  border-left: 2px solid #d2d2d2;
}
.ai-customers-statement::before {
  transform: rotate(-28deg);
}
.ai-customers-statement::after {
  transform: rotate(28deg);
}
.ai-customers-break {
  display: none;
}
@media (max-width: 767px) {
  .product-story .ai-customers-statement {
    margin: 28px auto 24px;
    padding: 0 16px;
    font-size: 17px;
  }
  .ai-customers-statement::before,
  .ai-customers-statement::after {
    display: none;
  }
  .ai-customers-break {
    display: inline;
  }
}

#security .governance-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 270px;
  padding: 27px 25px 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f8ff 100%);
  border: 1.5px solid rgb(159 168 214 / 90%);
  border-radius: 16px;
  box-shadow: 0 8px 14px rgb(17 31 81 / 11%);
}
#security .governance-card-top {
  display: flex;
  gap: 15px;
  align-items: center;
  margin-bottom: 15px;
}
#security .governance-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgb(106 116 153 / 15%);
  color: #fff;
  background: linear-gradient(145deg, #3569ed, #574bd0);
  color: #fff;
}
.dc-content-icon {
  display: block;
  width: 28px;
  height: 28px;
  flex: none;
}
#security .governance-icon .dc-content-icon {
  width: 33px;
  height: 33px;
}
#security .governance-icon img.dc-content-icon {
  width: 37px;
  height: 37px;
  object-fit: contain;
}
#security .governance-category {
  color:#4952b9;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0em;
}
#security .governance-card h3 {
  color: #24304d;
  font-size: 25px;
  line-height: 1.5;
  min-height: 3em;
  font-weight: 700;
  letter-spacing: -.03em;
  margin: 0 0 12px;
}
#security .governance-card p {
  color: #65718a;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}
@media (max-width: 820px) {
  #security .governance-card {
    min-height: 0;
  }
  #security .governance-card h3 {
    min-height: 0;
  }
}
#data-flow .section-heading {
  text-align: center;
  margin: 0 0 30px;
}
#data-flow .section-heading p {
  color: #68738a;
  font-size: 17px;
  line-height: 1.85;
  margin: 17px auto 0;
}
#data-flow .dataflow-board {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 48px 42px;
  background: radial-gradient(circle at 90% -12%, rgba(154,181,255,.28), transparent 28%),linear-gradient(115deg,#1d2d69,#2e4ea3 48%,#4d6edb 100%);
  border: 1px solid #3d5ec9;
  border-radius: 20px;
  box-shadow: 0 8px 12px rgb(6 22 73 / 20%);
}
#data-flow .dataflow-board::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(205,220,255,.18);
  border-radius: 50%;
  right: -34px;
  top: -120px;
  box-shadow: 0 0 0 26px rgba(213,224,255,.04),0 0 0 52px rgba(213,224,255,.02);
  pointer-events: none;
}
#data-flow .dataflow-board::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 90px;
  background: linear-gradient(0deg,rgba(13,25,59,.28),transparent);
  pointer-events: none;
}
#data-flow .dataflow-stages {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#data-flow .dataflow-stage {
  position: relative;
  min-width: 0;
  min-height: 222px;
  padding: 26px 21px 24px;
  color: #fff;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(199,210,255,.46);
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(9,20,56,.12);
}
#data-flow .dataflow-stage:nth-child(2) {
  background: rgba(255,255,255,.96);
  border-color: #dce6ff;
  color: #303f7c;
  box-shadow: 0 12px 24px rgba(23,40,103,.12);
}
#data-flow .dataflow-stage:not(:last-child)::after {
  content: none;
}
#data-flow .dataflow-stage:not(:last-child)::before {
  content: none;
}
#data-flow .dataflow-stage-top {
  display: flex;
  align-items: center;
}
#data-flow .dataflow-stage-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: #fff;
}

#data-flow .dataflow-stage:nth-child(2) .dataflow-stage-icon {
  color: #4955c7;
}
#data-flow .dataflow-stage h3 {
  margin: 28px 0 7px;
  color: #fff;
  font-size: clamp(18px,1.6vw,23px);
  line-height: 1.45;
  letter-spacing: -.025em;
}
#data-flow .dataflow-stage p {
  margin: 0;
  color: #dae2ff;
  font-size: 14px;
  line-height: 1.8;
}
#data-flow .dataflow-stage:nth-child(2) h3 {
  color: #2c3974;
}
#data-flow .dataflow-stage:nth-child(2) p {
  color: #65718d;
}
#data-flow .dataflow-detail-heading {
  margin: 65px 0 28px;
  text-align: center;
}
#data-flow .dataflow-detail-heading h3 {
  font-size: clamp(23px,2.6vw,42px);
  color: #202a43;
  margin: 0;
}
#data-flow .dataflow-detail-heading p {
  color: #68738a;
  font-size: 18px;
  line-height: 1.6;
  margin: 12px 0 0;
}
#data-flow .dataflow-detail-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  margin: 0px 40px;
}
#data-flow .dataflow-detail-card {
  position: relative;
  min-width: 0;
  min-height: 169px;
  padding: 24px 22px;
  border: 2px solid #b8c8ef;
  border-radius: 12px;
  background: linear-gradient(180deg,#f8faff 0%,#edf3ff 100%);
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(44,63,122,.08);
}
#data-flow .dataflow-detail-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg,#4d61d7,#7c8ef5);
}
#data-flow .dataflow-detail-top {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #515db6;
  margin-bottom: 22px;
}
#data-flow .dataflow-detail-top .dc-content-icon {
  width: 31px;
  height: 31px;
}
#data-flow .dataflow-detail-top span {
  font-size: 18px;
  font-weight: 700;
}
#data-flow .dataflow-detail-card h4 {
  font-size: 21px;
  line-height: 1.45;
  letter-spacing: -.02em;
  color: #33406d;
  font-weight: 600;
  margin: 0 0 12px;
}

#data-flow .dataflow-detail-card p{
    color: #65718a;
    font-size: 15px;
    line-height: 1.45;
    margin: 0;
}

#data-flow .dataflow-location-note {
  display: flex;
  align-items: flex-start;
  margin: 22px 0 0;
  color: #6b7588;
  font-size: 13px;
  line-height: 1.5;
}
#data-flow .dataflow-location-note .dc-content-icon {
  color: #6672c5;
  width: 23px;
  height: 23px;
  margin-top: 1px;
}
@media(max-width:1020px) {
  #security .governance-card {
    padding: 27px 25px 25px;
  }
  #security .section-heading p {
    font-size: 17px;
  }
  #data-flow .dataflow-board {
    padding: 34px;
  }
  #data-flow .dataflow-stages {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
  }
  #data-flow .dataflow-stage {
    min-height: 205px;
  }
  #data-flow .dataflow-stage:not(:last-child)::after {
    width: 24px;
  }
  #data-flow .dataflow-stage:not(:last-child)::before {
    left: calc(100% + 13px);
  }
  #data-flow .dataflow-stage:nth-child(2)::after,#data-flow .dataflow-stage:nth-child(2)::before {
    display: none;
  }
  #data-flow .dataflow-detail-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px) {
  #security.governance-section,#data-flow.dataflow-section {
    padding: 54px 0 60px;
  }
  #security .governance-intro {
    margin-bottom: 30px;
  }
  #security .section-heading h2,#data-flow .section-heading h2 {
    font-size: 29px;
  }
  #security .section-heading p,#data-flow .section-heading p {
    font-size: 15px;
    line-height: 1.85;
  }
  #security .governance-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  #security .governance-card {
    min-height: 0;
    padding: 24px;
  }
  #security .governance-card-top {
    margin-bottom: 18px;
  }
  #security .governance-icon {
    width: 52px;
    height: 52px;
    border-radius: 13px;
  }
  #security .governance-icon .dc-content-icon {
    width: 29px;
    height: 29px;
  }
  #security .governance-icon img.dc-content-icon {
    width: 33px;
    height: 33px;
  }
  #security .governance-category {
    font-size: 19px;
  }
  #security .governance-card h3 {
    font-size: 22px;
    min-height: 0;
    margin-bottom: 15px;
  }
  #security .governance-card p {
    font-size: 15px;
  }
  #data-flow .dataflow-board {
    padding: 23px;
    border-radius: 16px;
  }
  #data-flow .dataflow-stages {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  #data-flow .dataflow-stage {
    min-height: 0;
    padding: 22px;
  }
  #data-flow .dataflow-stage-icon .dc-content-icon {
    width: 40px;
    height: 40px;
  }
  #data-flow .dataflow-stage h3 {
    margin-top: 16px;
    font-size: 22px;
  }
  #data-flow .dataflow-stage:not(:last-child)::after {
    display: block;
    top: calc(100% + 1px);
    left: 50%;
    height: 25px;
    width: 2px;
  }
  #data-flow .dataflow-stage:not(:last-child)::before {
    display: block;
    top: calc(100% + 13px);
    left: calc(50% - 4px);
    transform: rotate(135deg);
  }
  #data-flow .dataflow-detail-heading {
    margin-top: 46px;
  }
  #data-flow .dataflow-detail-heading h3 {
    font-size: 23px;
  }
  #data-flow .dataflow-detail-heading p {
    font-size: 15px;
  }
  #data-flow .dataflow-detail-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  #data-flow .dataflow-detail-card {
    min-height: 0;
    padding: 21px;
  }
  #data-flow .dataflow-detail-top {
    margin-bottom: 10px;
  }
  #data-flow .dataflow-detail-card h4 {
    font-size: 16px;
  }
  #data-flow .dataflow-location-note {
    padding: 17px;
    font-size: 13px;
  }
}

/* Circular stages and animated arrows show the data flow. */
#data-flow .dataflow-board {
  position: relative;
  isolation: auto;
  overflow: visible;
  padding: 44px 10px 30px;
  border: 1px solid rgba(95, 117, 214, .82);
  border-radius: 17px;
  background: linear-gradient(112deg, #1d2d69 0%, #2f47a3 52%, #3857c7 100%);
}
#data-flow .dataflow-board::before,#data-flow .dataflow-board::after {
  content: none;
}
#data-flow .dataflow-stages {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--flow-gap);
  align-items: start;
  margin: 0;
  padding: 0;
  list-style: none;
  --flow-diameter: 108px;
  --flow-radius: 54px;
  --flow-gap: 50px;
  --flow-link-inset: clamp(14px,2vw,22px);
}
#data-flow .dataflow-stage,#data-flow .dataflow-stage:nth-child(2) {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  min-height: 0;
  padding: 0;
  text-align: center;
  color: #fff;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#data-flow .dataflow-stage:not(:last-child)::before,
#data-flow .dataflow-stage:not(:last-child)::after {
  content: none;
  display: none;
}
#data-flow .dataflow-stage-top {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: var(--flow-diameter);
  height: var(--flow-diameter);
  margin: 0 auto 28px;
  border: 8px solid #c6d6ff;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px #a9bbef,0 10px 20px rgba(20,35,89,.22);
}
#data-flow .dataflow-stage:nth-child(2) .dataflow-stage-top {
  background: #5a6fe4;
  border-color: #dfe9ff;
  box-shadow: 0 0 0 6px rgba(181,199,255,.22),0 12px 22px rgba(20,35,89,.26);
}
#data-flow .dataflow-stage-icon,#data-flow .dataflow-stage:nth-child(2) .dataflow-stage-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  background: none;
  border: 0;
  color: #4955c7;
}
#data-flow .dataflow-stage:nth-child(2) .dataflow-stage-icon {
  color: #fff;
}

#data-flow .dataflow-stage-icon .dc-content-icon {
  width: 68px;
  height: 68px;
}

#data-flow .dataflow-stage h3,#data-flow .dataflow-stage:nth-child(2) h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: clamp(20px,1.8vw,24px);
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: -.02em;
}
#data-flow .dataflow-stage p,#data-flow .dataflow-stage:nth-child(2) p {
  margin: 0;
  max-width: 240px;
  color: #c2d3fe;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 400;
}

#data-flow .dataflow-stage p.mcp_txt_b{
  margin: 0;
  max-width: 240px;
  color: #e2eaff;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
}

#data-flow .dataflow-stage span.dataflow_sm_txt{
  color: #c2d3fe;
  font-size: 13px;
  line-height: 1.3;
}

#data-flow .dataflow-link {
  position: absolute;
  z-index: 0;
  display: block;
  --flow-arrow-color: #6d7ed6;
  left: calc(50% + var(--flow-radius) + var(--flow-link-inset));
  top: calc(var(--flow-radius) - 3.5px);
  width: calc(100% + var(--flow-gap) - var(--flow-diameter) - var(--flow-link-inset) - var(--flow-link-inset));
  height: 7px;
  background: linear-gradient(90deg,#5b71df00,#5b71df,var(--flow-arrow-color));
}
#data-flow .dataflow-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#ffffff00,#d5e1ff);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
  animation: dc-flow-arrow 4.8s linear infinite;
}
#data-flow .dataflow-arrowhead {
  position: absolute;
  z-index: 1;
  display: block;
  top: 50%;
  right: -8px;
  width: 20px;
  height: 28px;
  color: var(--flow-arrow-color);
  transform: translateY(-50%);
  animation: dc-flow-arrowhead 4.8s linear infinite;
}
#data-flow .dataflow-stage:nth-child(2) .dataflow-link::before,
#data-flow .dataflow-stage:nth-child(2) .dataflow-arrowhead {
  animation-delay: 1.6s;
}
#data-flow .dataflow-stage:nth-child(3) .dataflow-link::before,
#data-flow .dataflow-stage:nth-child(3) .dataflow-arrowhead {
  animation-delay: 3.2s;
}
@keyframes dc-flow-arrow {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  3% {
    opacity: 1;
  }
  20%,24% {
    transform: scaleX(1);
    opacity: 1;
  }
  32% {
    transform: scaleX(1);
    opacity: 0;
  }
  33%,100% {
    transform: scaleX(0);
    opacity: 0;
  }
}
@keyframes dc-flow-arrow-vertical {
  0% {
    transform: scaleY(0);
    opacity: 0;
  }
  3% {
    opacity: 1;
  }
  20%,24% {
    transform: scaleY(1);
    opacity: 1;
  }
  32% {
    transform: scaleY(1);
    opacity: 0;
  }
  33%,100% {
    transform: scaleY(0);
    opacity: 0;
  }
}
@keyframes dc-flow-arrowhead {
  0%,2.9% {
    color: var(--flow-arrow-color);
  }
  3%,24% {
    color: #d5e1ff;
  }
  32%,100% {
    color: var(--flow-arrow-color);
  }
}
@media(max-width:1080px) {
  #data-flow .dataflow-board {
    max-width: 680px;
    margin: 0 auto;
    padding: 50px 24px;
  }
  #data-flow .dataflow-stages {
    grid-template-columns: 1fr;
    gap: 0;
    --flow-diameter: 132px;
    --flow-radius: 66px;
  }
  #data-flow .dataflow-stage,#data-flow .dataflow-stage:nth-child(2) {
    min-height: 0;
    padding: 0;
  }
  #data-flow .dataflow-stage-top {
    margin-bottom: 14px;
    border-width: 11px;
  }
  #data-flow .dataflow-stage-icon .dc-content-icon {
    width: 49px;
    height: 49px;
  }
  #data-flow .dataflow-stage h3 {
    font-size: 22px;
    margin: 0 0 6px;
  }

  #data-flow .dataflow-link {
    position: relative;
    top: auto;
    left: auto;
    order: 3;
    --flow-arrow-color: rgba(211,223,246,.68);
    width: 7px;
    height: 56px;
    margin: 18px auto 26px;
    background: linear-gradient(180deg,rgba(188,205,238,.58),rgba(211,223,246,.68));
    background-size: 100% calc(100% - 14px);
    background-repeat: no-repeat;
  }
  #data-flow .dataflow-link::before {
    bottom: 14px;
    background: linear-gradient(180deg,rgba(225,236,255,.8),#fff);
    transform-origin: center top;
    animation-name: dc-flow-arrow-vertical;
  }
  #data-flow .dataflow-arrowhead {
    top: auto;
    right: auto;
    bottom: -8px;
    left: 50%;
    overflow: visible;
    transform: translateX(-50%) rotate(90deg);
  }
}
@media (max-width: 768px) {
  #data-flow .dataflow-stages {
    --flow-diameter: 104px;
    --flow-radius: 52px;
  }
  #data-flow .dataflow-stage-top {
    border-width: 8px;
  }
}
@media(prefers-reduced-motion:reduce) {
  #data-flow .dataflow-link::before,#data-flow .dataflow-arrowhead {
    animation: none;
  }
}

/* Keep the route and the four data handling viewpoints in separate panels. */
#security.governance-section {
  padding-top: 92px;
}
#security .governance-intro {
  margin-bottom: 50px;
}
#security .section-heading h2 {
  color: #252a43;
}
#security .section-heading p {
  margin-top: 20px;
}
#data-flow.dataflow-section {
  padding-top: 24px;
}
#security .section-heading h2,#data-flow .section-heading h2 {
  font-size: clamp(31px,3.2vw,44px);
}
#data-flow .dataflow-surface {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}
#data-flow .dataflow-handling {
  margin-top:80px;
  /* 
  padding: 40px 40px;
  background: linear-gradient(160deg, #f3f6ff 0%, #eceffd 45%, #f2f6ff 100%);
  border-radius: 15px;
  overflow: hidden;
  border: 2px solid #7980d4bf;
  box-shadow: 0 6px 10px rgb(77 83 102 / 13%); */
}
#data-flow .dataflow-detail-heading {
  margin: 0 0 28px;
}
#data-flow .dataflow-detail-grid {
  position: relative;
  --detail-gap: 44px;
  --detail-line: #8c9ddd;
  --detail-line-active: #5167d2;
  gap: var(--detail-gap);
  margin: 0;
  padding-bottom: 28px;
}
#data-flow .dataflow-detail-card {
  position: relative;
  z-index: 1;
  min-height: 164px;
  overflow: visible;
  background:#ffffff;
  border-color: #b8c8ef;
  box-shadow: 0 6px 8px rgb(6 22 73 / 10%);
}
#data-flow .dataflow-detail-card::before {
  display: none;
}
#data-flow .dataflow-detail-link {
  position: absolute;
  z-index: 2;
  display: block;
  top: calc(50% - 3.5px);
  left: calc(100% + 0px);
  width: calc(var(--detail-gap) - 4px);
  height: 7px;
  background: linear-gradient(90deg,rgba(140,157,221,.45),var(--detail-line));
}
#data-flow .dataflow-detail-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(81,103,210,0),var(--detail-line-active));
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
  animation: dc-flow-arrow 4.8s linear infinite;
}
#data-flow .dataflow-detail-arrowhead {
  position: absolute;
  z-index: 1;
  display: block;
  top: 50%;
  right: -4px;
  width: 20px;
  height: 28px;
  color: var(--detail-line);
  transform: translateY(-50%);
  animation: dc-detail-arrowhead 4.8s linear infinite;
}
#data-flow .dataflow-detail-card:nth-child(2) .dataflow-detail-link::before,
#data-flow .dataflow-detail-card:nth-child(2) .dataflow-detail-arrowhead {
  animation-delay: 1.6s;
}
#data-flow .dataflow-detail-card:nth-child(3) .dataflow-detail-link::before,
#data-flow .dataflow-detail-card:nth-child(3) .dataflow-detail-arrowhead {
  animation-delay: 3.2s;
}
#data-flow .dataflow-detail-top {
  gap: 12px;
  margin-bottom: 16px;
}
#data-flow .dataflow-detail-top .dc-content-icon {
  box-sizing: content-box;
  width: 26px;
  height: 26px;
  padding: 10px;
  border-radius: 50%;
  background: #e8ecff;
  color: #525fba;
}
#data-flow .dataflow-location-note {
  margin: 20px 40px;
  border: 1px solid #dce3f4;
  border-radius: 9px;
  background: #e9edfb;
}
@keyframes dc-detail-arrowhead {
  0%,19.9% {
    color: var(--detail-line);
  }
  20%,24% {
    color: var(--detail-line-active);
  }
  32%,100% {
    color: var(--detail-line);
  }
}
@media(max-width:1020px) {
  #data-flow .dataflow-detail-grid {
    grid-template-columns: 1fr;
    --detail-gap: 40px;
    max-width: 680px;
    margin: 0 auto;
  }
  #data-flow .dataflow-detail-link {
    top: calc(100% + 8px);
    left: calc(50% - 3.5px);
    width: 7px;
    height: calc(var(--detail-gap) - 16px);
    background: linear-gradient(180deg,rgba(140,157,221,.45),var(--detail-line));
    background-size: 100% calc(100% - 14px);
    background-repeat: no-repeat;
  }
  #data-flow .dataflow-detail-link::before {
    bottom: 14px;
    background: linear-gradient(180deg,rgba(81,103,210,0),var(--detail-line-active));
    transform-origin: center top;
    animation-name: dc-flow-arrow-vertical;
  }
  #data-flow .dataflow-detail-arrowhead {
    top: auto;
    right: auto;
    bottom: -8px;
    left: 50%;
    overflow: visible;
    transform: translateX(-50%) rotate(90deg);
  }
}
@media(prefers-reduced-motion:reduce) {
  #data-flow .dataflow-detail-link::before,
  #data-flow .dataflow-detail-arrowhead {
    animation: none;
  }
}
@media(max-width:860px) {
  #security.governance-section {
    padding-top: 68px;
  }
  #security .governance-intro {
    margin-bottom: 34px;
  }
  #data-flow .dataflow-handling {
    margin-top: 54px;
    padding: 32px 24px;
  }
}
@media(max-width:640px) {
  #security .section-heading h2,#data-flow .section-heading h2 {
    font-size: 29px;
  }
  #data-flow .dataflow-handling {
    padding: 28px 18px;
  }
  #data-flow .dataflow-detail-heading {
    margin-bottom: 24px;
  }
  #data-flow .dataflow-detail-card {
    min-height: 0;
  }
  #data-flow .dataflow-detail-top {
    margin-bottom: 10px;
  }
}

/* Match the outer spacing of every content section to the first section. */
body.product-story .section:is(#september-update, #overview, #mcp, #security, #data-flow, #use-cases, #features, #pricing, #faq) {
  padding-block: 60px 82px;
}
@media (max-width: 760px) {
  body.product-story .section:is(#september-update, #overview, #mcp, #security, #data-flow, #use-cases, #features, #pricing, #faq) {
    padding-block: 62px 33px;
  }
  #mcp > .container {
    padding-bottom: 14px;
  }
}
@media screen and (max-width: 480px) {
  body.product-story .section:is(#september-update, #overview, #mcp, #security, #data-flow, #use-cases, #features, #pricing, #faq) {
    padding-block: 56px;
  }
  #mcp > .container {
    padding-bottom: 0;
  }
}

/* Keep all primary section titles at the same scale as the release heading. */
body.product-story :is(#september-update, #overview, #security, #data-flow, #use-cases, #features, #pricing) .section-heading > h2,
body.product-story #mcp .mcp-copy > h2,
body.product-story #faq > .container > h2 {
  font-size: clamp(32px, 3.35vw, 52px);
}
@media (max-width: 768px) {
  body.product-story :is(#september-update, #overview, #security, #data-flow, #use-cases, #features, #pricing) .section-heading > h2,
  body.product-story #mcp .mcp-copy > h2,
  body.product-story #faq > .container > h2 {
    font-size: 30px;
  }
}

/* Match the short descriptions directly beneath the section titles. */
body.product-story :is(#september-update, #overview, #security, #data-flow, #use-cases, #features, #pricing) .section-heading > p,
body.product-story #mcp .mcp-copy > p {
  font-size: 19px;
  line-height: 1.6;
  margin-top: 14px;
}
@media (max-width: 768px) {
  body.product-story :is(#september-update, #overview, #security, #data-flow, #use-cases, #features, #pricing) .section-heading > p,
  body.product-story #mcp .mcp-copy > p {
    font-size: 16px;
  }
}

/* Keep page links free of underlines in every interaction state. */
body.product-story a,
body.product-story a:hover,
body.product-story a:focus-visible {
  text-decoration: none;
}

/* Keep motion in the hero, data flow, use cases, and feature demos. */
html {
  scroll-behavior: auto;
}
body.product-story :is(.section:not(#data-flow):not(#use-cases):not(#features), .section:not(#data-flow):not(#use-cases):not(#features) *, .closing-section, .closing-section *, .header, .header *, .footer, .footer *, #page_top, #page_top *):not(:is(#september-update .release-card, #overview .core-feature-grid article, #security .governance-card)) {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
body.product-story :is(.section:not(#data-flow):not(#use-cases):not(#features), .closing-section, .header, .footer, #page_top) *::before,
body.product-story :is(.section:not(#data-flow):not(#use-cases):not(#features), .closing-section, .header, .footer, #page_top) *::after {
  animation: none !important;
  transition: none !important;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  #september-update .release-card,
  #overview .core-feature-grid article {
    transition: transform .25s ease;
  }
  #september-update .release-card:hover,
  #overview .core-feature-grid article:hover {
    transform: translateY(-4px);
  }
  #security .governance-card {
    transition: transform .25s ease, box-shadow .25s ease;
  }
  #security .governance-card:hover {
    position: relative;
    z-index: 2;
    transform: scale(1.02);
    box-shadow: 0 18px 34px rgba(33, 48, 104, .16);
  }
  #data-flow .dataflow-benefits .dataflow-detail-card,
  #data-flow.is-flow-sequenced .dataflow-benefits .dataflow-detail-card {
    transition: transform .25s ease, box-shadow .25s ease, border-color .3s ease;
  }
  #data-flow .dataflow-benefits .dataflow-detail-card:hover {
    z-index: 2;
    transform: scale(1.02);
    box-shadow: 0 18px 34px rgba(33, 48, 104, .16);
  }
}
@media(prefers-reduced-motion:reduce) {
  #features .official-feature .dcai-demo-prompt-chip,
  #features .official-feature .dcai-demo-doc {
    opacity: 1;
    transform: none;
  }
  #features .official-feature .dcai-demo-caret-wrap {
    display: none;
  }
  body.product-story :is(.tab-contents-item, .tab-contents-item-sec, .tab-contents-item-thi, .tab-contents-item-fourth).is-active > div {
    opacity: 1;
  }
}

/* Highlight each data-flow step after the preceding arrow reaches it. */
#data-flow.is-flow-sequenced .dataflow-stage-top,
#data-flow.is-flow-sequenced .dataflow-detail-card {
  transition: border-color .3s ease, box-shadow .3s ease;
}
#data-flow.is-flow-sequenced .dataflow-stage.is-active .dataflow-stage-top {
  border-color: #fff;
  box-shadow: 0 0 0 7px rgba(196, 214, 255, .3), 0 10px 24px rgba(15, 31, 94, .28);
}
#data-flow.is-flow-sequenced .dataflow-stage.is-complete .dataflow-stage-top {
  border-color: #dce6ff;
  box-shadow: 0 0 0 3px rgba(196, 214, 255, .16), 0 8px 18px rgba(15, 31, 94, .18);
}
#data-flow.is-flow-sequenced .dataflow-detail-card.is-active {
  border-color: #315ce6;
}
#data-flow.is-flow-sequenced .dataflow-detail-card.is-complete {
  border-color: #8ca2e2;
}
#data-flow.is-flow-sequenced .dataflow-link::before,
#data-flow.is-flow-sequenced .dataflow-detail-link::before {
  animation: none;
  opacity: 0;
  transform: scaleX(0);
}
#data-flow.is-flow-sequenced .dataflow-link::before {
  transition: transform .7s ease-in-out, opacity .15s linear;
}
#data-flow.is-flow-sequenced .dataflow-detail-link::before {
  transition: transform .62s ease-out, opacity .15s linear;
}
#data-flow.is-flow-sequenced .dataflow-link:is(.is-traveling, .is-arrived)::before,
#data-flow.is-flow-sequenced .dataflow-detail-link:is(.is-traveling, .is-arrived)::before {
  opacity: 1;
  transform: scaleX(1);
}
#data-flow.is-flow-sequenced .dataflow-arrowhead,
#data-flow.is-flow-sequenced .dataflow-detail-arrowhead {
  animation: none;
  transition: color .2s ease;
}
#data-flow.is-flow-sequenced .dataflow-link--one-way:is(.is-traveling, .is-arrived) .dataflow-arrowhead {
  color: #d5e1ff;
}
#data-flow.is-flow-sequenced .dataflow-detail-link.is-arrived .dataflow-detail-arrowhead {
  color: #5167d2;
}
#data-flow.is-flow-sequenced .dataflow-handling.is-cycle-ending .dataflow-detail-card:is(.is-active, .is-complete) {
  border-color: #b8c8ef;
}
#data-flow.is-flow-sequenced .dataflow-handling.is-cycle-ending .dataflow-detail-link::before {
  opacity: 0;
  transition: opacity .4s ease;
}
#data-flow.is-flow-sequenced .dataflow-handling.is-cycle-ending .dataflow-detail-arrowhead {
  color: #8c9ddd;
}
#data-flow .is-resetting .dataflow-link::before,
#data-flow .is-resetting .dataflow-detail-link::before,
#data-flow .is-resetting .dataflow-arrowhead,
#data-flow .is-resetting .dataflow-detail-arrowhead {
  transition: none;
}
@media (max-width: 1080px) {
  #data-flow.is-flow-sequenced .dataflow-link::before {
    transform: scaleY(0);
  }
  #data-flow.is-flow-sequenced .dataflow-link:is(.is-traveling, .is-arrived)::before {
    transform: scaleY(1);
  }
}
@media (max-width: 1020px) {
  #data-flow.is-flow-sequenced .dataflow-detail-link::before {
    transform: scaleY(0);
  }
  #data-flow.is-flow-sequenced .dataflow-detail-link:is(.is-traveling, .is-arrived)::before {
    transform: scaleY(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  #data-flow.is-flow-sequenced .dataflow-stage-top,
  #data-flow.is-flow-sequenced .dataflow-detail-card,
  #data-flow.is-flow-sequenced .dataflow-link::before,
  #data-flow.is-flow-sequenced .dataflow-detail-link::before,
  #data-flow.is-flow-sequenced .dataflow-arrowhead,
  #data-flow.is-flow-sequenced .dataflow-detail-arrowhead {
    animation: none;
    transition: none;
  }
}

/* Keep the existing flow board while showing the revised route and its return paths. */
#data-flow .dataflow-stage:nth-child(2) .dataflow-stage-top {
  background: #fff;
  border-color: #c6d6ff;
  box-shadow: 0 0 0 1px #a9bbef, 0 10px 20px rgba(20,35,89,.22);
}
#data-flow .dataflow-stage:nth-child(2) .dataflow-stage-icon {
  color: #4955c7;
}
#data-flow .dataflow-stage:nth-child(3) .dataflow-stage-top {
  background: #5a6fe4;
  border-color: #dfe9ff;
  box-shadow: 0 0 0 6px rgba(181,199,255,.22), 0 12px 22px rgba(20,35,89,.26);
}
#data-flow .dataflow-stage:nth-child(3) .dataflow-stage-icon {
  color: #fff;
}
#data-flow .dataflow-link-label {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  width: max-content;
  max-width: 170px;
  color: #dbe1ff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  transform: translateX(-50%);
}
#data-flow .dataflow-link-label--below {
  top: calc(100% + 10px);
  bottom: auto;
}
/* A one-way link keeps only the rightward sweep. */
#data-flow .dataflow-link--one-way::after {
  content: none;
}
/* Two-way links stay still so both available directions remain clear. */
#data-flow .dataflow-link--two-way {
  background: linear-gradient(90deg,#6a7cd7,#7f91ee,var(--flow-arrow-color));
}
#data-flow .dataflow-link--two-way::before,
#data-flow .dataflow-link--two-way::after {
  content: none;
}
#data-flow .dataflow-link--two-way .dataflow-arrowhead {
  color: var(--flow-arrow-color);
  animation: none;
  transition: none;
}
#data-flow .dataflow-link--two-way .dataflow-arrowhead:not(.dataflow-arrowhead--reverse) {
  top: 50%;
}
#data-flow .dataflow-arrowhead--reverse {
  top: 50%;
  right: auto;
  bottom: auto;
  left: -8px;
  transform: translateY(-50%) rotate(180deg);
}
#data-flow .dataflow-benefits {
  margin-top: 38px;
}
#data-flow .dataflow-benefits .dataflow-detail-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
  padding: 0;
}
#data-flow .dataflow-benefits .dataflow-detail-card {
  min-height: 0;
  padding: 22px 22px;
  border: 1.5px solid #d1d9ec;
  background: #fff;
  box-shadow: 0 5px 7px rgb(34 40 58 / 9%);
  letter-spacing: -.02em;
}
#data-flow .dataflow-benefits .dataflow-detail-top {
  margin-bottom: 8px;
  color: #525fba;
}
#data-flow .dataflow-benefits .dataflow-benefit-icon {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #e8ecff;
}
#data-flow .dataflow-benefits .dataflow-benefit-icon img {
  display: block;
  width: 28px;
  height: 28px;
  max-width: none;
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  object-fit: contain;
}
#data-flow .dataflow-benefits .dataflow-detail-card h4 {
  margin-bottom: 8px;
  color: #19244d;
  font-size: 21px;
  font-weight: 700;
}
#data-flow .dataflow-benefits .dataflow-detail-card p {
  color: #53617e;
  font-size: 15px;
  letter-spacing: -0.3px;
}
@media (max-width: 1080px) {
  #data-flow .dataflow-link--two-way {
    top: auto;
    height: 88px;
    background: linear-gradient(180deg,rgba(188,205,238,.58),rgba(211,223,246,.68));
    background-size: 100% calc(100% - 14px);
    background-repeat: no-repeat;
  }
  #data-flow .dataflow-link-label {
    top: 4px;
    bottom: auto;
    left: calc(100% + 14px);
    width: 150px;
    text-align: left;
    transform: none;
  }
  #data-flow .dataflow-link-label--below {
    top: auto;
    bottom: 4px;
  }
  #data-flow .dataflow-link--two-way .dataflow-arrowhead:not(.dataflow-arrowhead--reverse) {
    top: auto;
    bottom: -8px;
  }
  #data-flow .dataflow-arrowhead--reverse {
    top: -8px;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%) rotate(-90deg);
  }
}
@media (max-width: 1020px) {
  #data-flow .dataflow-benefits .dataflow-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  #data-flow .dataflow-link-label {
    width: 120px;
    font-size: 12px;
  }
}

@media (max-width: 430px) {
  #dcai-hero .dcai-capability-node {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  #dcai-hero .dcai-capability-node > span { text-align: center; }
}

/* Keep mobile typography below the desktop scale. */
@media (max-width: 768px) {
  body.product-story #dcai-hero .dcai-copy h1 {
    font-size: clamp(26px, 5.8vw, 26px);
    line-height: 1.4;
  }
  body.product-story #dcai-hero .dcai-intro { font-size: 13px; }
  body.product-story :is(#september-update, #overview, #security, #data-flow, #use-cases, #features, #pricing) .section-heading > h2,
  body.product-story #mcp .mcp-copy > h2,
  body.product-story #faq > .container > h2 {
    font-size: clamp(23px, 8vw, 28px);
    line-height: 1.4;
  }
  body.product-story :is(#september-update, #overview, #security, #data-flow, #use-cases, #features, #pricing) .section-heading > p,
  body.product-story #mcp .mcp-copy > p {
    font-size: 15px;
    line-height: 1.7;
  }
  body.product-story .section p { font-size: 14px; }
  body.product-story #september-update .release-label { font-size: 22px; }
  body.product-story #september-update .release-card h3 { font-size: 21px; }
  body.product-story #september-update .release-card > p { font-size: 14px; }
  body.product-story #overview .core-feature-grid h3 { font-size: 21px; }
  body.product-story #overview .core-feature-grid p { font-size: 14px; }
  body.product-story #mcp .architecture-stage h3,
  body.product-story #mcp .mcp-bottom strong { font-size: 17px; }
  body.product-story #mcp .architecture-visual .prompt-example p,
  body.product-story #mcp .architecture-clients .ai-clients > span { font-size: 15px; }
  body.product-story #use-cases .department-heading .case-english { font-size: 12px; }
  body.product-story #use-cases .department-heading h3 {
    font-size: clamp(19px, 6.7vw, 24px);
    line-height: 1.45;
    margin: 0px 0 10px;
  }
  body.product-story #use-cases .department-heading > p { font-size: 14px; }
  body.product-story #use-cases .department-tabs > button,
  body.product-story #features .feature-tabs button,
  body.product-story #features .feature-tabs button > span:not(.feature-tab-number) { font-size: 14px; }
  body.product-story #features .feature-copy h3 { font-size: clamp(20px, 5.6vw, 24px); }
  body.product-story #features .feature-copy > p:not(.fine-print) { font-size: 14px; }
  body.product-story #security .governance-card h3,
  body.product-story #data-flow .dataflow-detail-card h4 { font-size: 19px; }
  body.product-story #data-flow .dataflow-detail-heading h3 { font-size: 22px; }
  body.product-story #pricing .release-notice-copy p { font-size: 14px; }
  body.product-story #pricing .official-pricing .ai_price_card_name { font-size: 32px; }
  body.product-story #pricing .official-pricing .ai_price_card_target { font-size: 17px; }
  body.product-story #pricing .official-pricing .ai_price_card_amt_num,
  body.product-story #pricing .official-pricing .ai_price_card_amt_free { font-size: 29px; }
  body.product-story #faq .faq-tab-btn { font-size: 13px; }
  body.product-story #faq .faq-question { font-size: 15px; }
  body.product-story #faq .faq-answer,
  body.product-story #faq .faq-item.open .faq-answer { font-size: 14px; }
  body.product-story .closing-layout h2 { font-size: clamp(24px, 6.4vw, 29px); }
  body.product-story .closing-layout p { font-size: 15px; }
  body.product-story :is(.button-primary, .button-secondary) { font-size: 15px; }
  #pricing .official-pricing .ai_price_card_amt_yen {font-size: 18px;}
}


/* 料金プランのスライダー（矢印ボタンは非表示。JS が参照するため HTML には残す） */
#pricing .ai_price_slider {
  position: relative;
}
#pricing .ai_price_nav {
  display: none;
}
#pricing .ai_price_dots {
  display: none;
}
@media screen and (max-width: 480px) {
  /* 料金プラン：SP は1枚ずつのスライド（スワイプ操作。矢印は非表示、カード幅は上のお知らせ枠に合わせる。JS で --plan-shift を操作） */
  #pricing .official-pricing .ai_price_cards {
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 30px 0 0;
    overflow: hidden;
  }
  #pricing .official-pricing .ai_price_card,
  #pricing .official-pricing .ai_price_card:hover {
    flex: 0 0 100%;
    margin-top: 0;
    transform: translateX(var(--plan-shift, 0px));
  }
  #pricing .ai_price_dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 16px 0 30px;
  }
  #pricing .ai_price_dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c9cfe6;
  }
  #pricing .ai_price_dot.is-active {
    background: #4952b9;
  }
}

@media screen and (max-width: 480px) {
  /* 活用シーン：部門見出し・タイトル・説明を中央揃え */
  body.product-story #use-cases .department-heading,
  body.product-story #use-cases .department-heading h3,
  body.product-story #use-cases .department-heading > p { text-align: center; }
  body.product-story #use-cases .department-heading > p { text-wrap: pretty; }
}

@media screen and (max-width: 480px) {
  /* FAQタブ：3つを1行で箱幅いっぱいに並べる */
  body.product-story #faq .faq-tab-nav {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
  }
  body.product-story #faq .faq-tab-btn {
    flex: 1 1 auto;
    padding-inline: 8px;
    font-size: clamp(11.5px, 3.4vw, 13px);
    white-space: nowrap;
    text-align: center;
  }
  /* FAQリスト：質問カード同士の間隔 */
  body.product-story #faq .faq-list {
    gap: 12px;
  }
  /* 「すべて」タブ：カテゴリの境目も質問カード同士と同じ間隔に */
  body.product-story #faq .faq-tab-panel.is-active ~ .faq-tab-panel.is-active .faq-list {
    margin-top: 12px;
  }
}

@media screen and (max-width: 480px) {
  /* 比較表の横スクロール案内文は SP では非表示 */
  #pricing .official-pricing .official-price-scroll-hint {
    display: none;
  }
}

@media screen and (max-width: 1080px) {
  /* データフロー（1080px 以下の縦向きレイアウト）：双方向リンクのラベルを、そのとき伸びる矢印の先端側に置く
     下向き（要求）は下端の矢印の横、上向き（返却）は上端の矢印の横 */
  #data-flow .dataflow-link--two-way .dataflow-motion-group--forward .dataflow-link-label {
    top: auto;
    bottom: 4px;
  }
  #data-flow .dataflow-link--two-way .dataflow-motion-group--reverse .dataflow-link-label--below {
    top: 4px;
    bottom: auto;
  }
  /* 片方向リンク（利用者→接続先AI）は戻り矢印がないため、ラベルを矢印の縦中央に */
  #data-flow .dataflow-link:not(.dataflow-link--two-way) .dataflow-link-label {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
}

/* 料金比較表（SP）用に JS で生成する表・枠（PC では非表示） */
#pricing .dcai-pt-left,
#pricing .official-pricing .price_table.dcai-pt-clone-right,
#pricing .dcai-pt-best-frame {
  display: none;
}
@media screen and (max-width: 480px) {
  /* ==========================================================
     料金比較表（SP）：CloudGate UNO と同じ方式
     左＝項目（JS で複製した固定の表・50%。スクロールしない）
     右＝プランだけの表を 1 列ずつ（50%）横スライド
     行の高さは JS で左右をそろえる
     ========================================================== */
  #pricing .dcai-pt-split {
    display: flex;
    align-items: flex-start;
  }
  #pricing .dcai-pt-left {
    display: block;
    flex: 0 0 50%;
    min-width: 0;
    padding-top: 28px;   /* 右のスクロール領域の上余白（イチオシの吹き出し分）とそろえる */
  }
  #pricing .official-pricing .dcai-pt-split > .official-price-scroll {
    position: relative;
    flex: 0 0 50%;
    min-width: 0;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
  }
  /* SP では元の表を隠し、JS で作った「項目だけ」「プランだけ」の表を表示 */
  #pricing .official-pricing .price_table.dcai-pt-orig {
    display: none;
  }
  #pricing .official-pricing .price_table.dcai-pt-clone-left,
  #pricing .official-pricing .price_table.dcai-pt-clone-right {
    display: table;
    min-width: 0;
    border: 0;
    border-collapse: separate;   /* 隣のプラン列の線が端に半分のぞかないように */
    border-spacing: 0;
  }
  #pricing .official-pricing .price_table.dcai-pt-clone-left {
    width: 100%;
  }
  /* 線：行の下線＋左の表の左右、プラン列は右の線だけ（前のプランの線と重ならない） */
  #pricing .official-pricing .price_table.dcai-pt-clone-left td,
  #pricing .official-pricing .price_table.dcai-pt-clone-right td {
    border: 0;
    border-bottom: 1px solid #d3d8e4;
  }
  #pricing .official-pricing .price_table.dcai-pt-clone-left tr:first-child td,
  #pricing .official-pricing .price_table.dcai-pt-clone-right tr:first-child td {
    border-top: 1px solid #d3d8e4;
  }
  #pricing .official-pricing .price_table.dcai-pt-clone-left td {
    border-left: 1px solid #d3d8e4;
    border-right: 1px solid #b9bed0;   /* 項目とプランの境目の線は 1 本だけ */
  }
  #pricing .official-pricing .price_table.dcai-pt-clone-right td {
    width: 20%;
    border-right: 1px solid #d3d8e4;
  }
  #pricing .official-pricing .price_table.dcai-pt-clone-right tr:first-child td {
    scroll-snap-align: start;
  }
  /* カテゴリは表の幅いっぱいの見出し行（左右とも同じ色） */
  #pricing .official-pricing .price_table td.dcai-pt-cat-head,
  #pricing .official-pricing .price_table td.dcai-pt-cat-head-cell {
    padding: 8px 10px;
    background: #e6e9f5;
  }
  #pricing .official-pricing .price_table td.dcai-pt-cat-head {
    color: #3c3d4e;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
  }
  #pricing .official-pricing .price_table td.dcai-pt-cat-head-cell.dcai-pt-best {
    background: #dde3fb;
  }
  /* 左の項目セル */
  #pricing .official-pricing .price_table.dcai-pt-clone-left td.pric_table_l,
  #pricing .official-pricing .price_table.dcai-pt-clone-left td.features_td {
    padding: 10px !important;
    font-size: 13px;
    line-height: 1.4;
    text-align: left;
  }
  /* イチオシ列の枠はセルごとに付けず、列全体に重ねた枠 1 つで表示（位置・サイズは JS） */
  #pricing .dcai-pt-best-frame {
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;   /* イチオシの吹き出し（z-index:2）より下、セルより上 */
    box-sizing: border-box;
    border: 2.5px solid #4952b9;
    pointer-events: none;
  }
}

/* ※注記：2行目以降を※の後ろ（本文の頭）にそろえる */
#pricing .price-note-extra {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: .25em;
}
#faq .faq-text-info--num {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: .4em;
}
@media screen and (max-width: 480px) {
  body.product-story .fine-print,
  body.product-story .mcpfeat-note,
  body.product-story .footer-note,
  #faq .faq-text-info:not(.faq-text-info--num) {
    padding-left: 1em;
    text-indent: -1em;
  }
}

@media screen and (max-width: 480px) {
  /* 最下部 CTA ボタンの文字を少し大きく（15px → 17px） */
  body.product-story .closing-actions .cta-btn-text {
    font-size: 17px;
  }
}

@media screen and (max-width: 480px) {
  /* ヒーロー CTA：文字は2つのボタンで共通の幅（170px）の中で中央揃え。
     矢印はボタン右端寄りの同じ位置に固定 */
  #dcai-hero .dcai-hero-cta {
    padding-inline: 24px;
  }
  #dcai-hero .dcai-hero-cta span {
    flex: 0 0 170px;   /* 長い方の「資料ダウンロード」（約160px）が入る幅 */
    text-align: center;
  }
  #dcai-hero .dcai-hero-cta svg {
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
  }
}
