@charset "utf-8";

/*--------------------------------------------------------------------
  サービス詳細ページ（LP 型）共通：page-marutto-plan.php／page-global-bpo.php
  前半：土台・ヒーロー・CTA（XD の固定寸法）
  後半：各セクション（モックの PC/SP を突き合わせて vw で 1 本化した値。画面幅で伸び縮みするのでメディアクエリは不要）
--------------------------------------------------------------------*/

.svc{
  background-color: #FCFCFC;
  color: #222222;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 2;
}
.svc *,
.svc *::before,
.svc *::after{
  box-sizing: border-box;
}
.svc [hidden]{
  display: none !important;
}
/* 見出しの太さ（reset.css の font-weight: inherit !important を打ち消す） */
.svc .hero1-ttl,
.svc .hero1sp-ttl{
  font-weight: 700 !important;
}

/*--------------------------------------------------------------------*/

/* ヒーロー（PC）：XD の 1440×540 をそのまま置き、
   1440px より狭い画面では js/service.js で zoom 縮小、広い画面では青地と写真を左右に伸ばす */
.svc-hero{
  position: relative;
  overflow: hidden;
  background-color: #FFFFFF;
}
.svc-hero::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(50% - 719px);
  background-color: #206FB3;
}
.svc-hero .hero1{
  margin: 0 auto;
  overflow: visible;
}
.svc-hero .hero1-photo{
  object-fit: cover;
}
@media screen and (min-width: 1441px){
  .svc-hero .hero1-photo{
    width: calc(786.8px + (100vw - 1440px) / 2);
  }
}

/* CTA（PC）：XD の 991×197。狭い画面では js/service.js で zoom 縮小 */
.svc-cta.pc{
  display: flex;
  justify-content: center;
  width: 100%;
}
.svc-cta.sp{
  width: 100%;
}

/* ヒーロー：まるっとプラン（mockup/）のヒーローと同じ寸法。帯・プラン名・丸のラベルは文言が違うため中央揃えにしている。
   元のコメント：img/hero_1.svg（XD 書き出し）の座標をそのまま使う。
   文字の top は「ベースライン − (line-height/2 + 0.436em)」で算出（Noto Sans JP の上下の字形データ 1.16em / 0.288em から） */
