.page-head{padding:calc(72px + 72px) 0 0;text-align:center}
:root{--gap-break:56px;
  --tool-gap:calc(var(--gap-break) / 3);
  --lead-gap:48px;
  --head-gap:56px}
main > .page-body{padding:var(--head-gap) 0 110px}
.ph-hero + .page-body{padding-top:var(--gap-break)}
main > .page-body:has(.news-filter){padding-top:var(--head-gap)}
.page-lead{max-width:820px;margin:0 auto var(--lead-gap);text-align:center;
  font-size:var(--fs-xl);line-height:2;color:var(--heading-navy)}
.news-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:var(--gap-break)}
.news-filter a{display:inline-flex;align-items:center;justify-content:center;min-width:132px;
  padding:9px 20px;border:1px solid var(--line);border-radius:var(--pill);background:var(--white);
  font-size:var(--fs-s);letter-spacing:.08em;color:var(--ink);transition:var(--dur)}
.news-filter a:hover{border-color:var(--gold-l);color:var(--gold)}
.news-filter a[aria-current="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.filter-select{display:none}
.filter-select select,
.filter-select option{font-size:var(--fs-xl)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .filter-select.sv-select{background:var(--paper)}
}
.news-archive{max-width:900px;margin:0 auto;
  --row-h:calc(26px * 2 + var(--fs-m) * 1.9 + 1px)}
.news-archive .news-list:has(> li){min-height:calc(1px + var(--row-h) * 5)}
.news-archive .news-list li{border-bottom:1px solid var(--line)}
.news-archive .news-list li:first-child{border-top:1px solid var(--line)}
.news-archive .news-item{grid-template-columns:var(--news-cols);
  align-items:center;padding:26px 8px}
.news-archive .news-item p{color:var(--heading-navy);transition:var(--dur)}
.news-archive .news-list a:hover{background:rgba(var(--white-rgb),.55)}
.news-archive .news-list a:hover p{color:var(--gold)}
.news-empty{min-height:calc(1px + var(--row-h) * 5);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:8px;text-align:center;font-size:var(--fs-m);
  line-height:2.2;color:var(--gray)}
.news-empty a{display:block;margin-top:8px;font-size:var(--fs-s);letter-spacing:.06em;
  color:var(--heading-navy);transition:color var(--dur-s)}
.news-empty a:hover{color:var(--gold)}
.pager .pager-count{display:none}
.pager[hidden]{display:none}
.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:56px;
  font-family:var(--font-en);font-size:var(--fs-s);letter-spacing:.06em}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-s);
  background:var(--white);color:var(--ink);transition:var(--dur)}
