@charset "UTF-8";
/* lp-base を基にした、この顧客専用のスタイル。本番 edit.css の必要なルールを以下に抜粋。 */
:root{color-scheme:light;--blue:#255EAB;--cyan:#00BBD5;--ink:#222B3C;--accent:#DC3A65;--line:#dae3eb;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;min-width:320px;font-size:15px;line-height:1.95;overflow-wrap:anywhere}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none;transition:color .2s,background .2s}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}ul,ol{list-style:none;margin:0;padding:0}img{max-width:100%;vertical-align:middle}button{border:0}p+p{margin-top:20px}.en{font-family:"Outfit",sans-serif}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.material-symbols-outlined{font-family:"Material Symbols Outlined";font-size:24px;line-height:1;font-weight:300;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;display:inline-block}.skip-link{position:fixed;top:-80px;left:16px;background:white;z-index:300;padding:10px 20px}.skip-link:focus{top:10px}
header.header .menu-trigger,
header.header .mb_drawer {
  display: none;
}
header.header .header_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  height: 100%;
  width: 100%;
}
header.header .header_wrapper a.logo {
  margin: 0 0 0 20px;
  width: 20vw;
  max-width: 300px;
}
header.header .header_wrapper a.logo h1,
header.header .header_wrapper a.logo span {
  margin: 0;
  padding: 0;
}
header.header .header_wrapper a.logo h1 img,
header.header .header_wrapper a.logo span img {
  width: 100%;
  height: auto;
}
header.header .header_wrapper nav.header_mainmenu {
  background: #F5F8FA;
  border-radius: 50px;
  height: 60px;
  padding: 0 20px 0 30px;
  margin: 0 20px 0 0;
}
header.header .header_wrapper nav.header_mainmenu > ul {
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
header.header .header_wrapper nav.header_mainmenu > ul > li {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.menu-item {
  line-height: 1;
  font-size: 0.85rem;
  letter-spacing: 0.03rem;
  margin: 0 27px 0 0;
  transition: all 0.2s ease !important;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.menu-item > span,
header.header .header_wrapper nav.header_mainmenu > ul > li.menu-item > a {
  display: inline-block;
  transition: 0.3s;
  font-weight: 500;
  color: #222B3C;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.menu-item a img.line {
  filter: brightness(0) saturate(100%) invert(47%) sepia(66%) saturate(4339%) hue-rotate(92deg) brightness(103%) contrast(102%);
  width: 27px;
  height: 27px;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.menu-item:hover > span,
header.header .header_wrapper nav.header_mainmenu > ul > li.menu-item:hover > a {
  color: #00BBD5;
}
header.header .header_wrapper nav.header_mainmenu > ul > li:last-child.menu-item {
  margin: 0;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children {
  position: relative;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children > a {
  position: relative;
  padding-right: 13px;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children > a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  transition: all 0.3s;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children > a::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 10px;
  background: #222B3C;
  transition: all 0.3s;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children > a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 2px;
  background: #222B3C;
  transition: all 0.3s;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner {
  position: absolute;
  left: 0;
  top: 60px;
  z-index: 4;
  width: 300px;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  padding: 20px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 0.4px 1.2px rgba(0, 0, 0, 0.01), 0 1px 3.4px rgba(0, 0, 0, 0.015), 0 2.4px 8.1px rgba(0, 0, 0, 0.02), 0 8px 27px rgba(0, 0, 0, 0.03);
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-content: flex-start;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul > li {
  width: 100%;
  margin-bottom: 20px;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul > li:last-child {
  margin-bottom: 0;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul > li a {
  transition: 0.3s;
  font-size: 0.9rem;
  color: #222B3C;
  font-weight: 500;
  display: flex;
  align-items: center;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul > li a:after {
  color: #222B3C;
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
  content: "\f1df";
  width: 23px;
  height: 23px;
  border-radius: 50px;
  border: 1px solid #E0E0E0;
  font-size: 0.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul > li a:hover {
  color: #00BBD5;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children .has-children_inner > ul > li a:hover::after {
  color: #00BBD5;
  border-color: #00BBD5;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children:hover > a::after {
  opacity: 0;
  height: 0;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children:hover > a::before, header.header .header_wrapper nav.header_mainmenu > ul > li.has-children:hover > a::after {
  background: #30AAE2;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.has-children:hover > .has-children_inner, header.header .header_wrapper nav.header_mainmenu > ul > li.has-children:active > .has-children_inner {
  visibility: visible;
  opacity: 1;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.recruit a, header.header .header_wrapper nav.header_mainmenu > ul > li.contact a {
  border-radius: 50px;
  padding: 10px 30px;
  border: none;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.recruit a span, header.header .header_wrapper nav.header_mainmenu > ul > li.contact a span {
  color: #ffffff !important;
  line-height: 1;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  letter-spacing: 0.05rem;
  font-weight: 500;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.recruit {
  margin: 0 10px 0 -10px;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.recruit a {
  background: #00BBD5;
  border: 1px solid #00BBD5;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.recruit a:hover {
  background: white;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.recruit a:hover span {
  color: #00BBD5 !important;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.contact {
  margin: 0;
}
header.header .header_wrapper nav.header_mainmenu > ul > li.contact a {
  background: #255EAB;
  border: 1px solid #255EAB;
}

.footer_contact {
  margin: 80px auto !important;
  background: #EDF1F5;
  border-radius: 8px;
}
.footer_contact .footer_contact_inner {
  padding: 70px 50px;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content .section_title {
  flex-basis: 30%;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content .section_title h2,
.footer_contact .footer_contact_inner .footer_contact_inner_content .section_title span.en {
  color: #222B3C;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content p {
  flex-basis: 40%;
  font-size: 0.9rem;
  padding-right: 2%;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content .link {
  flex-basis: 30%;
  flex-direction: column;
  display: flex;
  justify-content: space-between;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content .link .contact_item {
  text-align: center;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content .link .contact_item:first-of-type {
  margin-bottom: 10px;
}
.footer_contact .footer_contact_inner .footer_contact_inner_content .link .contact_item > a.btn_blk, .footer_contact .footer_contact_inner .footer_contact_inner_content .link .svc-cta-block .contact_item > a.btn, .svc-cta-block .footer_contact .footer_contact_inner .footer_contact_inner_content .link .contact_item > a.btn, .footer_contact .footer_contact_inner .footer_contact_inner_content .link .contact_item > a.btn_blk_large {
  margin: 0;
}

footer.footer {
  margin: 0;
}
footer.footer .footer_above {
  border-bottom: 1px solid #E0E0E0;
}
footer.footer .footer_wrapper {
  padding: 80px 0 60px;
  position: relative;
}
footer.footer .footer_wrapper .pagetop {
  position: absolute;
  bottom: 60px;
  right: 0;
}
footer.footer .footer_wrapper .pagetop a span {
  color: #222B3C;
  font-size: 0.9rem;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
footer.footer .footer_wrapper .pagetop a span::before {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
  content: "\e5d8";
  margin: 0 5px 0 0;
}
footer.footer .footer_wrapper > div.footer_inner {
  display: flex;
  justify-content: space-between;
  margin: 0 0 40px;
}
footer.footer .footer_wrapper > div.footer_inner .company_info {
  flex-basis: 60%;
}
footer.footer .footer_wrapper > div.footer_inner .company_info h3 {
  display: block;
  width: 360px;
  margin-bottom: 30px;
}
footer.footer .footer_wrapper > div.footer_inner .company_info h3 img {
  width: 100%;
  height: auto;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .office_info {
  margin: 20px 0;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .office_info span {
  display: block;
  font-size: 0.8rem;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .office_info span.title {
  font-weight: 500;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .office_info span.address a {
  color: #255EAB;
  margin: 0 0 0 5px;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .office_info span.tel a {
  color: #222B3C;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .links {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 10px;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .links a {
  width: 150px;
  height: 70px;
  padding: 5px;
  border-radius: 8px;
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
  border: 1px solid rgba(0, 0, 0, 0.05);
}
footer.footer .footer_wrapper > div.footer_inner .company_info .links a:hover {
  opacity: 0.8;
  border-color: #255EAB;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .links a img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .btn_more_certs {
  display: inline-block;
  margin-top: 15px;
  padding: 0;
  height: auto;
  font-size: 0.8rem;
  color: #363636;
  border-bottom: 1px solid #363636;
  transition: color 0.3s ease;
}
footer.footer .footer_wrapper > div.footer_inner .company_info .btn_more_certs:hover {
  color: #255EAB;
  border-color: #255EAB;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap {
  flex-basis: 40%;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li {
  text-align: right;
  flex-basis: 48%;
  margin-bottom: 40px;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li a {
  color: #222B3C;
  font-weight: 500;
  font-size: 0.9rem;
  letter-spacing: 0.07rem;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li a span {
  display: block;
  transition: 0.3s all;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li a span.en {
  font-family: "Outfit", sans-serif;
  font-size: 1.5rem;
  line-height: 1;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li a span.ja {
  font-size: 0.8rem;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li a:hover {
  color: #00BBD5;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li a:hover span {
  color: #00BBD5;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap > ul li.small a {
  display: inline-block;
  font-size: 1rem;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links {
  margin-top: 50px;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 15px;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links ul li {
  margin-bottom: 0;
  flex-basis: auto;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.03);
  /* 淡いグレーの円 */
  transition: all 0.3s ease;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links ul li a img {
  width: 20px;
  height: auto;
  opacity: 0.6;
  /* 全体に馴染むように透過 */
  transition: all 0.3s ease;
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links ul li a:hover {
  background: rgba(0, 0, 0, 0.08);
  /* 少し濃く */
  transform: translateY(-2px);
  /* 少しだけ浮かす */
}
footer.footer .footer_wrapper > div.footer_inner .footer_sitemap .sns_links ul li a:hover img {
  opacity: 1;
  /* はっきりと見えるように */
}
footer.footer .footer_wrapper > div.copyright {
  display: flex;
  flex-wrap: wrap;
  row-gap: 8px;
  align-items: center;
}
footer.footer .footer_wrapper > div.copyright span {
  font-size: 0.7rem;
  color: #757575;
  letter-spacing: 0.07rem;
}
footer.footer .footer_wrapper > div.copyright a {
  font-size: 0.7rem;
  color: #757575;
  margin-left: 10px;
}
footer.footer .footer_wrapper > div.copyright a::before {
  content: "|";
  margin-right: 10px;
}


.btn_blk, .svc-cta-block .btn, .btn_blk_large {
  display: inline-block;
  letter-spacing: 0.1rem;
  padding: 0 4.5rem 0 1.4rem;
  text-align: center;
  text-decoration: none;
  background: #255EAB;
  transition: 0.3s;
  border-radius: 50px;
  margin: 0 auto;
  height: 50px;
  display: inline-block;
}
.btn_blk span, .svc-cta-block .btn span, .btn_blk_large span {
  position: relative;
  width: 100%;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 700;
  height: 100%;
  display: flex;
  align-items: center;
  transition: 0.3s;
  line-height: 1.5;
}
.btn_blk span::after, .svc-cta-block .btn span::after, .btn_blk_large span::after {
  position: absolute;
  right: -50px;
  top: 50%;
  transform: translateY(-50%);
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
  content: "";
  font-size: 0.9rem;
  padding: 0;
  line-height: 1;
  vertical-align: baseline;
  width: 10px;
  height: 10px;
  color: #255EAB;
  background: #ffffff;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;
  transition: 0.3s;
  flex-shrink: 0;
}
.btn_blk span.en, .svc-cta-block .btn span.en, .btn_blk_large span.en {
  font-family: "Outfit", sans-serif;
}
.btn_blk_white, .svc-cta-block .btn, .btn_blk_large_white {
  background: #ffffff;
}
.btn_blk_white span, .svc-cta-block .btn span, .btn_blk_large_white span {
  color: #255EAB;
}
.btn_blk_white span::after, .svc-cta-block .btn span::after, .btn_blk_large_white span::after {
  background: #255EAB;
  color: #ffffff;
}
/* 本番の構造・色・丸みを保ち、この下層ページ用にサイズと状態を補完。 */
header.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);height:100px;border-bottom:1px solid #edf1f5}header.header .header_wrapper nav.header_mainmenu>ul>li.menu-item{margin-right:21px;white-space:nowrap}header.header .header_wrapper a.logo{width:230px}header.header .header_wrapper a.logo span{display:block}header.header .header_cta{display:none}header.header .header_wrapper nav.header_mainmenu>ul>li.recruit{margin-right:10px}header.header .header_wrapper nav.header_mainmenu>ul>li.recruit a,header.header .header_wrapper nav.header_mainmenu>ul>li.contact a{padding:13px 20px}header.header .header_wrapper nav.header_mainmenu>ul>li.has-children>a{padding-right:0}header.header .header_wrapper nav.header_mainmenu>ul>li.has-children>a::before,header.header .header_wrapper nav.header_mainmenu>ul>li.has-children>a::after{display:none}.desktop-submenu-toggle{padding:4px;background:none;font-size:15px;line-height:1;margin-left:3px}header.header .header_wrapper nav.header_mainmenu>ul>li.has-children:focus-within>.has-children_inner,header.header .header_wrapper nav.header_mainmenu>ul>li.has-children.is-open>.has-children_inner{visibility:visible;opacity:1}.section_title{margin:0 0 30px}.section_title>.en{display:block;font-size:17px;font-weight:500;letter-spacing:.05em;color:#00869e;margin-bottom:12px}.section_title h2{font-size:clamp(24px,2.3vw,34px);line-height:1.65;font-weight:700;letter-spacing:.04em}.hero{padding-bottom:88px;background:linear-gradient(170deg,#fff 40%,#F5F8FA)}.breadcrumb{display:flex;gap:14px;align-items:center;padding:24px 0;color:#647083;font-size:11px;letter-spacing:.06em}.breadcrumb a{font-family:"Outfit",sans-serif}.page-heading{padding:30px 0 46px}.page-heading>.en{font-size:clamp(34px,4.8vw,66px);line-height:1.15;letter-spacing:-.025em;background:linear-gradient(120deg,#255eab,#00bbd5);color:#255eab;background-clip:text;-webkit-text-fill-color:transparent}.page-heading h1{font-size:20px;letter-spacing:.13em;margin-top:14px}.vision-cover{position:relative;isolation:isolate;overflow:hidden;min-height:595px;padding:36px 54px 30px;background:linear-gradient(115deg,#003D78 10%,#005e87 63%,#008899);color:#fff;border-radius:16px}.vision-cover::before,.vision-cover::after{content:"";position:absolute;z-index:-1;border:1px solid #ffffff28;border-radius:50%;width:690px;height:690px;right:-300px;top:55px}.vision-cover::after{width:490px;height:490px;right:-200px;top:155px;box-shadow:0 0 0 110px #ffffff04,0 0 0 220px #ffffff03}.cover-top{display:flex;justify-content:space-between;gap:20px;letter-spacing:.14em;font-size:12px;color:#c7e9f2}.cover-content{padding:42px 0 45px;max-width:1000px}.cover-title{font-size:16px;letter-spacing:.05em;margin-bottom:24px}.cover-catch{font-size:clamp(23px,2.65vw,38px);font-weight:600;line-height:1.85;letter-spacing:.04em}.cover-catch .times{font-family:"Outfit",sans-serif;color:#57e0e9;font-size:29px}.cover-sub{margin-top:28px;color:#e3eff6;font-size:14px;max-width:640px;line-height:2}.cover-scroll{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-top:1px solid #ffffff36;padding-top:18px;color:#d2e9ee;letter-spacing:.08em}.cover-scroll:hover{color:#fff}.cover-scroll>span:last-child{font-size:25px}.toc{padding:60px 0 86px}.toc-layout{display:grid;grid-template-columns:280px 1fr;gap:55px}.toc .section_title>.en{font-size:36px;color:var(--blue)}.toc .section_title h2{font-size:17px;font-weight:500;max-width:240px}.toc-list>li{border-bottom:1px solid var(--line)}.toc-list>li:first-child{border-top:1px solid var(--line)}.toc-list a{display:flex;align-items:center;gap:22px;padding:23px 4px;font-size:14px;line-height:1.8}.toc-list a:hover{color:#007891;background:#F5F8FA}.toc-num{font-size:27px;color:#0099b2;line-height:1;white-space:nowrap;min-width:2ch;flex-shrink:0}
.toc-list a>span:nth-child(2){min-width:0}.toc-arrow{margin-left:auto;color:#0099b2;flex-shrink:0}.policy-section{padding:100px 0 104px}.tone-soft{background:#F5F8FA}.tone-pale{background:#EDF1F5}.tone-white{background:#fff}.section-heading{display:flex;gap:32px;align-items:flex-start;margin-bottom:44px}.section-heading .section_title{margin-bottom:0;max-width:950px}.chapter-number{font-size:76px;line-height:1;font-weight:400;color:#00a5bd;letter-spacing:-.06em;padding-top:5px;min-width:87px;white-space:nowrap;flex-shrink:0}.source-page{font-size:15px;line-height:2.1}.source-page+.source-page{margin-top:54px;padding-top:44px;border-top:1px solid var(--line)}.source-page>p{max-width:1000px;margin-bottom:22px}.source-page>p:last-child{margin-bottom:0}.subheading{font-size:22px;line-height:1.7;margin-bottom:28px;color:var(--blue)}.statement{padding:26px 30px;border-left:3px solid var(--cyan);background:#e5f2f6;font-size:18px;font-weight:600;color:#134b72;margin-top:28px!important;max-width:none!important}.source-note{font-size:12px;line-height:1.9;color:#566473;margin-top:24px!important;margin-bottom:0!important}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.card{min-width:0;padding:28px;background:#fff;border:1px solid var(--line);border-radius:12px;position:relative}.card h4{font-size:17px;color:var(--blue);font-weight:600;margin-bottom:12px;line-height:1.8}.card p{font-size:14px;line-height:2}.joiner{font-size:12px;color:#65788a}.joiner:empty{display:none}.card>.joiner:not(:empty){display:block;margin-bottom:8px}.strength-card{margin-top:18px}.strength-card .card{border-top:3px solid #00a9c5;padding:30px 34px}.strength-card .card h4{font-size:21px}.page-4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.page-4>p{grid-column:1/-1}.page-4 .strength-card{margin:0}.page-4 .card{height:100%}.page-4>p:last-child{margin-top:12px;text-align:center;font-weight:600;color:var(--blue)}.list-label{font-size:16px;font-weight:600;margin-top:22px}.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 32px}.chips .card{border-radius:7px;padding:15px 18px;display:flex;align-items:baseline;gap:5px}.chips .card p{font-size:14px;font-weight:500}.chips .card>.joiner{margin:0;flex-shrink:0;color:#c1ced8}.comparison{padding:26px 30px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:18px 0}.comparison .list-label{margin-top:0;color:#637286}.comparison .chips{margin-bottom:0}.comparison.positive{border-color:#6fcbd8;background:#eefbfc}.comparison.positive .list-label{color:#007388}.flow-row{padding:28px;border:1px solid var(--line);background:#fff;border-radius:12px;margin:20px 0}.flow-label{font-size:14px;color:#637083;font-weight:700;margin-bottom:18px}.flow{display:flex;align-items:center;gap:12px}.flow-node{display:flex;align-items:center;justify-content:center;flex:1;background:#EDF1F5;padding:18px 12px;border-radius:8px;font-weight:600;text-align:center;line-height:1.8;font-size:14px}.flow-arrow{color:#8092a0;font-size:20px;flex-shrink:0}.future{border-color:#5cc0d3;background:#f0fbfd}.future .flow-label{color:#007b93}.future .flow-node{background:#255EAB;color:#fff}.agent-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.agent-grid .card{display:block;min-height:100px;border-top:2px solid #b8dce7;padding:18px 14px}.agent-grid .card:nth-child(-n+3){background:#e8f8fb;border-top-color:#00a9c5}.agent-grid .card p{font-size:13px}.schedule{margin-top:18px}.schedule .card{background:linear-gradient(110deg,#003d78,#008899);border:0;color:#fff;padding:28px 34px}.schedule h4{font-size:21px;color:#fff}.schedule .card p{color:#e7f5f8}.research{margin-top:18px}.research h4{font-size:18px}.research .card{padding:30px 34px}.research .card p{font-size:14px}.review-box{display:flex;align-items:flex-start;gap:16px;background:#fff0f4;border:1px solid #e992aa;border-left:5px solid var(--accent);padding:22px 24px;border-radius:8px;margin-bottom:34px;color:#9c2344}.review-box p{font-size:13px;line-height:1.9}.review-badge{background:var(--accent);color:#fff;border-radius:4px;padding:4px 12px;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.8;flex-shrink:0}.brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.brand-grid .card{border-bottom:3px solid var(--cyan)}.brand-grid .card p{font-size:18px;line-height:1.9;font-weight:600;color:var(--blue)}.page-21{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.page-21 .source-note{grid-column:1/-1}.strategy-card .card{height:100%;border-top:3px solid var(--cyan)}.level-row{display:grid;grid-template-columns:66px 310px 1fr;gap:25px;align-items:center;padding:25px 28px;background:#fff;border-bottom:1px solid var(--line)}.level-row:nth-of-type(2){border-radius:12px 12px 0 0}.level{font-family:"Outfit",sans-serif;font-size:34px;font-weight:500;color:#0098b6}.level-row h4{font-family:"Outfit",sans-serif;font-size:20px;color:var(--blue);font-weight:500;line-height:1.5}.level-row p{font-size:14px;line-height:1.9}.healthcare-band{background:linear-gradient(110deg,#003d78,#008899);color:#fff;font-weight:600;border-radius:0 0 10px 10px;padding:20px 28px;font-size:16px;max-width:none!important}.product-card{margin-top:12px}.product-card .card{display:flex;align-items:center;gap:25px;padding:24px 28px}.product-card .card h4{width:220px;flex-shrink:0;margin:0;font-family:"Outfit",sans-serif;font-size:22px}.fees{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:28px 0 24px}.fees .card{padding:24px 18px;border-top:3px solid var(--cyan)}.fees .card p{font-size:14px;line-height:1.9}.department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.department-grid .card p{font-size:16px;font-weight:500}.career-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.career-grid .card{border-top:3px solid var(--cyan)}.career-grid h4{font-family:"Outfit",sans-serif;font-size:24px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin:35px 0}.metric{grid-column:span 2;background:#fff;border-radius:12px;padding:30px 26px;border:1px solid var(--line)}.metric:nth-child(-n+2){grid-column:span 3}.metric .joiner{color:#8799a9;font-size:12px}.metric h4{font-size:14px;font-weight:500;margin:10px 0}.metric p{font-family:"Outfit","Noto Sans JP",sans-serif;font-size:clamp(25px,2.7vw,38px);color:var(--blue);font-weight:500;line-height:1.4;letter-spacing:-.04em}.metric:nth-child(-n+2) p{font-size:48px}.metric:nth-child(1){background:linear-gradient(120deg,#003d78,#008899);color:#fff}.metric:nth-child(1) p,.metric:nth-child(1) .joiner{color:#fff}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0}.action-grid .card{display:flex;gap:8px;align-items:baseline;padding:22px 25px}.action-grid .card p{font-size:15px;font-weight:500}.action-grid .joiner{margin-bottom:0!important;color:#a7b6c4}.roadmap-row{display:grid;grid-template-columns:150px 1fr;gap:40px;border-top:1px solid var(--line);padding:32px 12px;align-items:start;position:relative}.roadmap-year{font-family:"Outfit",sans-serif;font-size:51px;line-height:1.25;font-weight:500;color:var(--blue);letter-spacing:-.04em}.roadmap-row h4{font-size:21px;font-weight:600;margin-bottom:10px}.roadmap-row p{color:#536779;font-size:15px}.roadmap-row:last-of-type{border-bottom:1px solid var(--line);margin-bottom:28px}.roadmap-row:last-of-type .roadmap-year{color:#008999}.closing-section{background:linear-gradient(115deg,#003d78,#008899);color:#fff}.closing-section .section_title>.en{color:#88e6ed;font-size:19px}.closing-section .section_title h2{font-family:"Outfit",sans-serif;font-size:36px;font-weight:500}.closing-section .section-heading{margin-bottom:28px}.page-33>p:first-child{font-size:clamp(23px,2.6vw,34px);line-height:2;font-weight:500}.internal-message{padding:30px;background:#ffffff0c;border:1px solid #ffffff30;border-radius:12px;margin:35px 0}.internal-message .review-box{margin-bottom:22px}.closing-words{font-size:24px;line-height:1.9;font-weight:500}.page-33>p:last-child{font-size:14px;color:#cfebee;margin-top:28px}.fade{opacity:1;visibility:visible}.fade.is-seen{animation:gentle-in .45s ease-out}@keyframes gentle-in{from{transform:translateY(8px)}to{transform:translateY(0)}}.footer_contact .section_title>.en{font-size:40px;line-height:1.1}.footer_contact .section_title h2{font-size:17px}.footer_contact .footer_contact_inner .footer_contact_inner_content{gap:20px}.footer_contact .footer_contact_inner .footer_contact_inner_content p{line-height:2}.btn_blk{white-space:nowrap}.btn_blk:hover{background:var(--ink);color:white}.btn_blk:hover span{color:#fff}.btn_blk:hover span::after{background:white}.footer .address a{color:var(--blue)}.footer .links a{overflow:hidden}.footer .copyright{padding-right:115px}.footer .pagetop a:hover{color:var(--cyan)}
@media(min-width:1500px){header.header .header_wrapper a.logo{width:275px}}
@media(max-width:1250px){header.header .header_wrapper nav.header_mainmenu>ul>li.menu-item{margin-right:14px;font-size:12px}header.header .header_wrapper a.logo{width:190px}header.header .header_wrapper nav.header_mainmenu{padding-left:20px;padding-right:12px}header.header .header_wrapper nav.header_mainmenu>ul>li.recruit a,header.header .header_wrapper nav.header_mainmenu>ul>li.contact a{padding:12px 14px}.flow{gap:7px}.flow-node{padding:16px 8px}}
@media(max-width:1050px){header.header{height:80px}header.header .header_wrapper a.logo{width:230px;margin-left:24px}header.header .header_wrapper nav.header_mainmenu{display:none}header.header .menu-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin-right:14px;z-index:105;cursor:pointer;flex-shrink:0}header.header .header_wrapper{padding-right:90px}header.header .menu-trigger{position:absolute;right:0;top:5px}.menu-trigger-lines{width:30px}.menuline{display:block;height:1px;background:var(--blue);margin-bottom:8px;transition:transform .2s}.txt{display:block;font-family:"Outfit",sans-serif;font-size:9px;line-height:1;text-align:center;letter-spacing:.15em;color:var(--blue)}.menu-open .menuline:first-child{transform:translateY(5px) rotate(45deg)}.menu-open .menuline:nth-child(2){transform:translateY(-4px) rotate(-45deg)}header.header .mb_drawer{position:fixed;inset:80px 0 0;background:#fff;overflow-y:auto;padding:30px 36px 50px;z-index:101}header.header .mb_drawer[aria-hidden=false]{display:block}body.menu-open{overflow:hidden}.mb_drawer_header{display:none}.mb_drawer_menu>.menu-item{border-bottom:1px solid var(--line)}.mb_drawer_menu>.menu-item>a,.menu-item-main>a{display:flex;align-items:baseline;gap:20px;padding:21px 0}.mb_drawer_menu .en{font-size:22px;color:var(--blue)}.mb_drawer_menu .jp{font-size:12px}.menu-item-main{display:flex;justify-content:space-between;align-items:center}.submenu-toggle{cursor:pointer;padding:12px;display:flex;line-height:1}.submenu-toggle .icon-remove{display:none}.submenu-toggle[aria-expanded=true] .icon-add{display:none}.submenu-toggle[aria-expanded=true] .icon-remove{display:inline-block}.submenu{display:none}.submenu.is-open{display:block}.submenu li a{display:block;padding:13px 16px;font-size:14px;border-top:1px solid #edf1f5}.mb_drawer_subitem{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.mb_drawer_subitem>a{background:#e9f5f9;border-radius:8px;padding:18px;text-align:center}.mb_drawer_subitem_title,.mb_drawer_subitem_content{display:block}.mb_drawer_subitem_title{font-family:"Outfit",sans-serif;font-size:22px;color:var(--blue)}.mb_drawer_subitem_content{font-size:13px}.mb_drawer_number>li{border-top:1px solid var(--line);padding:20px 0}.mb_drawer_number span{display:block}.mb_drawer_number .title{font-weight:600}.mb_drawer_number .address,.mb_drawer_number .cap{font-size:12px}.mb_drawer_number .number{font-family:"Outfit",sans-serif;font-size:28px;color:var(--blue)}.small_list a{display:block;font-size:12px;padding:5px 0}.wrap{width:calc(100% - 64px)}.toc-layout{grid-template-columns:210px 1fr;gap:35px}.agent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-4{grid-template-columns:1fr}.page-21{grid-template-columns:1fr}.fees{grid-template-columns:repeat(3,minmax(0,1fr))}.level-row{grid-template-columns:50px 1fr;gap:10px 20px}.level-row p{grid-column:2}.flow{flex-wrap:wrap}.flow-node{min-width:120px}.footer_contact .footer_contact_inner .footer_contact_inner_content{flex-wrap:wrap}.footer_contact .footer_contact_inner .footer_contact_inner_content .section_title{flex-basis:100%}.footer_contact .footer_contact_inner .footer_contact_inner_content p{flex-basis:55%}.footer_contact .footer_contact_inner .footer_contact_inner_content .link{flex-basis:40%}}
@media(max-width:700px){body{font-size:14px;line-height:1.95}html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}header.header{height:72px}header.header .header_wrapper a.logo{width:205px;margin-left:20px}header.header .menu-trigger{height:62px;width:60px;margin-right:5px}header.header .mb_drawer{top:72px;padding:18px 24px 40px}.hero{padding-bottom:40px}.breadcrumb{padding:16px 0;font-size:10px}.page-heading{padding:23px 0 30px}.page-heading>.en{font-size:38px;letter-spacing:-.045em}.page-heading h1{font-size:17px;margin-top:10px}.vision-cover{border-radius:12px;min-height:0;padding:24px 24px 20px}.cover-top{font-size:9px;letter-spacing:.09em;gap:10px}.cover-content{padding:30px 0}.cover-title{font-size:12px;line-height:2.1;margin-bottom:25px}.cover-catch{font-size:21px;line-height:1.85;letter-spacing:0}.cover-catch .times{font-size:20px}.cover-sub{font-size:12px;margin-top:26px}.cover-scroll{font-size:10px}.vision-cover::before{right:-550px;top:60px}.vision-cover::after{right:-390px;top:160px}.toc{padding:38px 0 50px}.toc-layout{display:block}.toc .section_title{margin-bottom:25px}.toc .section_title>.en{font-size:30px}.toc .section_title h2{max-width:none;font-size:14px}.toc-list a{font-size:12px;gap:15px;padding:20px 0}.toc-num{font-size:24px}.policy-section{padding:60px 0}.section-heading{gap:18px;margin-bottom:30px}.chapter-number{font-size:47px;min-width:50px;padding-top:3px}.section_title>.en{font-size:12px;line-height:1.4;margin-bottom:9px}.section_title h2{font-size:21px;line-height:1.75;letter-spacing:.015em}.source-page{font-size:14px;line-height:2}.source-page+.source-page{margin-top:34px;padding-top:32px}.subheading{font-size:19px;margin-bottom:23px}.cards,.brand-grid,.department-grid,.career-grid{grid-template-columns:1fr;gap:12px}.card{padding:23px}.card h4{font-size:16px}.card p{font-size:13px}.chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px}.chips .card{padding:12px 10px}.chips .card p{font-size:12px}.strength-card .card{padding:24px}.strength-card .card h4{font-size:19px}.page-4{gap:16px}.statement{padding:22px;font-size:16px}.comparison{padding:23px 18px}.comparison .chips{grid-template-columns:1fr}.flow-row{padding:22px 18px}.flow{flex-direction:column;gap:4px}.flow-node{width:100%;padding:15px}.flow-arrow{transform:rotate(90deg);height:30px;line-height:30px}.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-grid .card{padding:15px 10px;min-height:93px}.agent-grid .card p{font-size:12px}.agent-grid .card:last-child{grid-column:1/-1}.schedule .card{padding:24px}.schedule h4{font-size:18px}.review-box{display:block;padding:18px;border-left-width:4px;margin-bottom:26px}.review-badge{display:inline-block;margin-bottom:10px;font-size:12px}.review-box p{font-size:12px}.research .card{padding:23px}.research h4{font-size:16px}.research .card p{font-size:13px}.brand-grid .card p{font-size:17px}.level-row{padding:22px 18px;grid-template-columns:44px 1fr;gap:6px 14px}.level{font-size:29px}.level-row h4{font-size:18px}.level-row p{font-size:12px}.healthcare-band{font-size:13px;padding:20px}.product-card .card{display:block;padding:22px}.product-card .card h4{font-size:21px;width:auto;margin-bottom:12px}.fees{grid-template-columns:1fr;gap:10px}.fees .card{padding:20px 24px}.fees .card p{font-size:14px}.department-grid .card p{font-size:14px}.career-grid h4{font-size:21px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.metric,.metric:nth-child(-n+2){grid-column:auto;padding:22px 18px}.metric:first-child{grid-column:1/-1}.metric:last-child{grid-column:1/-1}.metric h4{font-size:12px}.metric p,.metric:nth-child(-n+2) p{font-size:26px}.metric:first-child p{font-size:40px}.action-grid{grid-template-columns:1fr;gap:10px}.action-grid .card{padding:19px}.action-grid .card p{font-size:13px}.roadmap-row{grid-template-columns:78px 1fr;gap:20px;padding:28px 0}.roadmap-year{font-size:33px}.roadmap-row h4{font-size:17px}.roadmap-row p{font-size:12px}.closing-section .section_title h2{font-size:30px}.page-33>p:first-child{font-size:23px;line-height:2}.internal-message{padding:20px;margin:28px 0}.closing-words{font-size:19px}.page-33>p:last-child{font-size:12px}.footer_contact{margin:45px auto!important}.footer_contact .footer_contact_inner{padding:32px 24px}.footer_contact .footer_contact_inner .footer_contact_inner_content{display:block}.footer_contact .section_title>.en{font-size:34px}.footer_contact .footer_contact_inner .footer_contact_inner_content p{padding:0;font-size:13px;margin:20px 0 24px}.footer_contact .footer_contact_inner .footer_contact_inner_content .link{display:block}.btn_blk{max-width:100%;font-size:12px}.btn_blk span{font-size:12px}footer.footer .footer_wrapper{padding:40px 0 80px}footer.footer .footer_wrapper>div.footer_inner{display:block}footer.footer .footer_wrapper>div.footer_inner .company_info h3{width:260px;max-width:100%;margin-bottom:26px}footer.footer .footer_wrapper>div.footer_inner .company_info .office_info{margin:22px 0}footer.footer .footer_wrapper>div.footer_inner .company_info .office_info span{font-size:12px}footer.footer .footer_wrapper>div.footer_inner .company_info .links{gap:10px}footer.footer .footer_wrapper>div.footer_inner .company_info .links a{width:calc(50% - 5px);height:65px}footer.footer .footer_wrapper>div.footer_inner .footer_sitemap{margin-top:42px}footer.footer .footer_wrapper>div.footer_inner .footer_sitemap>ul li{text-align:left;margin-bottom:28px}footer.footer .footer_wrapper>div.footer_inner .footer_sitemap>ul li a span.en{font-size:22px}footer.footer .footer_wrapper>div.footer_inner .footer_sitemap .sns_links{margin-top:8px}footer.footer .footer_wrapper>div.footer_inner .footer_sitemap .sns_links ul{justify-content:flex-start}footer.footer .footer_wrapper>div.copyright{display:block;padding-right:0}footer.footer .footer_wrapper>div.copyright a{display:block;margin:10px 0 0}footer.footer .footer_wrapper>div.copyright a::before{display:none}footer.footer .footer_wrapper .pagetop{bottom:22px;right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{header.header,.toc,.footer_contact,.footer,.cover-scroll,.skip-link{display:none!important}.wrap{width:100%}.policy-section{padding:25px 0;break-inside:auto}.card,.review-box,.roadmap-row{break-inside:avoid}.vision-cover,.closing-section{background:#fff;color:#222B3C}.cover-top,.cover-sub,.cover-scroll,.page-33>p:last-child{color:#222B3C}.fade{opacity:1!important}}
/* 3本柱の見出しはカード列全体にまたがって表示する。 */
.page-21 > .subheading{grid-column:1/-1}
/* 原文の区切り文字は読み上げ用に保持し、カードのレイアウトから外す。 */
:is(.card,.metric) > .joiner:not(:empty){
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px!important;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
/* ラベルをハンバーガーの線幅に合わせたまま1行に保つ。 */
#scrollMenu .txt{white-space:nowrap;letter-spacing:.1em}