.hero1{position:relative;width:1440px;height:540px;overflow:hidden;background:#FFFFFF;color:#FFFFFF;line-height:1;white-space:nowrap}
.hero1 *{margin:0;font-weight:inherit}
.hero1>*,.hero1>h1>*,.hero1-pt>*{position:absolute}
.hero1-photo{left:653.2px;top:0;width:786.8px;height:540px;display:block}
.hero1-bg{left:0;top:0;width:732px;height:540px;background:#206FB3;clip-path:polygon(0 0,731.981px 0,656.18px 100%,0 100%)}
.hero1-ttl{left:189.501px;top:94.074px;font-size:52px;line-height:68px;font-weight:700;letter-spacing:.1em}
.hero1-band{left:189.501px;top:253.527px;width:392px;height:43px;background:#053864}
.hero1-svc{left:189.501px;top:266.243px;width:392px;text-align:center;padding-left:.161em;font-size:19px;line-height:19px;font-weight:700;letter-spacing:.161em}
.hero1-rule{left:189.501px;width:392.004px;height:1px;background:#FFFFFF}
.hero1-plan{left:189.501px;top:328.329px;width:392.004px;text-align:center;padding-left:.161em;font-size:24px;line-height:24px;font-weight:800;letter-spacing:.161em}
.hero1-lead{left:189.501px;top:396.783px;font-size:16px;line-height:28px;font-weight:400;letter-spacing:.047em;max-width: 25em;
    white-space: normal;}
.hero1-pts{left:811.883px;top:390px;padding:0;list-style:none}
.hero1-pt{position:absolute;top:0;width:122px;height:122px;border-radius:50%;background:#9B8F51}
.hero1-pt svg{left:52px;top:15px;overflow:visible}
.hero1-pt span{left:0;width:122px;text-align:center;padding-left:.061em;top:46.152px;font-size:18px;line-height:24px;font-weight:700;letter-spacing:.061em}
.hero1-pt span+span{top:70.152px}
/* ヒーロー パターン1（SP）：PC の要素・配色・字間をそのまま使い、390px 幅向けに縦積みにした案（XD の SP デザインはなし）。
   中央揃えの行は、末尾の字間ぶんを padding-left で足して左右を均等にする */
.hero1sp{color:#FFFFFF;line-height:1}
.hero1sp *{margin:0;font-weight:inherit}
.hero1sp-photo{display:block;width:100%;height:auto}
.hero1sp-body{position:relative;margin-top:-28px;padding:50px 20px 36px;background:#206FB3;clip-path:polygon(0 28px,100% 0,100% 100%,0 100%)}
.hero1sp-ttl{font-size:8vw;line-height:44px;font-weight:700;letter-spacing:.1em;
  text-align: center;}
.hero1sp-svc{margin-top:22px;height:38px;background:#053864;font-size:16px;line-height:38px;font-weight:700;letter-spacing:.161em;text-align:center;padding-left:.161em}
.hero1sp-plan{margin-top:12px;height:54px;border-top:1px solid #FFFFFF;border-bottom:1px solid #FFFFFF;font-size:20px;line-height:52px;font-weight:800;letter-spacing:.161em;text-align:center;padding-left:.161em}
.hero1sp-lead{margin-top:20px;font-size:14px;line-height:1.75;font-weight:400;letter-spacing:.047em}
.hero1sp-pts{display:flex;justify-content:center;gap:10px;margin-top:28px;padding:0;list-style:none}
.hero1sp-pt{width:100px;height:100px;border-radius:50%;background:#9B8F51;display:flex;flex-direction:column;align-items:center;padding-top:13px}
.hero1sp-pt svg{display:block}
.hero1sp-pt span{margin-top:8px;font-size:15px;line-height:20px;font-weight:700;letter-spacing:.061em;text-align:center;padding-left:.061em}
/* CTA：XD 書き出し（991×197）の座標をそのまま使う。説明文は書き出しでは見出しと重なっていたため、ボタンの真上に中央揃えで置く */
.cta1{position:relative;width:991px;height:197px;background:#FFFFFF;line-height:1;white-space:nowrap;text-align:left}
.cta1>*,.cta1-btn>*{position:absolute;margin:0}
.cta1-ttl{left:139px;top:50.74px;font-size:32px;line-height:49px;font-weight:700;color:#0D5A9C}
.cta1-lead{left:436px;top:33.832px;width:380px;font-size:13px;line-height:21px;font-weight:400;color:#161616;text-align:center}
.cta1-btn{left:436px;top:93px;width:380px;height:73px;border-radius:36.5px;background:linear-gradient(90deg,#475A91 0%,#1192CC 97.6%);color:#FFFFFF;text-decoration:none}
.cta1-btn .cta1-mail{left:77px;top:27px}
.cta1-btn span{left:114px;top:28.152px;font-size:18px;line-height:18px;font-weight:700;letter-spacing:.047em}
.cta1-btn .cta1-arw{left:344px;top:31px}
/* CTA（SP）：PC の要素を縦積みにした案 */
.cta1sp{width:100%;background:#FFFFFF;padding:32px 20px;text-align:center;line-height:1}
.cta1sp *{margin:0}
.cta1sp-ttl{font-size:24px;line-height:35px;font-weight:700;color:#0D5A9C}
.cta1sp-lead{margin-top:14px;font-size:13px;line-height:21px;font-weight:400;color:#161616}
.cta1sp-btn{position:relative;margin-top:20px;height:64px;border-radius:32px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(90deg,#475A91 0%,#1192CC 97.6%);color:#FFFFFF;font-size:17px;line-height:1;font-weight:700;letter-spacing:.047em;text-decoration:none}
.cta1sp-btn .cta1-arw{position:absolute;right:26px;top:24.2px}

/*====================================================================
  各セクション（モックの PC/SP を vw で 1 本化した値。テンプレートのインライン style から移設）
====================================================================*/

/* ヒーロー --------------------------------------------------------------*/
.svc .hero1-rule-top{
  top: 307.793px;
}
.svc .hero1-rule-bottom{
  top: 371.793px;
}
.svc .hero1-pt-1{
  left: 0px;
}
.svc .hero1-pt-2{
  left: 129px;
}
.svc .hero1-pt-3{
  left: 258px;
}
.svc .svc-contents{
  display: contents;
}

/* ヒーロー（SP） --------------------------------------------------------------*/
.svc .svc-block{
  display: block;
}

/* 目次 --------------------------------------------------------------*/
.svc .svc-toc{
  background: #0D5A9C;
}
.svc .svc-toc__list{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(108px, 100%), 1fr));
  gap: 1px;
  background: rgba(255,255,255,.18);
  border-left: 1px solid rgba(255,255,255,.18);
  border-right: 1px solid rgba(255,255,255,.18);
}
.svc .svc-toc__link{
  background: #0D5A9C;
  color: #FFFFFF;
  text-decoration: none;
  padding: 16px 6px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: clamp(12px, 1.149vw, 15px);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.svc .svc-toc__list-7{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr));
  gap: 1px;
  background: rgba(255,255,255,.18);
  border-left: 1px solid rgba(255,255,255,.18);
  border-right: 1px solid rgba(255,255,255,.18);
}

/* お悩み --------------------------------------------------------------*/
.svc .svc-sec-first{
  padding: clamp(56px, 8vw, 100px) 5% 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 4vw, 40px);
}
.svc .svc-worry__ttl{
  margin: 0;
  font-size: clamp(21px, 2.6vw, 30px);
  font-weight: 700 !important;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}
.svc .svc-worry__box{
  width: 100%;
  max-width: 1000px;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: clamp(24px, 4vw, 48px) clamp(20px, 4vw, 56px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
  gap: 18px 48px;
}
.svc .svc-worry__item{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.8;
}
.svc .svc-check{
  flex-shrink: 0;
  margin-top: 0.25em;
}
.svc .svc-down{
  width: 0;
  height: 0;
  border-left: 44px solid transparent;
  border-right: 44px solid transparent;
  border-top: 26px solid #0D5A9C;
}

/* 課題（外資系） --------------------------------------------------------------*/
.svc .svc-issues{
  width: 100%;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: clamp(14px, 2vw, 24px);
}
.svc .svc-issue{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  border-top: 3px solid #0D5A9C;
  padding: clamp(24px, 2.6vw, 32px) clamp(20px, 2vw, 26px) clamp(26px, 2.8vw, 34px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.svc .svc-issue__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.svc .svc-issue__icon{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #E8EFF5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc .svc-issue__num{
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 30px;
  color: #C2D5E5;
  line-height: 1;
}
.svc .svc-issue__ttl{
  margin: 0;
  font-size: clamp(17px, 1.6vw, 20px);
  font-weight: 700 !important;
  line-height: 1.5;
  color: #0F4675;
}
.svc .svc-issue__text{
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: #333333;
}

/* 解決提示・全体図 --------------------------------------------------------------*/
.svc .svc-sec-solution{
  background: #F2F5F8;
  margin-top: clamp(28px, 4vw, 40px);
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 5vw, 56px);
}
.svc .svc-heading{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.svc .svc-heading__en{
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 34px);
  color: #0D5A9C;
  line-height: 1.2;
  letter-spacing: 0.04em;
  padding-bottom: 0.4em;
  margin-bottom: 0.6em;
  background: linear-gradient(#0F4675, #0F4675) no-repeat center bottom / 4em 1px;
}
.svc .svc-solution__ttl{
  margin: 0;
  font-size: clamp(19px, 2.4vw, 28px);
  font-weight: 700 !important;
  line-height: 1.7;
  letter-spacing: 0.04em;
  max-width: 30em;
}
@media screen and (max-width: 520px){
  .svc .svc-solution__ttl--sp-left{
    text-align: left;
  }
}
.svc .svc-em{
  color: #0D5A9C;
}
.svc .svc-solution__lead{
  margin: 0;
  max-width: 46em;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2.1;
}
.svc .svc-diagram{
  margin: 0;
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
}
.svc .svc-diagram__stage{
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
}
.svc .svc-diagram__bg{
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.7) 46%, rgba(255,255,255,0) 71%);
}
.svc .svc-diagram__line-1{
  position: absolute;
  left: 12%;
  top: 50%;
  width: 76%;
  height: 0;
  border-top: 1px dashed #C2D5E5;
  transform: rotate(0deg);
}
.svc .svc-diagram__line-2{
  position: absolute;
  left: 12%;
  top: 50%;
  width: 76%;
  height: 0;
  border-top: 1px dashed #C2D5E5;
  transform: rotate(45deg);
}
.svc .svc-diagram__line-3{
  position: absolute;
  left: 12%;
  top: 50%;
  width: 76%;
  height: 0;
  border-top: 1px dashed #C2D5E5;
  transform: rotate(90deg);
}
.svc .svc-diagram__line-4{
  position: absolute;
  left: 12%;
  top: 50%;
  width: 76%;
  height: 0;
  border-top: 1px dashed #C2D5E5;
  transform: rotate(135deg);
}
.svc .svc-diagram__ring{
  position: absolute;
  left: 12%;
  top: 12%;
  width: 76%;
  height: 76%;
  border-radius: 50%;
  background: conic-gradient(from -22.5deg, #0D5A9C 0deg 90deg, #0E9488 90deg 180deg, #5A4CA6 180deg 270deg, #2BA0D8 270deg 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000000 calc(100% - 3px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000000 calc(100% - 3px));
}
.svc .svc-diagram__center{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 36%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #0D5A9C;
  box-shadow: 0 0 0 10px rgba(13,90,156,.12), 0 8px 28px rgba(15,70,117,.25);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6%;
  text-align: center;
}
.svc .svc-diagram__center-icon{
  width: 40%;
  height: auto;
  display: block;
}
.svc .svc-diagram__center-label{
  font-weight: 700;
  font-size: clamp(12px, 1.9vw, 21px);
  line-height: 1.3;
  letter-spacing: 0.06em;
  color: #FFFFFF;
}
.svc .svc-diagram__node-1{
  position: absolute;
  left: 50%;
  top: 12%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #0D5A9C;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-icon{
  width: 30%;
  height: auto;
  display: block;
}
.svc .svc-diagram__node-2{
  position: absolute;
  left: 76.87%;
  top: 23.13%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #0D5A9C;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-3{
  position: absolute;
  left: 88%;
  top: 50%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #0E9488;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-4{
  position: absolute;
  left: 76.87%;
  top: 76.87%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #0E9488;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-5{
  position: absolute;
  left: 50%;
  top: 88%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #5A4CA6;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-6{
  position: absolute;
  left: 23.13%;
  top: 76.87%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #5A4CA6;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-7{
  position: absolute;
  left: 12%;
  top: 50%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #2BA0D8;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__node-8{
  position: absolute;
  left: 23.13%;
  top: 23.13%;
  width: 23%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #2BA0D8;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(10px, 1.449vw, 15px);
  line-height: 1.35;
}
.svc .svc-diagram__legend{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  font-size: 13px;
  line-height: 1.6;
  color: #333333;
}
.svc .svc-diagram__legend-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.svc .svc-dot-blue{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0D5A9C;
}
.svc .svc-dot-teal{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0E9488;
}
.svc .svc-dot-purple{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #5A4CA6;
}
.svc .svc-dot-sky{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #2BA0D8;
}
.svc .svc-phase{
  margin: 0;
  width: 100%;
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.svc .svc-phase__window{
  align-self: center;
  background: #0D5A9C;
  color: #FFFFFF;
  padding: 12px clamp(20px, 3vw, 36px);
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 8px 24px rgba(15,70,117,.2);
  z-index: 2;
  position: relative;
}
.svc .svc-phase__window-sep{
  width: 1px;
  height: 1.4em;
  background: rgba(255,255,255,.5);
}
.svc .svc-phase__window-label{
  font-weight: 700;
  font-size: clamp(15px, 1.5vw, 18px);
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.svc .svc-phase__branch{
  height: 28px;
  margin: 0 12.5%;
  border: 1px solid #89B4D9;
  border-bottom: 0;
  position: relative;
  top: 14px;
}
.svc .svc-phase__stem{
  position: absolute;
  left: 50%;
  top: -29px;
  width: 1px;
  height: 28px;
  background: #89B4D9;
}
.svc .svc-phase__list{
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
  gap: 10px;
}
.svc .svc-phase__item{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.svc .svc-phase__step{
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: #0D5A9C;
  line-height: 1.4;
}
.svc .svc-phase__name{
  font-weight: 700;
  font-size: 17px;
  line-height: 1.5;
  color: #0F4675;
}
.svc .svc-phase__desc{
  font-size: 13px;
  line-height: 1.7;
  color: #555555;
}
.svc .svc-diagram__center-logo{
  width: 46%;
  height: auto;
  display: block;
}
.svc .svc-phase__logo{
  width: 92px;
  height: auto;
  display: block;
}

/* 特長 --------------------------------------------------------------*/
.svc .svc-sec{
  padding: clamp(56px, 8vw, 100px) 3%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 5vw, 56px);
}
.svc .svc-heading__ttl{
  margin: 0;
  font-size: clamp(19px, 2.4vw, 28px);
  font-weight: 700 !important;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
.svc .svc-strengths{
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 32px);
}
.svc .svc-strength{
  background: #FFFFFF;
  box-shadow: 0 3px 2em rgba(0,0,0,.08);
  padding: clamp(24px, 4vw, 48px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
.svc .svc-strength__body{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.svc .svc-strength__label{
  align-self: flex-start;
  background: #0D5A9C;
  color: #FFFFFF;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 6px 12px;
}
.svc .svc-strength__ttl{
  margin: 0;
  font-size: clamp(19px, 2.1vw, 26px);
  font-weight: 700 !important;
  line-height: 1.55;
  letter-spacing: 0.02em;
}
.svc .svc-strength__text{
  margin: 0;
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 2;
  color: #333333;
}
.svc .svc-strength__points{
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid #E9E9E9;
  padding-top: 16px;
}
.svc .svc-strength__point{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 1.8;
}
.svc .svc-marker{
  background: linear-gradient(transparent 70%, #D0DCEF 30%);
  font-weight: 700;
  color: #222222;
}
.svc .svc-strength-alt{
  background: #FFFFFF;
  box-shadow: 0 3px 2em rgba(0,0,0,.08);
  padding: clamp(24px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
.svc .svc-strength__main{
  flex: 1 1 420px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.svc .svc-strength-wide{
  background: #FFFFFF;
  box-shadow: 0 3px 2em rgba(0,0,0,.08);
  padding: clamp(24px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 44px);
}
.svc .svc-strength__row-rev{
  display: flex;
  flex-wrap: wrap-reverse;
  flex-direction: row-reverse;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
.svc .svc-group{
  margin: 0;
  border-top: 1px solid #E9E9E9;
  padding-top: clamp(28px, 4vw, 44px);
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
.svc .svc-group__chart{
  flex: 1 1 360px;
  min-width: 0;
  max-width: 520px;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  position: relative;
}
.svc .svc-group__bg{
  position: absolute;
  inset: 4%;
  border-radius: 50%;
  background: #F2F5F8;
}
.svc .svc-group__line-1{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 37%;
  height: 0;
  border-top: 1px dashed #89B4D9;
  transform-origin: 0 0;
  transform: rotate(-90deg);
}
.svc .svc-group__line-2{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 37%;
  height: 0;
  border-top: 1px dashed #89B4D9;
  transform-origin: 0 0;
  transform: rotate(-18deg);
}
.svc .svc-group__line-3{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 37%;
  height: 0;
  border-top: 1px dashed #89B4D9;
  transform-origin: 0 0;
  transform: rotate(54deg);
}
.svc .svc-group__line-4{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 37%;
  height: 0;
  border-top: 1px dashed #89B4D9;
  transform-origin: 0 0;
  transform: rotate(126deg);
}
.svc .svc-group__line-5{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 37%;
  height: 0;
  border-top: 1px dashed #89B4D9;
  transform-origin: 0 0;
  transform: rotate(198deg);
}
.svc .svc-group__center{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 38%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #0D5A9C;
  box-shadow: 0 0 0 10px rgba(13,90,156,.12), 0 8px 28px rgba(15,70,117,.25);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6%;
  text-align: center;
  color: #FFFFFF;
}
.svc .svc-group__center-en{
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: clamp(16px, 2.2vw, 26px);
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.svc .svc-group__center-label{
  font-weight: 700;
  font-size: clamp(10px, 1.1vw, 14px);
  line-height: 1.5;
}
.svc .svc-group__node-1{
  position: absolute;
  left: 50%;
  top: 13%;
  width: 25%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid #0D5A9C;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(11px, 1.149vw, 15px);
  line-height: 1.35;
}
.svc .svc-group__node-icon{
  width: 32%;
  height: auto;
  display: block;
}
.svc .svc-group__node-2{
  position: absolute;
  left: 85.19%;
  top: 38.57%;
  width: 25%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #5A4CA6;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(11px, 1.149vw, 15px);
  line-height: 1.35;
}
.svc .svc-group__node-3{
  position: absolute;
  left: 71.75%;
  top: 79.93%;
  width: 25%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #0E9488;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(11px, 1.149vw, 15px);
  line-height: 1.35;
}
.svc .svc-group__node-4{
  position: absolute;
  left: 28.25%;
  top: 79.93%;
  width: 25%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #2BA0D8;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(11px, 1.149vw, 15px);
  line-height: 1.35;
}
.svc .svc-group__node-5{
  position: absolute;
  left: 14.81%;
  top: 38.57%;
  width: 25%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #485991;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(15,70,117,.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4%;
  text-align: center;
  color: #0F4675;
  font-weight: 700;
  font-size: clamp(11px, 1.149vw, 15px);
  line-height: 1.35;
}
.svc .svc-group__list{
  flex: 1 1 360px;
  min-width: 0;
  margin: 0;
  background: #F2F5F8;
  padding: clamp(20px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 0;
}
.svc .svc-group__row{
  display: flex;
  flex-wrap: wrap;
  gap: 2px 16px;
  padding: 12px 0;
  border-bottom: 1px solid #DCE5EE;
}
.svc .svc-group__dt{
  flex: 0 0 8.5em;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #0F4675;
  font-size: 15px;
  line-height: 1.7;
}
.svc .svc-dot10-blue{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0D5A9C;
}
.svc .svc-group__dd{
  flex: 1 1 200px;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
.svc .svc-dot10-purple{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #5A4CA6;
}
.svc .svc-dot10-teal{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #0E9488;
}
.svc .svc-dot10-sky{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2BA0D8;
}
.svc .svc-group__row-last{
  display: flex;
  flex-wrap: wrap;
  gap: 2px 16px;
  padding: 12px 0 0;
}
.svc .svc-dot10-navy{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #485991;
}
.svc .svc-strength__img{
  display: block;
  width: 100%;
  height: auto;
}
.svc .svc-strength__img-flex{
  flex: 1 1 420px;
  min-width: 0;
  display: block;
  width: 100%;
  height: auto;
}

/* 提供サービス --------------------------------------------------------------*/
.svc .svc-sec-gray{
  background: #F2F5F8;
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 4vw, 48px);
}
.svc .svc-service__head{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(16px, 2vw, 24px);
}
.svc .svc-stack-center{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.svc .svc-service__lead{
  margin: 0;
  max-width: 46em;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2;
}
.svc .svc-service__grid{
  width: 100%;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  gap: clamp(16px, 2vw, 24px);
}
.svc .svc-service-card{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: 28px 28px 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.svc .svc-service-card__head{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: 14px;
  border-bottom: 1px solid #E9E9E9;
}
.svc .svc-service-card__num{
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #0D5A9C;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
.svc .svc-service-card__ttl{
  margin: 0;
  font-size: 18px;
  font-weight: 700 !important;
  line-height: 1.6;
}
.svc .svc-service-card__list{
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  line-height: 1.8;
}
.svc .svc-service-card__item{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.svc .svc-service-card__icon{
  flex-shrink: 0;
  margin-top: 0.3em;
}
.svc .svc-steps{
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: 8px;
}
.svc .svc-step{
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
}
.svc .svc-step__head{
  background: #0D5A9C;
  color: #FFFFFF;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
  padding: 12px 34px 12px 20px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1.4;
}
.svc .svc-step__num{
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #C2D5E5;
}
.svc .svc-step__name{
  font-weight: 700;
  font-size: 18px;
}
.svc .svc-step__body{
  padding: 18px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex-grow: 1;
}
.svc .svc-step__text{
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  min-height: 5.4em;
  flex-grow: 1;
}
.svc .svc-step__roles{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  border-top: 1px solid #E9E9E9;
  padding-top: 12px;
}
.svc .svc-step__roles-label{
  font-size: 12px;
  font-weight: 700;
  color: #555555;
  line-height: 1.6;
  margin-right: 2px;
}
.svc .svc-step__role{
  font-size: 12px;
  line-height: 1.6;
  background: #E8EFF5;
  color: #0F4675;
  padding: 2px 6px;
  border-radius: 999px;
  white-space: nowrap;
}
.svc .svc-step__head-last{
  background: #0F4675;
  color: #FFFFFF;
  padding: 12px 20px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1.4;
}
.svc .svc-support__grid{
  width: 100%;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(480px, 100%), 1fr));
  gap: clamp(16px, 2vw, 24px);
}
.svc .svc-support{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: clamp(24px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.svc .svc-support__ttl{
  margin: 0;
  font-size: 19px;
  font-weight: 700 !important;
  line-height: 1.6;
}
.svc .svc-support__foot{
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  background: #F9F9F9;
  padding: 12px 16px;
}
.svc .svc-support__roles{
  font-size: 13px;
  line-height: 1.6;
}
.svc .svc-text-navy{
  color: #0F4675;
}
.svc .svc-support__link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #1E6FAD;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: underline;
  min-height: 44px;
}
.svc .svc-support__list{
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  line-height: 1.7;
}
.svc .svc-support__dt{
  display: inline;
  font-weight: 700;
}
.svc .svc-support__dd{
  display: inline;
  margin: 0;
  color: #555555;
}

/* 料金・採用との比較 --------------------------------------------------------------*/
.svc .svc-sec-center{
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 4vw, 48px);
}
.svc .svc-fee{
  width: 100%;
  max-width: 880px;
  background: #FFFFFF;
  border: 2px solid #0D5A9C;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.svc .svc-fee__name{
  background: #0D5A9C;
  color: #FFFFFF;
  text-align: center;
  padding: 14px 16px;
  font-weight: 700;
  font-size: clamp(16px, 1.6vw, 19px);
  letter-spacing: 0.08em;
  line-height: 1.6;
}
.svc .svc-fee__body{
  padding: clamp(24px, 4vw, 40px) clamp(20px, 5vw, 64px) clamp(28px, 4vw, 44px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 3vw, 28px);
}
.svc .svc-fee__price{
  margin: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 6px;
  line-height: 1.1;
  color: #0F4675;
}
.svc .svc-fee__price-pre{
  font-weight: 700;
  font-size: clamp(16px, 1.8vw, 20px);
}
.svc .svc-fee__price-num{
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(56px, 7vw, 84px);
  color: #0D5A9C;
  letter-spacing: -0.01em;
}
.svc .svc-fee__price-unit{
  font-weight: 700;
  font-size: clamp(22px, 2.6vw, 30px);
}
.svc .svc-fee__price-note{
  font-size: clamp(13px, 1.2vw, 15px);
  color: #555555;
  font-weight: 500;
}
.svc .svc-fee__points{
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid #E9E9E9;
  padding-top: clamp(20px, 3vw, 28px);
  font-size: clamp(14px, 1.3vw, 15px);
  line-height: 1.8;
}
.svc .svc-fee__point{
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.svc .svc-bullet{
  flex-shrink: 0;
  width: 0.45em;
  height: 0.45em;
  background: #197DD2;
  border-radius: 0.3em;
  margin-top: 0.7em;
}
.svc .svc-compare{
  width: 100%;
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: clamp(8px, 2vw, 24px);
}
.svc .svc-compare__ttl{
  margin: 0;
  font-size: clamp(17px, 1.9vw, 22px);
  font-weight: 700 !important;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.04em;
}
.svc .svc-compare__body{
  width: 100%;
  display: flex;
  flex-direction: column;
}
.svc .svc-scroll-hint{
  margin: 0 0 0.6em;
  align-self: flex-end;
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: clamp(0px, calc((690px - 100vw) * 1000), 13px);
  line-height: 1.6;
  color: #555555;
  font-weight: 500;
}
.svc .svc-scroll-hint__icon{
  width: 1.9em;
  height: 1.2em;
  display: block;
}
.svc .svc-table-wrap{
  width: 100%;
  overflow-x: auto;
}
.svc .svc-compare__table{
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: clamp(14px, 1.251vw, 15px);
  line-height: 1.7;
  background: #FFFFFF;
}
.svc .svc-compare__th-item{
  width: 20%;
  border: 1px solid #E3E3E3;
  background: #FFFFFF;
}
.svc .svc-visually-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.svc .svc-compare__th-hire{
  width: 38%;
  border: 1px solid #6A7581;
  background: #6A7581;
  color: #FFFFFF;
  padding: 14px 16px;
  font-weight: 700;
  text-align: center;
}
.svc .svc-compare__th-plan{
  width: 42%;
  border: 1px solid #0D5A9C;
  background: #0D5A9C;
  color: #FFFFFF;
  padding: 14px 16px;
  font-weight: 700;
  text-align: center;
}
.svc .svc-compare__th-row{
  border: 1px solid #E3E3E3;
  background: #F2F5F8;
  color: #0F4675;
  padding: 16px;
  font-weight: 700;
  text-align: left;
}
.svc .svc-compare__td{
  border: 1px solid #E3E3E3;
  padding: 16px 20px;
}
.svc .svc-compare__strong{
  font-size: 1.15em;
}
.svc .svc-compare__sub{
  font-size: 0.9em;
  color: #555555;
}
.svc .svc-compare__td-plan{
  border: 1px solid #E3E3E3;
  padding: 16px 20px;
  background: #E8EFF5;
  color: #0F4675;
}
.svc .svc-compare__sub-plan{
  font-size: 0.9em;
}
.svc .svc-compare__td-plan-b{
  border: 1px solid #E3E3E3;
  padding: 16px 20px;
  background: #E8EFF5;
  color: #0F4675;
  font-weight: 700;
}
.svc .svc-compare__note{
  margin: 0;
  align-self: flex-start;
  font-size: 13px;
  line-height: 1.8;
  color: #555555;
}
.svc .svc-btn-wrap{
  display: flex;
  justify-content: center;
  width: 100%;
}
.svc .svc-btn__arrow{
  position: absolute;
  right: 1.6em;
}
.svc .svc-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: min(380px, 100%);
  box-sizing: border-box;
  padding: 1.1em 2.6em;
  border-radius: 999px;
  background: linear-gradient(90deg, #485991 0%, #1093CC 100%);
  color: #FFFFFF;
  font-weight: 700;
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-decoration: none;
}

/* 日本進出の基礎知識 --------------------------------------------------------------*/
.svc .svc-sec-basics{
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(36px, 5vw, 64px);
}
.svc .svc-basics__head{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(20px, 2.4vw, 28px);
}
.svc .svc-basics__nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.svc .svc-basics__nav-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 18px;
  border: 1px solid #C2D5E5;
  background: #FFFFFF;
  color: #0F4675;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}
.svc .svc-basics__block{
  width: 100%;
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.svc .svc-basics__ttl{
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-left: 16px;
  border-left: 4px solid #0D5A9C;
  line-height: 1.5;
}
.svc .svc-basics__ttl-main{
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 700;
}
.svc .svc-basics__ttl-sub{
  font-size: clamp(13px, 1.2vw, 15px);
  font-weight: 500;
  color: #555555;
}
.svc .svc-basics__lead{
  margin: 0;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2;
}
.svc .svc-scroll-hint-r{
  margin: 0 0 0.6em;
  align-self: flex-end;
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: clamp(0px, calc((790px - 100vw) * 1000), 13px);
  line-height: 1.6;
  color: #555555;
  font-weight: 500;
}
.svc .svc-form-table{
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 1.7;
  background: #FFFFFF;
  text-align: center;
}
.svc .svc-form-table__th-item{
  width: 16%;
  border: 1px solid #0F4675;
  background: #0F4675;
  color: #FFFFFF;
  padding: 14px 12px;
  font-weight: 700;
}
.svc .svc-form-table__th{
  width: 21%;
  border: 1px solid #0F4675;
  background: #0D5A9C;
  color: #FFFFFF;
  padding: 14px 12px;
  font-weight: 700;
}
.svc .svc-form-table__en{
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 0.9em;
}
.svc .svc-form-table__th-row{
  border: 1px solid #E3E3E3;
  background: #F2F5F8;
  color: #0F4675;
  padding: 14px 12px;
  font-weight: 700;
  text-align: left;
}
.svc .svc-form-table__mark{
  border: 1px solid #E3E3E3;
  padding: 12px;
  font-size: 22px;
  line-height: 1.3;
  color: #0D5A9C;
}
.svc .svc-form-table__mark-b{
  border: 1px solid #E3E3E3;
  padding: 12px;
  font-size: 22px;
  line-height: 1.3;
  color: #6A7581;
}
.svc .svc-form-table__td{
  border: 1px solid #E3E3E3;
  padding: 12px;
}
.svc .svc-form-table__small{
  font-size: 0.85em;
  color: #555555;
}
.svc .svc-form-table__td-use{
  border: 1px solid #E3E3E3;
  padding: 12px 14px;
  background: #F9FBFD;
  color: #0F4675;
  font-weight: 700;
  font-size: 0.95em;
}
.svc .svc-note{
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: #555555;
}
.svc .svc-basics__h{
  margin: 0;
  padding-left: 16px;
  border-left: 4px solid #0D5A9C;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 700 !important;
  line-height: 1.5;
}
.svc .svc-filing-table{
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 1.7;
  background: #FFFFFF;
}
.svc .svc-filing-table__th-1{
  width: 42%;
  border: 1px solid #0F4675;
  background: #0F4675;
  color: #FFFFFF;
  padding: 12px 16px;
  font-weight: 700;
  text-align: left;
}
.svc .svc-filing-table__th-2{
  width: 20%;
  border: 1px solid #0F4675;
  background: #0F4675;
  color: #FFFFFF;
  padding: 12px 16px;
  font-weight: 700;
  text-align: left;
}
.svc .svc-filing-table__th-3{
  width: 38%;
  border: 1px solid #0F4675;
  background: #0F4675;
  color: #FFFFFF;
  padding: 12px 16px;
  font-weight: 700;
  text-align: left;
}
.svc .svc-filing-table__th-row{
  border: 1px solid #E3E3E3;
  padding: 12px 16px;
  font-weight: 500;
  text-align: left;
}
.svc .svc-filing-table__td{
  border: 1px solid #E3E3E3;
  padding: 12px 16px;
}
.svc .svc-row-alt{
  background: #F6F7F8;
}
.svc .svc-badge-sr{
  display: inline-block;
  margin-left: 8px;
  font-size: 12px;
  line-height: 1.6;
  background: #E6F4F2;
  color: #0B6E65;
  padding: 1px 8px;
  border-radius: 999px;
  font-weight: 700;
}
.svc .svc-note-sm{
  font-size: 13px;
  line-height: 1.8;
  color: #555555;
}
.svc .svc-m0{
  margin: 0;
}
.svc .svc-bank{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: clamp(20px, 3.4vw, 36px);
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.6vw, 28px);
}
.svc .svc-bank__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 12px;
}
.svc .svc-bank__item{
  background: #F2F5F8;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.svc .svc-bank__name{
  font-weight: 700;
  font-size: 15px;
  line-height: 1.6;
  color: #0F4675;
}
.svc .svc-bank__period{
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1.2;
  color: #0F4675;
}
.svc .svc-bank__period-pre{
  font-size: 14px;
  font-weight: 500;
}
.svc .svc-bank__period-num{
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: clamp(30px, 3vw, 38px);
  color: #0D5A9C;
}
.svc .svc-bank__period-unit{
  font-size: 16px;
  font-weight: 700;
}
.svc .svc-bank__prep{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.svc .svc-bank__prep-ttl{
  margin: 0;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.6;
  color: #0F4675;
}
.svc .svc-bank__prep-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.svc .svc-bank__prep-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #C2D5E5;
  padding: 6px 16px;
  font-size: 14px;
  line-height: 1.6;
}
.svc .svc-basics__h-flex{
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  padding-left: 16px;
  border-left: 4px solid #0D5A9C;
  line-height: 1.5;
}
.svc .svc-schedule{
  list-style: none;
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  display: flex;
  flex-direction: column;
}
.svc .svc-schedule__item{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 20px;
  padding: 14px clamp(16px, 3vw, 28px);
  border-bottom: 1px solid #E9E9E9;
}
.svc .svc-schedule__date{
  flex: 0 0 auto;
  min-width: 9.5em;
  background: #E8EFF5;
  color: #0F4675;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  padding: 4px 12px;
  text-align: center;
}
.svc .svc-schedule__text{
  flex: 1 1 280px;
  font-size: clamp(14px, 1.251vw, 15px);
  line-height: 1.8;
}
.svc .svc-schedule__sub{
  color: #555555;
  font-size: 0.92em;
}
.svc .svc-schedule__date-key{
  flex: 0 0 auto;
  min-width: 9.5em;
  background: #0D5A9C;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  padding: 4px 12px;
  text-align: center;
}
.svc .svc-schedule__text-key{
  flex: 1 1 280px;
  font-size: clamp(14px, 1.251vw, 15px);
  line-height: 1.8;
  font-weight: 700;
}
.svc .svc-schedule__date-gray{
  flex: 0 0 auto;
  min-width: 9.5em;
  background: #F2F2F2;
  color: #333333;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  padding: 4px 12px;
  text-align: center;
}
.svc .svc-schedule__item-last{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 20px;
  padding: 14px clamp(16px, 3vw, 28px);
}
.svc .svc-basics__cta{
  width: 100%;
  max-width: 1000px;
  box-sizing: border-box;
  background: #F2F5F8;
  padding: clamp(28px, 4vw, 44px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
.svc .svc-basics__cta-ttl{
  margin: 0;
  font-weight: 700;
  font-size: clamp(15px, 1.7vw, 19px);
  color: #0F4675;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

/* 導入の流れ --------------------------------------------------------------*/
.svc .svc-flow{
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 880px;
  display: flex;
  flex-direction: column;
}
.svc .svc-flow__item{
  display: grid;
  grid-template-columns: clamp(60px, 7vw, 76px) minmax(0, 1fr);
  column-gap: clamp(14px, 3vw, 28px);
}
.svc .svc-flow__num{
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #0D5A9C;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: 'Poppins', sans-serif;
}
.svc .svc-flow__num-label{
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.svc .svc-flow__num-val{
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 600;
  margin-top: 3px;
}
.svc .svc-flow__line{
  flex-grow: 1;
  width: 1px;
  min-height: 24px;
  background: #89B4D9;
}
.svc .svc-flow__card{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: clamp(16px, 2.4vw, 22px) clamp(18px, 3vw, 28px);
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.svc .svc-flow__ttl{
  margin: 0;
  font-size: clamp(16px, 1.6vw, 19px);
  font-weight: 700 !important;
  line-height: 1.6;
  color: #0F4675;
}
.svc .svc-flow__text{
  margin: 0;
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 1.9;
}
.svc .svc-flow__card-last{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: clamp(16px, 2.4vw, 22px) clamp(18px, 3vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.svc .svc-flow__note{
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: #555555;
}

/* よくあるご質問 --------------------------------------------------------------*/
.svc .svc-faq{
  width: 100%;
  max-width: 1000px;
  background: #F2F2F2;
  padding: clamp(12px, 2.4vw, 28px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.svc .svc-faq__item{
  background: #FFFFFF;
}
.svc .svc-faq__q{
  width: 100%;
  display: flex;
  align-items: center;
  gap: clamp(12px, 2vw, 18px);
  padding: 18px clamp(14px, 3vw, 24px);
  background: #FFFFFF;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: #222222;
}
.svc .svc-faq__q-mark{
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: #0D5A9C;
  color: #FFFFFF;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc .svc-faq__q-text{
  flex-grow: 1;
  font-weight: 700;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.7;
}
.svc .svc-faq__toggle{
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: #0F4675;
  position: relative;
  display: block;
}
.svc .svc-faq__toggle-h{
  position: absolute;
  left: 6px;
  right: 6px;
  top: 11px;
  height: 2px;
  background: #FFFFFF;
}
.svc .svc-faq__toggle-v{
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 11px;
  width: 2px;
  background: #FFFFFF;
}
.svc .svc-faq__a{
  display: flex;
  gap: clamp(12px, 2vw, 18px);
  margin: 0 clamp(14px, 3vw, 24px);
  padding: 18px 0 22px;
  border-top: 1px dashed #E3E3E3;
}
.svc .svc-faq__a-mark{
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: #E8EFF5;
  color: #0D5A9C;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc .svc-faq__a-text{
  margin: 0;
  font-size: clamp(14px, 1.2vw, 15px);
  line-height: 1.9;
  color: #333333;
}
.svc .svc-link{
  color: #1E6FAD;
  text-decoration: underline;
}

/* お問い合わせ --------------------------------------------------------------*/
.svc .svc-sec-contact{
  background: #F2F5F8;
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, 3vw, 36px);
}
.svc .svc-contact{
  width: 100%;
  max-width: 1000px;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: clamp(28px, 4vw, 48px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 3vw, 28px);
  text-align: center;
}
.svc .svc-contact__text{
  margin: 0;
  max-width: 40em;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2;
}
.svc .svc-marker-b{
  background: linear-gradient(transparent 70%, #D0DCEF 30%);
  font-weight: 700;
}

/* 関連サービス・関連記事 --------------------------------------------------------------*/
.svc .svc-sec-related{
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(36px, 5vw, 56px);
}
.svc .svc-sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: 0;
}
.svc .svc-related{
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.svc .svc-related__ttl{
  margin: 0;
  font-size: clamp(17px, 1.8vw, 21px);
  font-weight: 700 !important;
  line-height: 1.6;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #E9E9E9;
}
.svc .svc-related__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 16px;
}
.svc .svc-related__text{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.svc .svc-related__org{
  font-size: 12px;
  color: #6A7581;
  line-height: 1.6;
}
.svc .svc-related__name{
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}
.svc .svc-related__arrow{
  flex-shrink: 0;
}
.svc .svc-related__link{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  padding: 20px 20px 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  color: #222222;
  text-decoration: none;
}
.svc .svc-articles{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: clamp(16px, 2.4vw, 32px);
}
.svc .svc-article__ttl{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
.svc .svc-sec-related-b{
  padding: clamp(56px, 8vw, 100px) 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.svc .svc-related-wide__band{
  flex: 0 1 320px;
  min-width: 0;
  min-height: 140px;
  background: #0D5A9C;
  color: #FFFFFF;
  clip-path: polygon(0 0, 100% 0, calc(100% - 32px) 100%, 0 100%);
  padding: 24px 56px 24px 28px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
.svc .svc-related-wide__en{
  font-weight: 100;
  font-size: 22px;
  line-height: 1.2;
  opacity: 0.6;
}
.svc .svc-related-wide__label{
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.svc .svc-related-wide__body{
  flex: 1 1 360px;
  padding: 24px clamp(20px, 3vw, 36px);
  display: flex;
  align-items: center;
  gap: 20px;
}
.svc .svc-related-wide__text{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.svc .svc-related-wide__name{
  font-size: clamp(17px, 1.7vw, 20px);
  font-weight: 700;
  line-height: 1.5;
}
.svc .svc-related-wide__desc{
  font-size: 14px;
  line-height: 1.8;
  color: #333333;
}
.svc .svc-related-wide__arrow{
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #0D5A9C;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc .svc-article{
  background: #FFFFFF;
  box-shadow: 0 3px 2em rgba(0,0,0,.1);
  padding: 1.6em 1.5em 2em;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #222222;
  text-decoration: none;
}
/* サムネイル：縦横比の違う画像でも枠（320:147）いっぱいにトリミングして表示 */
.svc .svc-article__thumb{
  width: 100%;
  aspect-ratio: 320 / 147;
  overflow: hidden;
  order: 3;
  margin-top: 6px;
}
.svc .svc-article__img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.svc .svc-related-wide{
  background: #FFFFFF;
  border: 1px solid #E3E3E3;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  color: #222222;
  text-decoration: none;
  box-shadow: 0 3px 2em rgba(0,0,0,.06);
}