.pager a:hover{border-color:var(--gold-l);color:var(--gold)}
.pager [aria-current="page"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.pager .ellipsis{border:0;background:transparent;min-width:0;padding:0 4px;color:var(--gray)}
.pager .nav{padding:0}
.pager .nav::before{content:"";box-sizing:border-box;width:7px;height:7px;
  border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
.pager .prev::before{transform:rotate(-135deg);margin-left:3px}
.pager .next::before{transform:rotate(45deg);margin-right:3px}
.pager .is-disabled{color:var(--line);cursor:default}
.article{max-width:760px;margin:0 auto}
.article-head{border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:44px}
.article-meta{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.article-meta time{font-family:var(--font-en);font-size:var(--fs-m);color:var(--gray);letter-spacing:.1em}
.article h1{font-family:var(--font-jp);font-size:clamp(22px,2.6vw,30px);font-weight:500;color:var(--heading-navy);line-height:1.6}
.article-body{font-size:var(--fs-l);line-height:2.1;color:var(--ink)}
.article-body > * + *{margin-top:1.8em}
.article-body h2{font-family:var(--font-jp);font-size:var(--fs-xl);font-weight:700;color:var(--heading-navy);line-height:1.8;margin-top:2.4em}
.article-body h2::before{content:"■";margin-right:.2em;color:var(--gold)}
.article-body .lead{font-weight:700;color:var(--heading-navy)}
.article-body h3{font-family:var(--font-jp);font-size:var(--fs-2xl);font-weight:500;color:var(--heading-navy);margin-top:2.2em}
.article-body a{color:var(--gold);border-bottom:1px solid currentColor}
.article-body ul,.article-body ol{padding-left:1.4em}
.article-body li + li{margin-top:.6em}
.article-body img{display:block;max-width:100%;height:auto;border-radius:var(--r-m);margin-left:auto;margin-right:auto}
@media(min-width:801px){
  .article-body figure.is-mark img{max-width:70%}
}
.article-body figcaption{margin-top:10px;font-size:var(--fs-s);color:var(--gray);text-align:center}
.article-body .signature{margin-top:2.6em;text-align:right;font-size:var(--fs-m);line-height:1.9;color:var(--heading-navy)}
.article-nav{max-width:760px;margin:70px auto 0;padding-top:34px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:20px}
.article-nav a{font-size:var(--fs-s);letter-spacing:.06em;color:var(--ink);transition:var(--dur)}
.article-nav a:hover{color:var(--gold)}
.article-nav .prev::before{content:"←";margin-right:8px;color:var(--gold)}
.article-nav .next::after{content:"→";margin-left:8px;color:var(--gold)}
.article-nav .is-empty{color:var(--line);pointer-events:none}
.article-nav .to-index{font-size:var(--fs-s);letter-spacing:.12em;color:var(--heading-navy)}

@media(max-width:800px){
  .page-lead{font-size:var(--fs-l);text-align:left}
  .form-intro > .page-lead{text-align:center}
  .page-head{padding:calc(82px + 56px) 0 0}
  :root{--gap-break:72px;--lead-gap:36px}
  main > .page-body{padding:var(--head-gap) 0 82px}
  .article-nav{gap:8px}
  .article-nav a{font-size:var(--fs-xs)}
  .article-nav .to-index{font-size:var(--fs-xs)}
}
@media(max-width:560px){
  .page-head{padding:calc(82px + 40px) 0 0}
  main > .page-body{padding-bottom:56px}
  .article-body{line-height:2}
  .article-nav{margin-top:52px}
  .news-archive .news-list:has(> li){min-height:0}
  .news-empty{min-height:0}
  .news-archive .news-item{grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"date cat" "text text";gap:10px 14px;padding:20px 4px}
  .news-filter{display:none}
  .filter-select{display:block}
  .news-select{margin-bottom:var(--tool-gap);
    scroll-margin-top:calc(82px + 78px)}
  .filter-select.field select{padding-top:9px;padding-bottom:9px}
  .pager a[data-page]:not(.nav),
  .pager [aria-current="page"],
  .pager .ellipsis{display:none}
  .pager{gap:16px;margin-top:42px}
  .pager .nav{min-width:48px;height:48px}
  .pager .pager-count{display:inline-flex;border:0;background:transparent;min-width:0;
    padding:0;font-family:var(--font-en);font-size:var(--fs-m);letter-spacing:.1em;
    color:var(--gray)}
}
.news-noscript{padding:26px 8px;color:var(--gray);font-size:var(--fs-m);text-align:center}
.policy{max-width:820px}
.policy .article-body h2{font-size:var(--fs-2xl);font-weight:500;margin-top:3em;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.policy .article-body h2::before{content:none}
.policy .article-body .note{font-size:var(--fs-m);line-height:1.9;color:var(--gray)}
.policy-toc{margin:var(--lead-gap) 0 12px;padding:26px 36px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-m)}
.policy-toc-t{font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;
  color:var(--gold);margin-bottom:14px}
.policy-toc ol{margin:0;padding-left:0;list-style:none;
  columns:2;column-gap:36px}
.policy-toc li{break-inside:avoid;margin-top:0}
.policy-toc a{display:block;padding:7px 0;font-size:var(--fs-m);line-height:1.7;
  color:var(--ink);border-bottom:0;transition:color var(--dur-s)}
.policy-toc a:hover{color:var(--gold)}
.policy .article-body h2[id]{scroll-margin-top:88px}
.policy-contact{padding:30px 36px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-m)}
.policy-contact p{font-size:var(--fs-l);line-height:2.1;color:var(--ink)}
.policy-contact p + p{margin-top:.6em}
.policy-contact .policy-company{font-weight:500;color:var(--heading-navy)}
.policy-contact a{color:var(--heading-navy)}
.policy-contact a:hover{color:var(--gold)}

@media(max-width:560px){
  .policy-contact{padding:24px 22px}
  .policy-toc{padding:22px 22px}
  .policy-toc ol{columns:1}
  .policy-toc a{padding:10px 0}
}
.page-t{font-family:var(--font-jp);font-size:clamp(24px,3vw,34px);font-weight:500;
  color:var(--heading-navy);line-height:1.5;margin-top:10px}
.faq-list.is-page{max-width:820px;margin:0 auto}
.faq-cta{margin-top:56px;text-align:center}

@media(max-width:560px){
  .faq-cta{display:none}
}
.history{max-width:820px;margin:0 auto;
  --axis:182px;
  --dot-y:calc(26px + 15px * 1.9 / 2)}
.history .row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 64px;
  position:relative;padding:26px 0}
.history .row + .row{border-top:1px solid var(--line)}
.history dt{font-size:var(--fs-l);font-weight:500;color:var(--heading-navy);letter-spacing:.04em;line-height:1.9}
.history dd{font-size:var(--fs-l);line-height:1.9;color:var(--ink)}

.history .row::before{content:"";position:absolute;top:0;bottom:0;
  left:var(--axis);width:1px;background:var(--line)}
.history .row::after{content:"";position:absolute;box-sizing:border-box;
  left:calc(var(--axis) + .5px);top:var(--dot-y);
  width:10px;height:10px;border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--white);border:2px solid var(--gold)}
