
html,body{margin:0;padding:0;background:#fff}
body{display:block}
.page{width:100%;max-width:1055px;margin:0 auto;background:#fff}
.section-img{display:block;width:100%;height:auto}
.ai-wrap{background:#fff;display:flex;justify-content:center}
.ai-img{display:block;width:100%;height:auto}

.ai-wrap{position:relative}
.ai-label-fix{
  position:absolute;
  top:2.7%;
  left:0;
  right:0;
  margin:auto;
  width:28%;
  text-align:center;
  background:#fff;
  color:#9a7a45;
  font-family:"Times New Roman",serif;
  font-size:clamp(10px,1.25vw,18px);
  letter-spacing:.22em;
  line-height:1.4;
  z-index:3;
}




.web-capabilities-v2{
  background:#fff;
  padding:78px 54px 88px;
  color:#20304d;
}
.web-capabilities-v2 .eyebrow{
  text-align:center;
  color:#9a7a45;
  font-family:"Times New Roman",serif;
  font-size:15px;
  letter-spacing:.28em;
}
.web-capabilities-v2 .eyeline{
  width:64px;height:1px;background:#c9a35f;margin:14px auto 25px;
}
.web-capabilities-v2 h2{
  margin:0;
  text-align:center;
  color:#0b2a66;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:36px;
  font-weight:500;
  line-height:1.48;
}
.web-capabilities-v2 .lead{
  max-width:780px;
  margin:24px auto 0;
  text-align:center;
  color:#4b586b;
  font-size:14px;
  line-height:2;
}
.web-v2-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:58px;
  row-gap:0;
  margin-top:52px;
  position:relative;
}
.web-v2-grid::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:#dce3e9;
}
.web-v2-item{
  position:relative;
  min-height:222px;
  display:grid;
  grid-template-columns:142px 1fr;
  column-gap:20px;
  padding:28px 0 32px;
  border-top:1px solid #e1e6eb;
}
.web-v2-item:nth-child(1),
.web-v2-item:nth-child(2){
  border-top:0;
  padding-top:0;
}
.web-v2-item:nth-child(odd){padding-right:26px}
.web-v2-item:nth-child(even){padding-left:26px}
.web-v2-num{
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:56px;
  line-height:1;
  color:#dcebf2;
  margin-bottom:10px;
}
.web-v2-illustration{
  width:132px;
  height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.web-v2-illustration img{
  width:128px;
  height:128px;
  object-fit:contain;
  display:block;
}
.web-v2-illustration svg{
  width:122px;
  height:122px;
  fill:none;
  stroke:#4a8fab;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.web-v2-item:nth-child(even) .web-v2-illustration svg{stroke:#2f79cf}
.web-v2-copy{
  padding-top:12px;
}
.web-v2-copy h3{
  margin:0;
  color:#0b2a66;
  font-size:19px;
  font-weight:800;
}
.web-v2-copy p{
  margin:13px 0 0;
  color:#43516a;
  font-size:14px;
  line-height:1.85;
}
.web-v2-note{
  margin:18px 0 0;
  text-align:center;
  color:#0f8f97;
  font-size:14px;
  font-weight:800;
}
.web-v2-brandline{
  width:132px;
  height:3px;
  margin:28px auto 0;
  background:linear-gradient(90deg,#15aaa7 0 27%,#8bc844 27% 45%,#f0b93d 45% 64%,#2d79e8 64% 83%,#ed8c47 83%);
}
@media(max-width:760px){
  .web-capabilities-v2{padding:64px 24px 76px}
  .web-capabilities-v2 h2{font-size:29px}
  .web-v2-grid{grid-template-columns:1fr;margin-top:48px}
  .web-v2-grid::before{display:none}
  .web-v2-item,
  .web-v2-item:nth-child(odd),
  .web-v2-item:nth-child(even){
    grid-template-columns:104px 1fr;
    padding:28px 0 34px;
    min-height:auto;
  }
  .web-v2-item:nth-child(2){border-top:1px solid #e1e6eb}
  .web-v2-num{font-size:48px}
  .web-v2-illustration{width:96px;height:96px}
  .web-v2-illustration img{width:92px;height:92px}.web-v2-illustration svg{width:90px;height:90px}
}


.profile-section{
  background:#fff;
  padding:92px 58px 100px;
  color:#20304d;
}
.profile-head{
  text-align:center;
  margin-bottom:48px;
}
.profile-eyebrow{
  color:#2f8f9d;
  font-family:"Times New Roman",serif;
  font-size:15px;
  letter-spacing:.28em;
}
.profile-rule{
  width:64px;
  height:1px;
  background:#2f8f9d;
  margin:13px auto 22px;
}
.profile-head h2{
  margin:0;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  color:#0b2a66;
  font-size:36px;
  font-weight:500;
}
.profile-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:64px;
  align-items:center;
  max-width:930px;
  margin:0 auto;
}
.profile-photo-wrap{
  display:flex;
  justify-content:center;
}
.profile-photo{
  width:315px;
  height:385px;
  object-fit:cover;
  object-position:center 18%;
  border-radius:158px 158px 22px 22px;
  box-shadow:0 16px 34px rgba(19,46,92,.08);
}
.profile-copy{
  position:relative;
  padding-left:26px;
}
.profile-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:3px;
  height:82px;
  background:linear-gradient(#19aaa7,#2d79e8);
}
.profile-name{
  margin:0;
  color:#0b2a66;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:28px;
  font-weight:600;
}
.profile-role{
  margin:8px 0 22px;
  color:#168f97;
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
}
.profile-copy p{
  margin:0;
  color:#40506a;
  font-size:14px;
  line-height:2.05;
}
.profile-accent{
  width:110px;
  height:3px;
  margin-top:28px;
  background:linear-gradient(90deg,#15aaa7 0 26%,#8bc844 26% 44%,#f0b93d 44% 63%,#2d79e8 63% 82%,#ed8c47 82%);
}
@media(max-width:760px){
  .profile-section{padding:64px 24px 74px}
  .profile-head{margin-bottom:36px}
  .profile-head h2{font-size:30px}
  .profile-grid{grid-template-columns:1fr;gap:36px}
  .profile-photo{width:255px;height:315px}
  .profile-copy{padding-left:20px}
}


.service-menu{
  background:#fbfcfd;
  padding:92px 56px 96px;
  color:#20304d;
}
.service-menu-head{
  text-align:center;
  margin-bottom:54px;
}
.service-menu-eyebrow{
  color:#2f8f9d;
  font-family:"Times New Roman",serif;
  font-size:15px;
  letter-spacing:.28em;
}
.service-menu-rule{
  width:64px;
  height:1px;
  background:#2f8f9d;
  margin:13px auto 24px;
}
.service-menu h2{
  margin:0;
  color:#0b2a66;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:36px;
  font-weight:500;
}
.service-menu-lead{
  max-width:760px;
  margin:18px auto 0;
  color:#4d5b70;
  font-size:14px;
  line-height:1.9;
}
.service-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  max-width:940px;
  margin:0 auto;
  position:relative;
}
.service-columns::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:#dce3e9;
}
.service-column{
  position:relative;
}
.service-column-title{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}
.service-column-title .bar{
  width:38px;
  height:3px;
  background:#16aaa7;
}
.service-column.web .bar{
  background:#2d79e8;
}
.service-column h3{
  margin:0;
  color:#0b2a66;
  font-size:23px;
  font-weight:800;
}
.menu-item{
  position:relative;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:20px;
  padding:26px 0 28px;
  border-top:1px solid #dfe5eb;
}
.menu-item:first-of-type{
  border-top:0;
  padding-top:10px;
}
.menu-num{
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:43px;
  line-height:1;
  color:#d8eceb;
}
.service-column.web .menu-num{
  color:#dfe9fb;
}
.menu-copy h4{
  margin:0;
  color:#0b2a66;
  font-size:17px;
  font-weight:800;
}
.menu-copy p{
  margin:10px 0 0;
  color:#46546a;
  font-size:13.5px;
  line-height:1.85;
}
.service-menu-note{
  margin-top:44px;
  text-align:center;
  color:#476078;
  font-size:13.5px;
  line-height:1.8;
}
.service-menu-accent{
  width:108px;
  height:3px;
  margin:26px auto 0;
  background:linear-gradient(90deg,#15aaa7 0 26%,#8bc844 26% 44%,#f0b93d 44% 63%,#2d79e8 63% 82%,#ed8c47 82%);
}
@media(max-width:760px){
  .service-menu{padding:68px 24px 78px}
  .service-menu h2{font-size:30px}
  .service-columns{grid-template-columns:1fr;gap:50px}
  .service-columns::before{display:none}
}




























.flow-section{
  background:#fbfcfd;
  padding:94px 56px 98px;
  color:#20304d;
}
.flow-head{
  text-align:center;
  margin-bottom:54px;
}
.flow-eyebrow{
  color:#2f8f9d;
  font-family:"Times New Roman",serif;
  font-size:15px;
  letter-spacing:.28em;
}
.flow-rule{
  width:64px;
  height:1px;
  background:#2f8f9d;
  margin:13px auto 24px;
}
.flow-head h2{
  margin:0;
  color:#0b2a66;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:36px;
  font-weight:500;
}
.flow-lead{
  margin:17px auto 0;
  max-width:720px;
  color:#4a5870;
  font-size:14px;
  line-height:1.9;
}
.flow-accent{
  width:108px;
  height:3px;
  margin:25px auto 0;
  background:linear-gradient(90deg,#15aaa7 0 26%,#8bc844 26% 44%,#f0b93d 44% 63%,#2d79e8 63% 82%,#ed8c47 82%);
}
.flow-steps{
  max-width:930px;
  margin:58px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  position:relative;
}
.flow-steps::before{
  content:"";
  position:absolute;
  left:16%;
  right:16%;
  top:54px;
  height:1px;
  background:#d7e0e8;
  z-index:0;
}
.flow-step{
  position:relative;
  z-index:1;
  text-align:center;
  padding:0 26px;
}
.flow-number{
  width:108px;
  height:108px;
  margin:0 auto 28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #d9e4ea;
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:43px;
  line-height:1;
  box-shadow:0 10px 24px rgba(23,50,92,.05);
}
.flow-step:nth-child(1) .flow-number{color:#84c6c4;border-color:#bfe0df;}
.flow-step:nth-child(2) .flow-number{color:#e4b952;border-color:#ead9a8;}
.flow-step:nth-child(3) .flow-number{color:#7ba8e7;border-color:#c9d9f2;}
.flow-step h3{
  margin:0;
  color:#0b2a66;
  font-size:17px;
  line-height:1.55;
  font-weight:800;
}
.flow-step p{
  margin:14px 0 0;
  color:#46546a;
  font-size:13.5px;
  line-height:1.9;
  text-align:left;
}
.flow-paid{
  display:inline-block;
  margin-top:16px;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  background:#eef4fb;
  color:#2d6eb8;
}
.flow-free{
  display:inline-block;
  margin-top:16px;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  background:#eef8f6;
  color:#148b88;
}
@media(max-width:760px){
  .flow-section{padding:68px 24px 78px}
  .flow-head h2{font-size:30px}
  .flow-steps{grid-template-columns:1fr;gap:46px;margin-top:44px}
  .flow-steps::before{display:none}
  .flow-step{padding:0}
  .flow-step p{text-align:left}
}


.price-line-left{
  display:block;
}
.price-line-left{
  text-align:left;
}



.faq-section{
  background:#fff;
  padding:94px 56px 100px;
  color:#20304d;
}
.faq-head{
  text-align:center;
  margin-bottom:48px;
}
.faq-eyebrow{
  color:#2f8f9d;
  font-family:"Times New Roman",serif;
  font-size:15px;
  letter-spacing:.28em;
}
.faq-rule{
  width:64px;
  height:1px;
  background:#2f8f9d;
  margin:13px auto 24px;
}
.faq-head h2{
  margin:0;
  color:#0b2a66;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:36px;
  font-weight:500;
}
.faq-accent{
  width:108px;
  height:3px;
  margin:25px auto 0;
  background:linear-gradient(90deg,#15aaa7 0 26%,#8bc844 26% 44%,#f0b93d 44% 63%,#2d79e8 63% 82%,#ed8c47 82%);
}
.faq-list{
  max-width:900px;
  margin:54px auto 0;
  border-top:1px solid #dde4ea;
}
.faq-item{
  border-bottom:1px solid #dde4ea;
}
.faq-question{
  width:100%;
  border:0;
  background:#fff;
  display:grid;
  grid-template-columns:74px 1fr 34px;
  gap:18px;
  align-items:center;
  padding:24px 0;
  cursor:pointer;
  text-align:left;
  color:#0b2a66;
  font:inherit;
}
.faq-num{
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:38px;
  color:#d8e9eb;
  line-height:1;
}
.faq-item:nth-child(3n+2) .faq-num{color:#f1e4bb}
.faq-item:nth-child(3n) .faq-num{color:#dbe7fb}
.faq-qtext{
  font-size:16px;
  font-weight:800;
  line-height:1.7;
}
.faq-plus{
  font-size:24px;
  font-weight:300;
  color:#6b7890;
  transition:transform .2s ease;
}
.faq-answer{
  display:none;
  padding:0 44px 24px 92px;
  color:#46546a;
  font-size:14px;
  line-height:1.95;
}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-plus{transform:rotate(45deg)}
@media(max-width:760px){
  .faq-section{padding:68px 24px 78px}
  .faq-head h2{font-size:30px}
  .faq-question{grid-template-columns:58px 1fr 28px;gap:12px}
  .faq-num{font-size:32px}
  .faq-qtext{font-size:15px}
  .faq-answer{padding:0 10px 22px 70px}
}


.exact-design-section{
  width:100%;
  background:#fff;
  margin:0;
  padding:0;
}
.exact-design-section img{
  display:block;
  width:100%;
  height:auto;
}


.exact-design-section{
  width:100%;
  background:#ffffff;
  margin:0;
  padding:24px 0;
}
.exact-design-section img{
  display:block;
  width:auto;
  max-width:min(100%, 1180px);
  height:auto;
  margin:0 auto;
}
#contact img{
  max-width:min(100%, 980px);
}


#service-menu img{max-width:min(100%,1080px)}
#contact img{max-width:min(100%,900px)}


/* ===== FLOW (HTML/CSS, no blurred screenshot text) ===== */
.flow-section-v2{
  background:#fff;
  padding:78px 58px 86px;
  color:#172a46;
}
.flow-section-v2 .flow-kicker{
  text-align:center;
  color:#0c8f8b;
  font-size:18px;
  font-weight:800;
  letter-spacing:.08em;
}
.flow-section-v2 h2{
  margin:16px 0 0;
  text-align:center;
  color:#071e43;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:34px;
  line-height:1.45;
  font-weight:600;
}
.flow-section-v2 .flow-lead{
  margin:14px auto 0;
  text-align:center;
  color:#3e4a5d;
  font-size:14px;
  line-height:1.8;
}
.flow-grid-v2{
  max-width:980px;
  margin:48px auto 0;
  display:grid;
  grid-template-columns:1fr 46px 1fr 46px 1fr;
  align-items:start;
}
.flow-step-v2{
  min-width:0;
}
.flow-title-row{
  display:grid;
  grid-template-columns:72px 1fr;
  align-items:start;
  column-gap:12px;
  min-height:90px;
}
.flow-num-v2{
  font-family:"Times New Roman",serif;
  font-size:58px;
  line-height:1;
  color:#c6e3e3;
  font-style:italic;
}
.flow-step-v2 h3{
  margin:3px 0 0;
  color:#078987;
  font-size:18px;
  line-height:1.55;
  font-weight:800;
}
.flow-icon-v2{
  width:138px;
  height:138px;
  margin:14px auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.flow-icon-v2 svg{
  width:132px;
  height:132px;
  fill:none;
  stroke:#067f82;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.flow-step-v2 p{
  margin:0;
  color:#1d2838;
  font-size:13.5px;
  line-height:1.92;
}
.flow-step-v2 .em{
  color:#078987;
  font-weight:800;
}
.flow-arrow-v2{
  display:flex;
  justify-content:center;
  align-items:center;
  height:265px;
  color:#0a8d8a;
  font-size:50px;
  font-weight:300;
}
@media(max-width:780px){
  .flow-section-v2{padding:58px 24px 66px}
  .flow-section-v2 h2{font-size:29px}
  .flow-grid-v2{grid-template-columns:1fr;gap:38px}
  .flow-arrow-v2{display:none}
  .flow-title-row{grid-template-columns:64px 1fr}
  .flow-num-v2{font-size:50px}
  .flow-icon-v2{width:120px;height:120px}
  .flow-icon-v2 svg{width:114px;height:114px}
}

/* ===== FAQ (HTML/CSS accordion, crisp text) ===== */
.faq-section-v2{
  background:#fff;
  padding:80px 58px 88px;
  color:#172a46;
}
.faq-section-v2 .faq-kicker{
  text-align:center;
  color:#0b8d89;
  font-size:17px;
  font-weight:800;
  letter-spacing:.18em;
}
.faq-section-v2 h2{
  margin:14px 0 0;
  text-align:center;
  color:#071e43;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:36px;
  line-height:1.35;
  font-weight:600;
}
.faq-intro{
  text-align:center;
  margin:14px 0 0;
  color:#3e4a5d;
  font-size:14px;
}
.faq-list-v2{
  max-width:900px;
  margin:44px auto 0;
}
.faq-item-v2{
  border-bottom:1px solid #cddddd;
  display:grid;
  grid-template-columns:96px 1fr;
  column-gap:14px;
  padding:24px 0;
}
.faq-num-v2{
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:58px;
  color:#c6e3e3;
  line-height:1;
  padding-top:4px;
  border-right:1px solid #b9d8d7;
}
.faq-content-v2{
  min-width:0;
}
.faq-question-v2{
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  display:grid;
  grid-template-columns:36px 1fr 28px;
  gap:12px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.faq-qbadge,.faq-abadge{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:15px;
  font-weight:800;
}
.faq-qbadge{
  color:#fff;
  background:#0b8d89;
}
.faq-abadge{
  color:#0b7f7d;
  background:#e3f1f0;
  margin-top:14px;
}
.faq-qtext{
  color:#078987;
  font-size:16px;
  font-weight:800;
  line-height:1.55;
}
.faq-chevron{
  color:#078987;
  font-size:26px;
  line-height:1;
  transition:transform .2s ease;
}
.faq-answer-v2{
  display:none;
  grid-template-columns:36px 1fr;
  gap:12px;
  padding-top:2px;
}
.faq-answer-v2 p{
  margin:12px 0 0;
  color:#172232;
  font-size:14px;
  line-height:1.9;
}
.faq-item-v2.open .faq-answer-v2{display:grid}
.faq-item-v2.open .faq-chevron{transform:rotate(180deg)}
.faq-extra{
  max-width:900px;
  margin:28px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#26374f;
  font-size:14px;
}
@media(max-width:760px){
  .faq-section-v2{padding:58px 24px 68px}
  .faq-section-v2 h2{font-size:30px}
  .faq-item-v2{grid-template-columns:62px 1fr}
  .faq-num-v2{font-size:44px}
  .faq-qtext{font-size:15px}
}


/* ===== SERVICE MENU (real HTML text, crisp) ===== */
.service-menu-v2{
  background:#fff;
  padding:76px 54px 82px;
  color:#1c2b43;
}
.service-menu-v2 .sm-kicker{
  text-align:center;
  color:#b98a2b;
  font-family:"Times New Roman",serif;
  font-size:17px;
  letter-spacing:.12em;
}
.service-menu-v2 h2{
  margin:10px 0 0;
  text-align:center;
  color:#0b2349;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:38px;
  font-weight:600;
}
.service-menu-v2 .sm-lead{
  margin:14px auto 0;
  text-align:center;
  color:#38485f;
  font-size:13.5px;
}
.sm-columns{
  max-width:1080px;
  margin:44px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  position:relative;
}
.sm-columns::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:#d9e2ea;
}
.sm-col{
  min-width:0;
}
.sm-col-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
}
.sm-col-icon{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  border:1.5px solid currentColor;
  color:#0b8f8b;
  flex:0 0 auto;
}
.sm-col.web .sm-col-icon{color:#2866c8}
.sm-col-icon svg{
  width:31px;height:31px;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.sm-col h3{
  margin:0;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:25px;
  color:#0b8f8b;
}
.sm-col.web h3{color:#2866c8}
.sm-col-rule{
  height:2px;
  margin:0 0 4px 68px;
  background:#7fc7c4;
}
.sm-col.web .sm-col-rule{background:#91aee5}
.sm-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  border-bottom:1px solid #dfe6eb;
  padding:24px 0;
  box-sizing:border-box;
}
.sm-num{
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:62px;
  line-height:1;
  color:#cbe5e3;
  padding-top:2px;
}
.sm-col.web .sm-num{color:#d7e1f6}
.sm-main{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:20px;
}
.sm-copy{
  padding-right:18px;
  border-right:1px dashed #abd8d6;
}
.sm-col.web .sm-copy{border-right-color:#b8c9ef}
.sm-copy h4{
  margin:0 0 8px;
  font-size:17px;
  color:#078783;
  font-weight:800;
}
.sm-col.web .sm-copy h4{color:#2866c8}
.sm-copy p,.sm-reco li{
  margin:0;
  font-size:13px;
  line-height:1.75;
  color:#27364c;
}
.sm-reco h5{
  margin:0 0 8px;
  font-size:13px;
  color:#078783;
}
.sm-col.web .sm-reco h5{color:#2866c8}
.sm-reco ul{
  margin:0;padding:0;list-style:none;
}
.sm-reco li{
  position:relative;
  padding-left:20px;
  margin:5px 0;
}
.sm-reco li::before{
  content:"✓";
  position:absolute;left:0;top:0;
  color:#078783;font-weight:900;
}
.sm-col.web .sm-reco li::before{color:#2866c8}
@media(max-width:820px){
  .service-menu-v2{padding:58px 24px 66px}
  .service-menu-v2 h2{font-size:31px}
  .sm-columns{grid-template-columns:1fr;gap:42px}
  .sm-columns::after{display:none}
}
@media(max-width:560px){
  .sm-row{grid-template-columns:58px 1fr}
  .sm-num{font-size:44px}
  .sm-main{grid-template-columns:1fr}
  .sm-copy{border-right:0;border-bottom:1px dashed #abd8d6;padding:0 0 14px}
}

.approved-flow-icon{
  width:170px !important;
  height:142px !important;
  margin:8px auto 20px !important;
}
.approved-flow-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.faq-section-v2{
  padding-top:76px;
}
.faq-list-v2{
  max-width:940px;
}
.faq-item-v2{
  grid-template-columns:112px 1fr;
  padding:24px 0 26px;
}
.faq-num-v2{
  font-size:64px;
  color:#c6e1e1;
}
.faq-qtext{
  font-size:17px;
}
.faq-answer-v2 p{
  font-size:14px;
  line-height:1.9;
}


#contact{
  background:#fff;
  padding:34px 0 50px;
}
#contact img{
  display:block;
  width:min(100%, 1100px);
  height:auto;
  margin:0 auto;
}


.faq-bottom-note{
  max-width:900px;
  margin:28px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#26374f;
  font-size:14px;
  line-height:1.6;
}
.faq-bottom-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#fff;
  background:#0b8d89;
  font-weight:800;
}

.contact-section-v2{
  background:#fff;
  padding:80px 54px 90px;
  color:#172a46;
}
.contact-wrap-v2{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:64px;
  align-items:start;
}
.contact-kicker-v2{color:#0b8d89;font-size:14px;font-weight:800;letter-spacing:.12em}
.contact-title-v2{
  margin:12px 0 0;color:#0a2144;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:34px;font-weight:600
}
.contact-title-rule{width:48px;height:2px;margin:16px 0 22px;background:#55b9b4}
.contact-intro-v2{margin:0 0 30px;color:#34445b;font-size:14px;line-height:1.9}
.contact-points-v2{display:grid}
.contact-point-v2{
  display:grid;grid-template-columns:48px 1fr;gap:14px;
  align-items:start;padding:18px 0;border-bottom:1px solid #e1e8eb
}
.contact-point-v2:last-child{border-bottom:0}
.contact-point-icon{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;background:#e6f4f3;
  color:#0b8d89;font-size:20px
}
.contact-point-v2 h4{margin:0 0 5px;color:#0b8d89;font-size:15px;font-weight:800}
.contact-point-v2 p{margin:0;color:#35445a;font-size:12.5px;line-height:1.75}
.contact-reply{
  margin-top:18px;background:#eff8f7;border-radius:6px;padding:14px 16px;
  display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start
}
.contact-reply .contact-point-icon{width:36px;height:36px;font-size:17px;background:#fff}
.contact-reply strong{display:block;color:#0b8d89;font-size:13px;margin-bottom:3px}
.contact-reply span{display:block;color:#536174;font-size:11.5px;line-height:1.6}
.contact-form-card{
  background:#fff;border:1px solid #edf0f2;border-radius:10px;min-height:100%;
  box-shadow:0 10px 30px rgba(14,38,62,.07);padding:30px 34px 26px
}
.contact-form-v2{display:grid;gap:18px}
.form-row-v2{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start}
.form-label-v2{color:#26374f;font-size:12.5px;font-weight:700;padding-top:10px}
.required-v2{
  display:inline-block;margin-left:6px;padding:2px 5px;border-radius:4px;
  background:#e4f5f3;color:#0b8d89;font-size:10px;font-weight:800
}
.contact-form-v2 input[type="text"],
.contact-form-v2 input[type="email"],
.contact-form-v2 textarea{
  width:100%;box-sizing:border-box;border:1px solid #dfe5e8;border-radius:5px;
  padding:11px 12px;font:inherit;font-size:13px;color:#172a46;background:#fff;outline:none
}
.contact-form-v2 textarea{min-height:92px;resize:vertical}
.contact-form-v2 input:focus,.contact-form-v2 textarea:focus{
  border-color:#61b8b5;box-shadow:0 0 0 2px rgba(11,141,137,.08)
}
.contact-radio{display:grid;gap:8px;padding-top:5px}
.contact-radio label{color:#3a485d;font-size:12.5px}
.submit-v2{
  border:0;border-radius:999px;background:#0a9992;color:#fff;font-size:14px;
  font-weight:800;padding:13px 26px;width:min(100%,270px);margin:4px auto 0;cursor:pointer
}
.privacy-note-v2{text-align:center;color:#6a7480;font-size:10.5px;margin-top:2px}
@media(max-width:860px){
  .contact-section-v2{padding:60px 24px 70px}
  .contact-wrap-v2{grid-template-columns:1fr;gap:40px}
}
@media(max-width:560px){
  .form-row-v2{grid-template-columns:1fr;gap:7px}
  .form-label-v2{padding-top:0}
  .contact-form-card{padding:24px 20px}
}


.section-divider-faq-contact{
  max-width:1080px;
  margin:14px auto 22px;
  padding:0 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.divider-line{
  flex:1;
  max-width:180px;
  height:1px;
  background:#d9e6ea;
}
.divider-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(90deg,#16b6b1 0%, #8ccf55 35%, #f0c340 65%, #2f7cf6 100%);
}
@media(max-width:860px){
  .section-divider-faq-contact{
    padding:0 24px;
    margin:10px auto 16px;
  }
}


.contact-info-v2{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.contact-reply{
  margin-top:auto;
}
.contact-wrap-v2{
  align-items:stretch;
}


/* ===== LATEST-44 corrections ===== */
.faq-contact-divider{
  width:min(calc(100% - 108px), 1080px);
  height:1px;
  margin:38px auto 0;
  background:#d3e2e6;
}
.contact-section-v2{
  padding-top:54px !important;
}
.contact-wrap-v2{
  align-items:stretch !important;
}
.contact-info-v2{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.contact-reply{
  margin-top:auto !important;
}
.contact-form-card{
  height:100% !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
}
.contact-form-v2{
  flex:1 1 auto !important;
}
@media(max-width:860px){
  .faq-contact-divider{
    width:calc(100% - 48px);
    margin-top:28px;
  }
  .contact-form-card{
    height:auto !important;
  }
}


/* ===== FOOTER ===== */
.site-footer{
  background:#071d3a;
  color:#fff;
  padding:68px 54px 30px;
}
.footer-inner{
  max-width:1120px;
  margin:0 auto;
}
.footer-top{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.6fr);
  gap:64px;
  align-items:start;
}
.footer-brand{
  padding-right:48px;
  border-right:1px solid rgba(255,255,255,.22);
}
.footer-logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:12px;
  padding:18px 24px;
  width:min(100%, 360px);
  box-sizing:border-box;
}
.footer-logo-card img{
  display:block;
  width:100%;
  height:auto;
}
.footer-tagline{
  margin:24px 0 0;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.92);
}
.footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:52px;
}
.footer-link{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:58px;
  padding:2px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
}
.footer-link::before{
  content:"›";
  color:#19c2ba;
  font-size:27px;
  font-weight:300;
  line-height:1;
}
.footer-link:hover{
  color:#bfeeed;
}
.footer-bottom{
  margin-top:54px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.22);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  color:rgba(255,255,255,.9);
  font-size:13px;
}
.footer-bottom a{
  color:inherit;
  text-decoration:none;
}
.footer-bottom a:hover{
  color:#bfeeed;
}
.footer-sep{
  opacity:.5;
}
@media(max-width:860px){
  .site-footer{padding:54px 24px 26px}
  .footer-top{grid-template-columns:1fr;gap:38px}
  .footer-brand{padding-right:0;border-right:0}
  .footer-logo-card{width:min(100%,320px)}
  .footer-links{grid-template-columns:1fr 1fr;column-gap:28px}
}
@media(max-width:560px){
  .footer-links{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .footer-sep{display:none}
}


/* ===== LATEST-46 root layout fix ===== */
body{
  display:block !important;
  width:100%;
}
main.page{
  display:block;
  width:100%;
  max-width:1055px;
  margin:0 auto;
}
.site-footer{
  display:block;
  width:100%;
  box-sizing:border-box;
  clear:both;
  margin:0;
}


/* ===== LATEST-47 footer alignment ===== */
.footer-brand{
  text-align:center;
}
.footer-logo-card{
  margin-left:auto;
  margin-right:auto;
}
.footer-tagline{
  text-align:center;
}


/* ===== FINAL CTA ===== */
.final-cta{
  background:#f7fbfb;
  padding:78px 24px 82px;
  text-align:center;
  color:#102743;
  border-top:1px solid #e3eded;
  border-bottom:1px solid #e3eded;
}
.final-cta-inner{
  max-width:860px;
  margin:0 auto;
}
.final-cta-kicker{
  color:#0b8d89;
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:14px;
}
.final-cta h2{
  margin:0;
  color:#0b2349;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:34px;
  line-height:1.5;
  font-weight:600;
}
.final-cta p{
  max-width:760px;
  margin:20px auto 0;
  color:#3a4b61;
  font-size:15px;
  line-height:1.95;
}
.final-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:30px;
  min-width:250px;
  padding:14px 28px;
  border-radius:999px;
  background:#0b8d89;
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(11,141,137,.16);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.final-cta-button:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(11,141,137,.22);
  background:#087f7b;
}
.final-cta-button::after{
  content:"→";
  font-size:18px;
}
@media(max-width:640px){
  .final-cta{padding:58px 22px 62px}
  .final-cta h2{font-size:28px}
  .final-cta p{font-size:14px}
  .final-cta-button{width:100%;min-width:0;box-sizing:border-box}
}


/* ===== LATEST-49 navigation / clickable areas ===== */
html{
  scroll-behavior:smooth;
}
[id]{
  scroll-margin-top:24px;
}
.hero-image-wrap{
  position:relative;
  width:100%;
}
.hero-image-wrap > .section-img{
  display:block;
  width:100%;
  height:auto;
}
.hero-hotspot{
  position:absolute;
  display:block;
  z-index:12;
  background:rgba(255,255,255,0);
  cursor:pointer;
}
/* Header links in the approved hero artwork */
.hs-nav-service{left:43.4%;top:2.2%;width:7.0%;height:4.2%}
.hs-nav-features{left:53.2%;top:2.2%;width:5.2%;height:4.2%}
.hs-nav-price{left:61.1%;top:2.2%;width:10.4%;height:4.2%}
.hs-nav-faq{left:74.0%;top:2.2%;width:5.0%;height:4.2%}
.hs-nav-contact{left:80.2%;top:2.2%;width:9.8%;height:4.2%}
.hs-nav-consult{left:90.1%;top:1.8%;width:9.6%;height:4.9%}

/* Hero buttons */
.hs-hero-services{left:4.0%;top:33.7%;width:19.2%;height:4.4%}
.hs-hero-consult{left:24.4%;top:33.7%;width:21.0%;height:4.4%}

/* "詳しく見る" links in the service overview contained in the same artwork */
.hs-ai-detail{left:18.2%;top:94.6%;width:13.5%;height:3.5%}
.hs-web-detail{left:64.1%;top:94.6%;width:14.5%;height:3.5%}

.hero-hotspot:focus-visible{
  outline:3px solid #0b8d89;
  outline-offset:2px;
  border-radius:4px;
}
.image-anchor-section{
  display:block;
  width:100%;
}


/* ===== LATEST-51 fixes ===== */
.problems-click-wrap{
  position:relative;
}
.problems-cta-hotspot{
  position:absolute;
  left:28.4%;
  top:91.0%;
  width:43.1%;
  height:4.9%;
  z-index:20;
  display:block;
  border-radius:999px;
  background:transparent;
}
.problems-cta-hotspot:focus-visible{
  outline:3px solid #0b8d89;
  outline-offset:3px;
}

.ai-section-v3{
  background:#fff;
  padding:72px 48px 76px;
  color:#172a46;
}
.ai-kicker-v3{
  text-align:center;
  color:#9a7a45;
  font-family:"Times New Roman",serif;
  font-size:16px;
  letter-spacing:.18em;
}
.ai-section-v3 h2{
  margin:13px 0 0;
  text-align:center;
  color:#0a2144;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:36px;
  line-height:1.45;
  font-weight:500;
}
.ai-heading-rule-v3{
  width:58px;height:2px;background:#c8a15b;margin:18px auto 20px;
}
.ai-lead-v3{
  margin:0;text-align:center;color:#465469;font-size:14px;line-height:1.95;
}
.ai-grid-v3{
  max-width:940px;
  margin:52px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.ai-card-v3{
  min-height:250px;
  position:relative;
  padding:28px 34px 34px 24px;
  border-bottom:1px solid #e5ddd0;
}
.ai-card-v3:nth-child(odd){
  border-right:1px solid #e5ddd0;
}
.ai-card-v3:nth-child(even){
  padding-left:38px;
}
.ai-num-v3{
  position:absolute;
  top:16px;left:8px;
  color:#d8e8e7;
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-size:58px;
  line-height:1;
}
.ai-card-inner-v3{
  display:grid;
  grid-template-columns:135px 1fr;
  gap:22px;
  align-items:center;
  padding-top:46px;
}
.ai-icon-v3{
  width:128px;height:132px;object-fit:contain;display:block;
}
.ai-copy-v3 h3{
  margin:0;color:#087f7d;font-size:18px;font-weight:800;line-height:1.5;
}
.ai-rule-v3{
  width:34px;height:2px;background:#c8a15b;margin:12px 0 14px;
}
.ai-copy-v3 p{
  margin:0;color:#28374d;font-size:13px;line-height:1.9;
}
.ai-more-button-v3{
  width:255px;min-height:49px;margin:38px auto 0;
  border:1.5px solid #168d8a;border-radius:999px;background:#fff;
  color:#087f7d;display:flex;align-items:center;justify-content:center;
  gap:46px;font-size:15px;font-weight:800;cursor:pointer;
}
.ai-more-button-v3:hover{background:#f3fbfa}
.ai-more-arrow-v3{font-size:20px;font-weight:400}
.ai-note-v3{
  text-align:center;margin:13px 0 0;color:#596273;font-size:12px;
}
.ai-more-panel-v3[hidden]{display:none}
.ai-grid-extra-v3{
  margin-top:30px;
  border-top:1px solid #e5ddd0;
}
@media(max-width:760px){
  .ai-section-v3{padding:58px 24px 66px}
  .ai-section-v3 h2{font-size:29px}
  .ai-grid-v3{grid-template-columns:1fr}
  .ai-card-v3,.ai-card-v3:nth-child(odd),.ai-card-v3:nth-child(even){
    border-right:0;padding:24px 0 30px;
  }
  .ai-num-v3{left:0}
  .ai-card-inner-v3{grid-template-columns:112px 1fr}
  .ai-icon-v3{width:106px;height:112px}
}



/* =========================================================
   SERVICE 2026-09-02 ChatGPT修正版
   採用デザイン画像「ai活用と制作支援のサービス紹介.png」を忠実に実装
   ========================================================= */
.service.service-refined{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  padding:72px 0 58px!important;
}
.service-refined .wrap{position:relative;z-index:2;width:min(100% - 64px,1055px);margin-inline:auto;}
.service-refined-head{text-align:center!important;}
.service-refined-head .sparkle{font-size:24px!important;color:#E8A33D!important;}
.service-refined-head .eyebrow{margin-top:20px!important;color:#087F95!important;font-size:14px!important;letter-spacing:.34em!important;}
.service-refined-head .eyebrow-rule{width:142px!important;margin-top:14px!important;background:linear-gradient(90deg, transparent 0%, #5BC2C3 18%, #E8A33D 48%, #EABB72 70%, transparent 100%)!important;}
.service-refined-head .eyebrow-rule .dot{width:7px!important;height:7px!important;background:#E8A33D!important;}
.service-refined-head .sec-title{margin-top:50px!important;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:42px!important;font-weight:500!important;line-height:1.45!important;letter-spacing:.055em!important;color:#0A1E42!important;}
.service-refined-head .sec-title em{font-style:normal!important;color:#0B8795!important;}
.service-refined-head .sec-sub{margin-top:24px!important;font-size:15.5px!important;line-height:1.9!important;letter-spacing:.03em!important;color:#34435D!important;}

.service-refined-grid{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
  column-gap:50px!important;
  margin-top:66px!important;
  align-items:stretch!important;
}
.service-refined-col{min-width:0!important;padding:0 8px!important;display:flex!important;flex-direction:column!important;}
.service-refined-col .text-link{margin-top:auto!important;padding-top:20px!important;}
.service-refined-title-row{display:grid!important;grid-template-columns:98px 1fr!important;align-items:center!important;column-gap:24px!important;min-height:112px!important;}
.service-refined-icon{width:82px!important;height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.service-refined-icon--ai{width:98px!important;height:98px!important;}
.service-refined-icon--web{width:90px!important;height:90px!important;}
.service-refined-icon svg{width:78px!important;height:78px!important;fill:none!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.service-refined-icon--ai svg{stroke:#068EA0!important;}
.service-refined-icon--web svg{stroke:#2E78D4!important;}
.service-refined-title-row h3{margin:0!important;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:28px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:.025em!important;color:#0A1E42!important;white-space:nowrap!important;}
.service-refined-col--web .service-refined-title-row h3{font-size:25px!important;}
.service-refined-dotted{width:172px!important;margin:8px 0 0 98px!important;border-top:1px dotted #E5B65E!important;}
.service-refined-desc{margin:42px 0 0!important;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:16px!important;font-weight:500!important;line-height:2.55!important;letter-spacing:.055em!important;color:#243654!important;}
.service-refined-col .service-hl{margin:42px 0 0!important;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:16px!important;font-weight:700!important;line-height:2.55!important;letter-spacing:.055em!important;}
.service-refined-divider{position:relative!important;width:1px!important;background:rgba(228,201,137,.26)!important;min-height:280px!important;align-self:center!important;}
.service-refined-divider span{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;color:#E8A33D!important;background:#fff!important;font-size:15px!important;padding:12px 5px!important;line-height:1!important;}

/* 採用画像の「隅ににじむ装飾」としての波(2026-09-02改訂): 帯ではなく、四方向にフェードする周辺装飾にする */
.service-wave{position:absolute!important;pointer-events:none!important;z-index:0!important;background-repeat:no-repeat!important;background-size:cover!important;filter:saturate(1.3)!important;}
.service-wave--top{
  top:0!important;left:0!important;width:65%!important;height:230px!important;
  background-image:url(assets/images/svc-wave-top.png?v=20260908d)!important;background-position:top left!important;
  -webkit-mask-image:linear-gradient(120deg, transparent 0%, black 22%, black 35%, transparent 82%)!important;
  mask-image:linear-gradient(120deg, transparent 0%, black 22%, black 35%, transparent 82%)!important;
}
.service-wave--bottom{
  bottom:0!important;right:0!important;width:65%!important;height:230px!important;
  background-image:url(assets/images/svc-wave-bottom.png?v=20260908d)!important;background-position:bottom right!important;
  -webkit-mask-image:linear-gradient(-60deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.8) 28%, transparent 78%)!important;
  mask-image:linear-gradient(-60deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.8) 28%, transparent 78%)!important;
}

@media(max-width:760px){
  .service.service-refined{padding:30px 0 48px!important;}
  .service-refined .wrap{width:min(100% - 40px,1055px)!important;}
  .service-refined-head .sec-title{font-size:31px!important;margin-top:38px!important;}
  .service-refined-head .sec-sub{font-size:14px!important;margin-top:18px!important;}
  .service-refined-grid{grid-template-columns:1fr!important;row-gap:52px!important;margin-top:48px!important;}
  .service-refined-divider{display:none!important;}
  .service-refined-title-row{grid-template-columns:68px 1fr!important;column-gap:14px!important;min-height:88px!important;}
  .service-refined-icon{width:62px!important;height:62px!important;}
  .service-refined-icon svg{width:60px!important;height:60px!important;}
  .service-refined-title-row h3,.service-refined-col--web .service-refined-title-row h3{font-size:22px!important;white-space:normal!important;}
  .service-refined-dotted{margin-left:82px!important;width:120px!important;}
  .service-refined-desc{font-size:14.5px!important;line-height:2.2!important;margin-top:28px!important;}
  .service-refined-desc br{display:none!important;}
}


/* =========================================================
   AI SUPPORT 2026-09-04 採用デザイン（実測: カード309 / 中央349 @1055基準）
   文言は確定版。レイアウト・装飾のみ採用デザインに合わせる。
   ========================================================= */
.ai-section-v3{ position:relative!important; overflow:hidden!important; padding:72px 24px 76px!important; }
.ai-section-v3 .ai-kicker-v3{ color:#0B7F93!important; font-family:var(--sans)!important; font-weight:700!important; font-size:14px!important; letter-spacing:.34em!important; }
.ai-heading-rule-v3{
  width:142px!important; height:1px!important; margin:14px auto 24px!important;
  background:linear-gradient(90deg, transparent 0%, #5BC2C3 18%, #E8A33D 48%, #EABB72 70%, transparent 100%)!important;
  position:relative!important;
}
.ai-heading-rule-v3::after{
  content:"✦"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:var(--gold); font-size:15px; line-height:1; background:#fff; padding:0 4px;
}
.ai-lead-v3{ font-size:14.5px!important; line-height:2.0!important; color:#3C4A61!important; }

/* グリッド: 左2枚 / 中央ハブ / 右2枚（実測比率） */
.ai-grid-v3{
  max-width:967px!important;
  margin:44px auto 0!important;
  grid-template-columns:309px 309px!important;
  justify-content:space-between!important;
  grid-auto-flow:column!important;
  grid-template-rows:auto auto!important;
  row-gap:24px!important;
  position:relative!important;
}

/* カード: 白い角丸＋やわらかい影 */
.ai-card-v3{
  min-height:0!important;
  padding:20px!important;
  border:none!important; background:#fff!important;
  border-radius:18px!important;
  box-shadow:0 16px 34px -24px rgba(20,50,80,.34)!important;
  position:relative!important; z-index:1!important;
  display:grid!important;
  grid-template-columns:47px minmax(0,1fr) 86px!important;
  column-gap:12px!important; row-gap:14px!important;
  align-items:center!important;
}
.ai-card-v3:nth-child(odd),.ai-card-v3:nth-child(even){ padding-left:20px!important; border-right:none!important; }
/* 内側のラッパーを透過させ、カード直下のグリッドに配置する */
.ai-card-inner-v3{ display:contents!important; }
.ai-copy-v3{ display:contents!important; }

.ai-num-v3{
  position:static!important; grid-column:1!important; grid-row:1!important;
  width:47px!important; height:47px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  border:1px solid #cfe4e6!important; border-radius:50%!important;
  color:#0B8795!important; font-size:20px!important; line-height:1!important;
  font-family:"Times New Roman",serif!important; font-style:italic!important;
}
.ai-copy-v3 h3{
  grid-column:2 / span 2!important; grid-row:1!important;
  margin:0!important; color:#0B8795!important;
  font-family:var(--serif)!important; font-size:16px!important; font-weight:600!important; line-height:1.55!important;
}
.ai-rule-v3{ display:none!important; }
.ai-copy-v3 p{
  grid-column:1 / span 2!important; grid-row:2!important;
  margin:0!important; color:#28374d!important; font-size:12.5px!important; line-height:1.95!important;
}
.ai-icon-v3{
  grid-column:3!important; grid-row:2!important;
  width:86px!important; height:auto!important; justify-self:end!important;
}
.ai-card-v3::after{
  content:"✦"; position:absolute; top:12px; right:14px;
  color:var(--gold); font-size:13px; line-height:1;
}
.ai-copy-v3 h3 .nw{ white-space:normal!important; }

/* 中央のAIハブ（採用画像から切り出し／キャプションは実テキスト） */
.ai-hub-v3{
  position:absolute!important; top:50%; left:50%; transform:translate(-50%,-50%);
  width:349px; pointer-events:none; z-index:0;
}
.ai-hub-img-v3{ width:100%; height:auto; display:block; }
.ai-hub-mobile-v3{ display:none; }
.ai-hub-caption-v3{
  position:absolute; left:50%; top:47%; transform:translateX(-50%);
  margin:0!important; width:100%; text-align:center;
  color:#0B7F93; font-size:13px; font-weight:700; line-height:1.75; letter-spacing:.02em;
}

/* 締めの一文 */
.ai-closing-v3{
  max-width:967px; margin:40px auto 0!important; text-align:center;
  font-family:var(--serif); color:#0A2144; font-size:16px; line-height:2.0; letter-spacing:.03em;
}
.ai-closing-v3 em{ font-style:normal; color:#0B8795; }

@media(max-width:1000px){
  .ai-grid-v3{ grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; column-gap:250px!important; justify-content:stretch!important; }
  .ai-hub-v3{ width:250px; }
}
@media(max-width:760px){
  .ai-section-v3{ padding:58px 24px 66px!important; }
  .ai-grid-v3{
    grid-template-columns:1fr!important; grid-auto-flow:row!important;
    grid-template-rows:none!important; column-gap:0!important; row-gap:16px!important;
    margin-top:26px!important;
  }
  .ai-hub-v3{
    position:relative!important; top:auto; left:auto; transform:none;
    width:170px; margin:0 auto 18px; order:-1;
  }
  .ai-hub-img-v3{ display:none!important; }
  .ai-hub-caption-v3{ display:none; }
  .ai-hub-mobile-v3{
    display:flex; align-items:center; justify-content:center;
    width:170px; height:170px; border-radius:50%; margin:0 auto;
    background:radial-gradient(circle at 50% 44%, #ffffff 0%, #f3fbfb 44%, #dff2f3 76%, rgba(223,242,243,0) 100%);
    box-shadow:0 0 0 12px rgba(148,214,216,.10), 0 0 0 26px rgba(148,214,216,.06);
  }
  .ai-hub-mobile-v3 img{ width:64px; height:auto; }
  .ai-card-v3{ grid-template-columns:44px minmax(0,1fr) 76px!important; padding:18px!important; }
  .ai-num-v3{ width:44px!important; height:44px!important; font-size:19px!important; }
  .ai-icon-v3{ width:76px!important; }
  .ai-closing-v3{ font-size:14.5px; margin-top:28px!important; }
}