.history .row:first-child::before{top:var(--dot-y)}
.history .row:last-child::before{bottom:auto;height:var(--dot-y)}

@media(max-width:700px){
  .history{--axis:0px;--dot-y:calc(22px + 14px * 1.9 / 2)}
  .history .row{grid-template-columns:1fr;gap:6px;padding:22px 0 22px 24px}
  .history dt{font-size:var(--fs-m);color:var(--gold)}
  .history .row:first-child{padding-top:0;--dot-y:calc(14px * 1.9 / 2)}
}
.exec + .exec{margin-top:96px}
.exec-title{font-family:var(--font-jp);font-size:var(--fs-3xl);font-weight:500;color:var(--heading-navy);
  line-height:1.6;padding-bottom:14px;margin-bottom:44px;border-bottom:1px solid var(--line)}
.exec-body{display:grid;grid-template-columns:380px minmax(0,1fr);gap:0 60px;align-items:start}
.exec-body + .exec-body{margin-top:64px}

.exec-photo{aspect-ratio:4/5;border-radius:var(--r-m);background:var(--line)}
img.exec-photo{display:block;width:100%;height:auto;object-fit:cover}
div.exec-photo{display:flex;align-items:center;justify-content:center;
  font-family:var(--font-en);font-size:var(--fs-s);line-height:1.8;letter-spacing:.08em;
  color:var(--gray);text-align:center}
.exec-photo.is-small{width:280px}

.exec-text > p{font-size:var(--fs-l);line-height:2.1;color:var(--ink)}
.exec-text > p + p{margin-top:1.8em}
.exec-text > .exec-name{margin-top:2.2em;font-size:var(--fs-3xl);font-weight:500;
  color:var(--heading-navy);line-height:1.6}
.exec-role{display:block;font-size:var(--fs-xs);font-weight:400;letter-spacing:.14em;
  color:var(--gold);margin-bottom:6px}
.exec-text > .exec-name + p{margin-top:22px}
.exec-history{margin-top:22px}
.exec-history p{font-size:var(--fs-l);line-height:1.9;color:var(--ink)}
.exec-history p + p{margin-top:.4em}
.exec-body .exec-text > .exec-name:first-child{margin-top:0}
.exec-history.is-profile{margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.exec-history p.exec-history-t{font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;
  color:var(--gold);margin-bottom:10px}
.exec-history.is-profile p:not(.exec-history-t){font-size:var(--fs-m);line-height:2;
  color:var(--ink-2)}
.ph-hero{color:#fff;margin-top:56px;padding:72px 0 68px;
  background-image:linear-gradient(rgba(var(--theme-navy-bg-rgb),.95) 0%,
                    rgba(var(--theme-navy-bg-rgb),.78) 52%,
                    rgba(var(--theme-navy-bg-rgb),.94) 100%), url('../image/mission.jpg');
  background-position:center;background-size:cover;background-repeat:no-repeat}
.ph-hero .mvv{margin-bottom:0}
.ph-hero .mvv .v{color:#fff}
.ph-wrap{max-width:820px;margin:0 auto;padding-top:83px}
.ph-block{position:relative;padding:48px 46px;border:1px solid var(--line);border-radius:var(--r-m)}
.ph-block + .ph-block{margin-top:147px}
.ph-photo{position:absolute;z-index:-1;top:0;right:0;
  width:57.4%;height:auto;
  border-top-right-radius:calc(var(--r-m) - 1px);
  mix-blend-mode:multiply;
  pointer-events:none;-webkit-user-select:none;user-select:none}
.ph-bridge{position:relative;height:92px}
.ph-bridge::after{content:"";position:absolute;left:50%;top:34px;
  width:0;height:0;transform:translateX(-50%);
  border:19px solid transparent;border-top:24px solid var(--gold-l);
  filter:drop-shadow(0 3px 5px rgba(var(--shadow-rgb),.10))}
.ph-bridge + .ph-block{margin-top:0}
.ph-block.is-action{border-color:transparent;
  background-image:linear-gradient(rgba(var(--theme-navy-bg-rgb),.90) 0%,
                    rgba(var(--theme-navy-bg-rgb),.66) 52%,
                    rgba(var(--theme-navy-bg-rgb),.88) 100%), url('../image/philosophy.jpg');
  background-position:center;background-size:cover;background-repeat:no-repeat}
.ph-block.is-action .ph-lead{color:#fff}
.ph-block.is-action .ph-lead::after{background:var(--gold-l)}
.ph-head{position:relative;isolation:isolate;
  width:166px;height:166px;margin:-131px auto 0;padding:0 16px;border-radius:50%;
  background:var(--paper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;box-shadow:0 0 0 1px rgba(var(--gold-l-rgb),.55)}
.ph-head::before{content:"";position:absolute;z-index:-1;inset:7px;border-radius:50%;
  background:rgba(var(--white-rgb),.55);
  box-shadow:0 0 0 1px rgba(var(--gold-l-rgb),.28),0 8px 20px rgba(var(--shadow-rgb),.08)}
.ph-key{font-family:var(--font-en);font-size:var(--fs-2xs);font-weight:400;letter-spacing:.32em;
  color:var(--gold);text-transform:uppercase}
.ph-key::after{content:"";display:block;width:42px;height:1px;
  background:var(--gold-l);margin:14px auto 0}
.ph-sub{margin-top:12px;font-family:var(--font-jp);font-size:var(--fs-s);font-weight:400;
  letter-spacing:.1em;color:var(--gray);line-height:1.6}
.ph-lead{margin-top:34px;text-align:center;
  font-family:var(--font-jp);font-size:clamp(21px,2.6vw,27px);font-weight:500;
  color:var(--heading-navy);line-height:1.7;letter-spacing:.04em}
.ph-lead::after{content:"";display:block;width:72px;height:1px;
  background:var(--gold-l);margin:26px auto 0}
.ph-statement{margin-top:26px;text-align:center;
  font-size:var(--fs-2xl);font-weight:500;color:var(--heading-navy);line-height:1.85}
.ph-tag{margin-top:14px;text-align:center;font-size:var(--fs-l);letter-spacing:.08em;color:var(--gold)}
.ph-text{margin-top:20px;font-size:var(--fs-l);line-height:2.1;color:var(--ink)}
.ph-lead + .ph-text,.ph-tag + .ph-text,.ph-statement + .ph-text{margin-top:40px}
.ph-intro{margin-top:40px;text-align:center;font-size:var(--fs-l);line-height:2.1;color:var(--ink)}
.ph-panel{margin-top:44px;padding:44px 46px;border-radius:var(--r-m);
  background:rgba(var(--gold-rgb),.05);border:1px solid rgba(var(--gold-l-rgb),.35)}
.ph-panel > :first-child{margin-top:0}
.ph-items{margin-top:44px;display:grid;gap:22px}
.ph-item{position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr);gap:8px;
  padding:26px 30px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-m)}
.ph-item::before{content:"";position:absolute;left:0;top:0;opacity:.7;
  border-style:solid;border-width:18px 18px 0 0;
  border-color:var(--gold) transparent transparent transparent}
.ph-item dt{font-size:var(--fs-xl);font-weight:500;color:var(--heading-navy);line-height:1.6}
.ph-item dd{font-size:var(--fs-l);line-height:1.95;color:var(--ink)}
.ph-items.is-numbered .ph-item{grid-template-columns:auto minmax(0,1fr);gap:6px 20px;align-items:baseline}
.ph-num{grid-row:1 / span 2;font-family:var(--font-en);font-size:var(--fs-3xl);font-weight:500;
  letter-spacing:.06em;color:var(--gold-l);line-height:1.4}

@media(max-width:700px){
  .ph-wrap{padding-top:70px}
  .ph-block{padding:34px 22px}
  .ph-block + .ph-block{margin-top:118px}
  .ph-bridge{height:72px}
  .ph-bridge::after{top:24px;border-width:15px;border-top-width:19px}
  .ph-head{width:140px;height:140px;padding:0 12px;margin-top:-104px}
  .ph-head::before{inset:6px}
  .ph-sub{font-size:var(--fs-xs);letter-spacing:.06em}
  .ph-panel{margin-top:34px;padding:30px 22px}
  .ph-item{padding:22px 20px}
  .ph-block.is-action{background-position:top center;background-size:100% auto}
  .ph-item::before{border-width:14px 14px 0 0}
  .ph-items.is-numbered .ph-item{gap:6px 14px}
  .ph-text,.ph-intro{line-height:2}
}
.sv-wrap{max-width:980px;margin:0 auto;--hd-h:72px;--index-top:var(--hd-h);--visual-ratio:32/9}
.sv-visual{position:relative}
.sv-visual img{width:100%;height:auto;aspect-ratio:var(--visual-ratio);
  object-fit:cover;display:block}
.sv-visual > a,.sv-visual > h2{position:absolute;left:0;bottom:0;
  display:inline-flex;align-items:center;gap:12px;
  padding:14px 22px;background:var(--paper);
  font-family:var(--font-jp);font-weight:500;color:var(--heading-navy);line-height:1.5}
.sv-goals{margin-top:var(--lead-gap);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sv-goal{display:flex;flex-direction:column;overflow:hidden;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-m)}
.sv-goal-t{font-size:var(--fs-2xl);transition:var(--dur)}
.sv-goal-t:hover{color:var(--gold)}
.sv-goal-body{padding:22px 26px 24px}
.sv-goal-note{font-size:var(--fs-m);line-height:1.9;color:var(--ink)}
.sv-goal-cats{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);
  font-size:var(--fs-s);line-height:2;color:var(--gray)}
.sv-goal-cats a{color:var(--gray);transition:var(--dur)}
.sv-goal-cats a:hover{color:var(--gold)}
.sv-goal-cats a + a::before{content:"／";margin:0 .3em;color:var(--line)}
.sv-index{position:fixed;left:0;right:0;top:var(--index-top);z-index:var(--z-sticky);
  padding:14px 0;opacity:0;visibility:hidden;transform:translateY(-8px);
  background:rgba(var(--paper-rgb),.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:top var(--dur-hd) ease,opacity var(--dur-s) ease,transform var(--dur-s) ease,visibility var(--dur-s)}
.sv-index.is-shown{opacity:1;visibility:visible;transform:none}
body:has(header.is-hidden) .sv-wrap{--index-top:0px}
.sv-index-goals{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
  max-width:calc(980px + 48px);margin:0 auto;padding:0 24px}
.sv-nav summary{display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px 10px 20px;min-height:44px;
  border:1px solid var(--line);border-radius:var(--pill);background:var(--white);
  box-shadow:0 1px 3px rgba(var(--navy-rgb),.06);
  font-size:var(--fs-m);letter-spacing:.04em;color:var(--heading-navy);
  transition:var(--dur);cursor:pointer;list-style:none}
.sv-nav summary::-webkit-details-marker{display:none}
.sv-nav[open] summary{background:var(--navy);border-color:var(--navy);color:var(--white)}
.sv-nav summary[aria-current="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.sv-index-goals:has(.sv-nav[open]) .sv-nav:not([open]) summary[aria-current="true"]{
  background:rgba(var(--navy-rgb),.08);border-color:rgba(var(--navy-rgb),.28);color:var(--heading-navy)}
.sv-index-mark{box-sizing:border-box;flex:0 0 auto;width:6px;height:6px;margin-top:-3px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform var(--dur-s) ease}
.sv-nav[open] .sv-index-mark{transform:rotate(-135deg);margin-top:2px}
.sv-nav{position:relative}
.sv-nav-panel{position:absolute;left:0;top:calc(100% + 10px);
  display:block;
  width:max-content;min-width:200px;max-width:min(620px,calc(100vw - 48px));
  padding:16px 20px;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-m);box-shadow:0 16px 36px rgba(var(--shadow-rgb),.10)}
.sv-nav-panel--2col{width:min(380px,calc(100vw - 48px));columns:2;column-gap:18px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .sv-nav-panel{background:var(--white)}
  .sv-index{background:var(--paper)}
}
.sv-nav-panel a{display:flex;align-items:center;gap:12px;
  padding:11px 2px;border:0;border-top:1px solid var(--line);border-radius:0;background:none;
  font-size:var(--fs-m);line-height:1.6;color:var(--heading-navy);transition:var(--dur);
  break-inside:avoid;margin-bottom:0}
.sv-nav-panel a:first-child{border-top:0}
.sv-nav-panel--2col a:nth-child(5){border-top:0}
.sv-index-num{font-family:var(--font-en);font-size:var(--fs-s);font-weight:500;
  letter-spacing:.1em;color:var(--gold);flex:0 0 auto}
.sv-nav-panel a::after{content:"";flex:0 0 auto;box-sizing:border-box;width:6px;height:6px;
  border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);
  transform:rotate(45deg);transition:transform var(--dur);margin-left:auto}
.sv-nav-panel a:hover{background:rgba(var(--gold-rgb),.06);color:var(--gold)}
.sv-nav-panel a:hover::after{transform:translateX(2px) rotate(45deg)}
.sv-group{margin-top:96px;scroll-margin-top:calc(var(--hd-h) + var(--index-h,78px))}
.sv-group + .sv-group{border-top:1px solid var(--line);padding-top:56px}
.sv-group-head h2{font-size:var(--fs-d-m)}
.sv-group-note{margin-top:16px;font-size:var(--fs-l);line-height:1.9;color:var(--ink)}
.sv-cat{margin-top:52px;scroll-margin-top:calc(var(--hd-h) + var(--index-h,78px))}
.sv-cat-head{margin-bottom:18px;scroll-margin-top:calc(var(--hd-h) + 78px)}
.sv-cat-title{display:flex;align-items:center;gap:16px}
.sv-icon{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;
  justify-content:center;border-radius:50%;
  background:rgba(var(--gold-rgb),.10);color:var(--gold)}
.sv-icon svg{width:22px;height:22px}
.sv-num{font-family:var(--font-en);font-size:var(--fs-s);font-weight:500;
  letter-spacing:.1em;color:var(--gold)}
.sv-cat-head h3{font-family:var(--font-jp);font-size:var(--fs-d-s);font-weight:500;
  color:var(--heading-navy);line-height:1.5}
.sv-cat-lead{margin-top:12px;padding-left:60px;font-size:var(--fs-m);line-height:1.9;color:var(--ink)}
.sv-cat-toggle{display:inline;padding:0;background:none;border:0;cursor:default;
  font:inherit;color:inherit;letter-spacing:inherit;text-align:left}
.sv-cat-mark{display:none}
.sv-cta{margin-top:80px;padding:44px 32px;text-align:center;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-m)}
.sv-cta p{font-size:var(--fs-l);line-height:2;color:var(--heading-navy)}
.sv-cta .btn{margin-top:26px}
.sv-items{margin-top:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-m);padding:0 28px}
.sv-item{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0 32px;
  padding:22px 0;border-bottom:1px solid var(--line);
  scroll-margin-top:calc(var(--hd-h) + 78px)}
.sv-item:last-child{border-bottom:0}
.sv-item dt{font-size:var(--fs-l);font-weight:500;color:var(--heading-navy);line-height:1.7}
.sv-item dd{font-size:var(--fs-m);line-height:1.9;color:var(--ink)}
.sv-item:target{margin:0 -28px;padding-left:28px;padding-right:28px;
  animation:sv-arrive 1.4s ease-out forwards}
.sv-item:target dt{animation:sv-arrive-text 1.4s ease-out forwards}
@keyframes sv-arrive{
  0%,15%{background:rgba(var(--gold-rgb),.38);box-shadow:inset 4px 0 0 var(--gold)}
  100%{background:rgba(var(--gold-rgb),0);box-shadow:inset 4px 0 0 rgba(var(--gold-rgb),0)}
}
@keyframes sv-arrive-text{
  0%,15%{color:var(--gold)}
  100%{color:var(--heading-navy)}
}

@media(max-width:800px){
  .sv-item{grid-template-columns:1fr;gap:6px;padding:20px 0}
  .sv-goals{grid-template-columns:1fr;gap:14px}
  .sv-goal-body{padding:20px 22px 22px}
  .sv-visual > a,.sv-visual > h2{padding:12px 18px}
  .sv-goal-t{font-size:var(--fs-l)}
  .sv-nav-panel{padding:16px 18px}
  .sv-group{margin-top:var(--gap-break)}
  .sv-group + .sv-group{padding-top:42px}
  .sv-group-head h2{font-size:var(--fs-3xl)}
  .sv-cat{margin-top:40px}
  .sv-cat-head h3{font-size:var(--fs-3xl)}
  .sv-items{padding:0 22px}
  .sv-item:target{margin:0 -22px;padding-left:22px;padding-right:22px}
  .sv-icon{width:38px;height:38px}
  .sv-icon svg{width:20px;height:20px}
  .sv-cat-title{gap:12px}
  .sv-cat-lead{padding-left:50px}
  .sv-cta{margin-top:60px;padding:36px 22px}
}
@media(max-width:560px){
  .sv-wrap{--hd-h:82px;--visual-ratio:21/9}
  .sv-goals,
  .sv-index{display:none}
  .sv-group.is-filtered{display:none}
  .sv-group:first-of-type,
  .sv-wrap.is-goal-filtered .sv-group{margin-top:var(--tool-gap)}
  .sv-group,
  .sv-cat,
  .sv-cat-head,
  .sv-item{scroll-margin-top:calc(var(--hd-h) + var(--bar-h,78px))}
  .filter-select.sv-select{--bleed:24px;--arrow-inset:var(--bleed);
    position:sticky;top:var(--index-top);z-index:var(--z-sticky);
    margin:calc(var(--lead-gap) - var(--tool-gap)) calc(-1 * var(--bleed)) 0;
    padding:10px var(--bleed);
    background:rgba(var(--paper-rgb),.92);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    transition:top var(--dur-hd) ease}
  .sv-cat.is-collapsible .sv-cat-body{display:none}
  .sv-cat.is-collapsible.is-open .sv-cat-body{display:block}
  .sv-cat.is-collapsible{margin-top:0;border-bottom:1px solid var(--line)}
  .sv-cat.is-collapsible .sv-cat-head{margin-bottom:0}
  .sv-cat.is-collapsible .sv-cat-title{gap:12px;padding:18px 0;
    position:relative;cursor:pointer}
  .sv-cat.is-collapsible .sv-cat-head h3{flex:1;min-width:0}
  .sv-cat.is-collapsible .sv-cat-toggle{flex:1;display:flex;align-items:center;
    justify-content:space-between;gap:12px;cursor:pointer;min-height:26px}
  .sv-cat.is-collapsible .sv-cat-toggle::after{content:"";position:absolute;inset:0}
  .sv-cat.is-collapsible .sv-cat-mark{display:inline-block;color:var(--gold);
    font-size:var(--fs-l);line-height:1;transition:transform var(--dur-s) ease}
  .sv-cat.is-collapsible .sv-cat-mark::before{content:"＋"}
  .sv-cat.is-collapsible.is-open .sv-cat-mark{transform:rotate(45deg)}
  .sv-cat.is-collapsible .sv-cat-body{padding-bottom:22px}
  .sv-cat.is-collapsible .sv-cat-lead{margin-top:0;margin-bottom:16px;padding-left:0}
  .sv-cat.is-collapsible.is-open .sv-cat-lead{background:var(--white);
    border-radius:var(--r-m);padding:14px 18px}
  .sv-cat.is-collapsible .sv-items{padding:0 18px}
  .sv-items{padding:0 18px}
  .sv-item:target{margin:0 -18px;padding-left:18px;padding-right:18px}
}
.form-wrap{max-width:820px;margin:0 auto}
.form-intro{text-align:center}
.form-uses{margin:20px auto 0;width:fit-content;max-width:100%;
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 32px;list-style:none;
  padding:18px 30px;border-radius:var(--r-m);
  background:rgba(var(--gold-rgb),.07)}
.form-uses li{display:inline-flex;align-items:center;
  font-size:var(--fs-m);letter-spacing:.06em;color:var(--ink)}
.form-uses li::before{content:"";width:5px;height:5px;border-radius:50%;
  background:var(--gold);margin-right:10px;flex:0 0 auto}
.form-reply{margin-top:22px;font-size:var(--fs-l);line-height:2;color:var(--ink)}
.form-steps{display:flex;justify-content:center;list-style:none;margin:var(--lead-gap) 0 48px}
.form-wrap > .form-steps:first-child{margin-top:0}
.form-steps li{position:relative;display:flex;align-items:center;gap:10px;padding:0 26px;
  font-size:var(--fs-s);letter-spacing:.1em;color:var(--gray)}
.form-steps li + li::before{content:"";position:absolute;left:0;top:50%;
  width:1px;height:20px;transform:translateY(-50%);background:var(--line)}
.form-steps .n{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;border:1px solid var(--line);
  background:var(--white);font-family:var(--font-en);font-size:var(--fs-xs)}
.form-steps [aria-current="step"]{color:var(--heading-navy);font-weight:500}
.form-steps [aria-current="step"] .n{background:var(--navy);border-color:var(--navy);color:var(--white)}
.form-steps .is-done{color:var(--gold)}
.form-steps .is-done .n{border-color:var(--gold-l);color:var(--gold)}
.form-fields[hidden]{display:none}
.field + .field{margin-top:30px}
.field label{display:flex;align-items:center;gap:12px;margin-bottom:10px;
  font-size:var(--fs-m);font-weight:500;color:var(--heading-navy)}
.req,.opt{display:inline-flex;align-items:center;height:20px;padding:0 8px;
  border-radius:var(--r-xs);font-size:var(--fs-2xs);font-weight:400;letter-spacing:.08em}
.req{background:var(--gold);color:var(--white)}
.opt{background:var(--white);border:1px solid var(--line);color:var(--gray)}

.field input,.field select,.field textarea{width:100%;padding:14px 16px;font-family:inherit;font-size:var(--fs-l);line-height:1.8;
  color:var(--heading-navy);background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-s);
  -webkit-appearance:none;appearance:none;transition:border-color var(--dur-s),box-shadow var(--dur-s)}
.field textarea{resize:vertical;min-height:180px}
.field input::placeholder,.field textarea::placeholder{color:var(--gray-2)}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold-l);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.16)}
.field.is-zip input{max-width:240px}
.select-wrap{position:relative;--arrow-x:18px}
.select-wrap select{padding-right:44px;cursor:pointer}
.select-wrap::after{content:"";position:absolute;top:50%;box-sizing:border-box;
  right:calc(var(--arrow-x) + var(--arrow-inset,0px));
  width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:translateY(-70%) rotate(45deg);pointer-events:none}

.field-help{margin-top:8px;font-size:var(--fs-s);line-height:1.8;color:var(--gray)}
#mfp_phase_confirm{margin:0}
#mfp_phase_confirm_inner{padding:0}
#mfp_confirm_table{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}
#mfp_confirm_table th,
#mfp_confirm_table td{padding:22px 8px;border-bottom:1px solid var(--line);
  text-align:left;vertical-align:top}
#mfp_confirm_table th{width:200px;font-size:var(--fs-m);font-weight:500;color:var(--heading-navy)}
#mfp_confirm_table td{font-size:var(--fs-l);line-height:1.9;color:var(--ink);
  white-space:pre-wrap;overflow-wrap:anywhere}
#mfp_phase_confirm h4{font-family:var(--font-jp);font-size:var(--fs-2xl);font-weight:500;
  color:var(--heading-navy);text-align:center;letter-spacing:.04em;margin-bottom:30px}
.mfp_buttons{margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:18px}
#mfp_button_send{min-width:300px;padding:17px 32px;border-radius:var(--r-s);cursor:pointer;
  font-family:inherit;font-size:var(--fs-m);font-weight:500;letter-spacing:.14em;
  background:var(--navy);color:var(--white);border:1px solid var(--navy);transition:var(--dur)}
#mfp_button_send:hover{background:var(--gold);border-color:var(--gold)}
#mfp_button_cancel{padding:4px 0;background:none;border:0;border-bottom:1px solid var(--line);
  font-family:inherit;font-size:var(--fs-m);letter-spacing:.06em;color:var(--ink);
  cursor:pointer;transition:var(--dur)}
#mfp_button_cancel:hover{color:var(--gold);border-bottom-color:var(--gold-l)}
.mfp_err{display:block;margin-top:8px;font-size:var(--fs-s);font-weight:500;
  line-height:1.7;color:var(--alert)}
.mfp_parent_error input,
.mfp_parent_error select,
.mfp_parent_error textarea{border-color:var(--alert)}
.mfp_parent_error input:focus,
.mfp_parent_error select:focus,
.mfp_parent_error textarea:focus{box-shadow:0 0 0 3px rgba(var(--alert-rgb),.16)}
#mfp_overlay_background{background:rgba(var(--navy-rgb),.55)}
#mfp_loading_screen{background:var(--paper);border-radius:var(--r-m)}
.form-privacy{margin-top:40px;padding:24px 26px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-m)}
.checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  font-size:var(--fs-m);line-height:1.8;color:var(--ink)}
.checkbox input{flex:0 0 auto;width:20px;height:20px;margin-top:3px;cursor:pointer;
  -webkit-appearance:none;appearance:none;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-xs);transition:background var(--dur-s),border-color var(--dur-s)}
.checkbox input:checked{background:var(--navy);border-color:var(--navy)}
.checkbox input:checked::after{content:"";display:block;box-sizing:border-box;
  width:5px;height:9px;margin:3px auto 0;transform:rotate(45deg);
  border-right:2px solid var(--white);border-bottom:2px solid var(--white)}
.checkbox input:focus-visible{outline:3px solid rgba(var(--gold-rgb),.45);outline-offset:3px}
.checkbox a{color:var(--gold);border-bottom:1px solid currentColor}
.checkbox a:hover{color:var(--gold-l)}
.form-actions{margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:18px}
.form-submit{min-width:300px;font-family:inherit;cursor:pointer}
.form-done{text-align:center}
.form-done > p{font-size:var(--fs-l);line-height:2.1;color:var(--ink)}
.form-done > p + p{margin-top:1.4em}
.form-done > .form-done-lead{font-size:var(--fs-3xl);font-weight:500;color:var(--heading-navy);line-height:1.7}
.form-done > .form-done-note{font-size:var(--fs-m);line-height:2;color:var(--gray)}
.form-done .form-done-note a{color:var(--gold);border-bottom:1px solid currentColor}
.form-done .btn{margin-top:44px}

@media(max-width:700px){
  .field input,.field select,.field textarea{font-size:var(--fs-xl)}
  .form-steps{margin:var(--lead-gap) 0 36px}
  .form-steps li{padding:0 14px;font-size:var(--fs-xs);gap:8px}
  .form-uses{flex-direction:column;align-items:flex-start;gap:8px;
    width:auto;padding:16px 20px}
  .form-privacy{padding:20px 18px}
  .checkbox{min-height:44px;align-items:center}
  .checkbox input{width:26px;height:26px;margin-top:0}
  .checkbox input:checked::after{width:7px;height:12px;margin-top:4px}
  .form-submit,#mfp_button_send{min-width:0;width:100%}
  #mfp_confirm_table,#mfp_confirm_table tbody,
  #mfp_confirm_table tr,#mfp_confirm_table th,#mfp_confirm_table td{display:block;width:auto}
  #mfp_confirm_table th{padding:18px 8px 0;border-bottom:0}
  #mfp_confirm_table td{padding:6px 8px 18px}
}

@media(max-width:800px){
  .exec + .exec{margin-top:var(--gap-break)}
  .exec-body{grid-template-columns:1fr;gap:28px}
  .exec-body + .exec-body{margin-top:48px}
  img.exec-photo,
  .exec-photo.is-small{width:100%;max-width:none;
    aspect-ratio:6/5;height:auto;object-fit:cover;object-position:center 9%}
}
#company{scroll-margin-top:88px}
