@charset "utf-8";

:root {
  --font-ja: YakuHanJP, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Sans",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  --font-en: "Roboto", YakuHanJP, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Sans",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-mask: cubic-bezier(0.645, 0.045, 0.355, 1);
  --header-h: 101px;
  --side: 124px;
  --content-max: 1032px;
  --line: #c0c0c0;
  --line-tab: #c0c0bf;
  --line-btn: #bebdb7;
  --gray: #eee;
}

html { font-size: 16px; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, p, blockquote, img { margin: 0; padding: 0; border: none; vertical-align: middle; }
ul, ol { list-style: none; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-size: inherit; font-weight: normal; line-height: inherit; }
body {
  font-family: var(--font-ja);
  color: #000;
  background: #fff;
  line-height: 2;
  font-feature-settings: "palt" 1;
  -webkit-text-size-adjust: 100%;
  position: relative;
}

.header-pad { display: none; }

.mv { position: relative; top: 0; overflow: hidden; text-align: center; }
.mv__inner {
  position: relative; display: flex; align-items: center; justify-content: center;
  height: 100vh; margin: 0 auto; box-sizing: border-box;
}
.mv__logo { font-size: 1.285rem; font-weight: bold; }
.mv__logo img { display: inline-block; max-width: 915px; }
.mv__tagline { position: relative; margin-top: 85px; font-size: 1.14rem; font-weight: bold; }
.mv__tagline img { display: inline-block; max-width: 646px; }
.mv__tagline-mask { position: absolute; top: 0; right: 0; width: 100%; height: 100%; background: #fff; z-index: 10; }
.mv__mask {
  position: absolute; top: 0; right: 0; width: 100%; height: 100%;
  background: #000; z-index: 15000; overflow: hidden;
}
.mv__mask-inner { position: absolute; top: 0; left: 0; width: 100vw; height: 100%; }
.mv__mask-logo { opacity: 0; transform: scale(0.93); transform-origin: center; padding-bottom: 144px; }
.mv__mask-logo img { display: inline-block; max-width: 915px; }
@media screen and (min-width: 768px) {
  .mv__inner { width: 1032px; }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .mv__logo img, .mv__mask-logo img { width: 100%; }
  .mv__tagline { margin-top: 8.2364vw; }
  .mv__tagline img { width: 86%; }
  .mv__mask-logo { padding-bottom: 12.0155vw; }
}

.sec { position: relative; display: flex; flex-wrap: wrap; justify-content: center; padding: 0 var(--side); }
.sec__inner { width: 100%; max-width: var(--content-max); margin: 0 auto; }
.sec-title { margin: 160px 0 90px; }
.sec--topics .sec-title { margin-top: 0; }
.sec-title h2 {
  position: relative; font-family: var(--font-en); font-size: 48px; font-weight: bold; line-height: 1;
  letter-spacing: -0.2px; -webkit-font-smoothing: antialiased;
}
.sec-title h2 span { display: block; font-size: 16px; margin-top: 15px; letter-spacing: 0; }
.sec-title h2 .tl { font-size: inherit; margin-top: 0; letter-spacing: inherit; }   

.js-mask {
  content: ""; display: block; width: 100%; height: 100%; background: #fff;
  position: absolute; top: 0; right: 0; z-index: 10;
  transition: width 0.6s var(--ease-mask);
}
.sec.app-show > .js-mask { width: 0 !important; }

.tabs__nav { position: relative; padding: 0 24px; margin-bottom: 30px; }
.tabs__nav::before { content: ""; position: absolute; left: 0; bottom: 0; display: block; height: 1px; width: 100%; background: var(--line-tab); }
.tabs__list { display: flex; flex-wrap: wrap; border-left: 1px solid var(--line-btn); }
.tabs__tab { display: flex; cursor: pointer; }
.tabs__tab span {
  position: relative; display: inline-block; vertical-align: top; box-sizing: border-box;
  padding: 12px; min-width: 155px; width: 100%; text-align: center;
  font-size: 16px; line-height: 1.25; color: #000; background: #fff;
  border: 1px solid var(--line-tab); border-left: none;
}
.tabs__tab span:hover { color: #000; background: var(--gray); }
.tabs__tab.is-act span, .tabs__tab.is-act span:hover { background: #000; color: #fff; border-color: #000; }
.tabs__panel.is-closed { height: 0; overflow: hidden; padding: 0; margin: 0; }

.news { padding-top: 1px; margin-top: -20px; margin-bottom: 40px; }
.news__item { position: relative; margin-top: 20px; }
.news__box { position: relative; display: block; padding: 24px 50px; background-color: var(--gray); }
.tabs__panel--logo .news__box { padding-left: 200px; }
.news__box > a { display: block; color: #000; line-height: 1.5; font-weight: inherit; }
.news__box > a:hover { color: rgba(0, 0, 0, 0.6); }
.news__date { display: inline-block; position: relative; vertical-align: top; width: 99px; font-size: 12px; line-height: 2; }
.news__cats { display: inline-block; vertical-align: top; width: calc(100% - 105px); padding: 0 0 3px; min-height: 0; }
.news__cats > li { display: inline; }
.news__cat { display: inline-block; vertical-align: top; margin-right: 10px; font-size: 12px; font-weight: normal; line-height: 2; }
.news__logo {
  position: absolute; left: 0; top: 50%; width: 161px; height: 54px; margin-top: -27px;
  border-right: 1px solid #bfbfbf; box-sizing: border-box; font-size: 0; overflow: hidden; text-indent: -9999px;
  background-position: center center; background-repeat: no-repeat;
}
.news__tx { position: relative; font-weight: bold; line-height: 2; }
.news__pdf { display: inline-block; position: relative; vertical-align: baseline; margin-left: 0.5em; }
.news__pdf img { width: 32px; height: 18px; }
.news__box > a:hover .news__pdf { opacity: 0.6; }
.news__size { position: relative; font-size: 0.857em; }
.news__new { margin: 0 0.5em; }
.news__new::before { content: "NEW"; display: inline-block; vertical-align: middle; position: relative; color: #000; font-size: 14px; font-weight: bold; }

.more ul { text-align: right; }
.more li { position: relative; display: inline-block; padding: 5px 0 0 20px; }
.more a { color: #161616; font-size: 16px; }
.more a:hover { text-decoration: underline; }

.sec--group .sec__inner { margin-bottom: 50px; }
.cards { display: flex; flex-wrap: wrap; }
.cards__col { position: relative; width: 33.33%; margin-bottom: 30px; }
.card { position: relative; z-index: 2; display: flex; flex-direction: column; margin-bottom: 20px; }
.card__title { order: 2; position: static; }
.card__title a { display: block; padding: 15.2px 20px 11.2px 0; font-size: 1rem; line-height: 1.6; font-weight: bold; color: #000; }
.card__title a::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; }
.card__img {
  order: 1; position: relative; display: flex; align-items: center; justify-content: center;
  height: 203px; box-sizing: border-box; border: 1px solid var(--line); color: #808080;
}
.card__img img {
  width: 100%; max-width: 280px; position: relative; z-index: 10;
  transition: opacity 0.5s var(--ease-out-expo), transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.card__name { position: relative; z-index: 10; font-family: "Roboto", var(--font-ja); font-weight: 700; font-size: 22px; letter-spacing: 0.04em; color: #000; transition: opacity 0.5s var(--ease-out-expo); }
.card-hover .card__name--white { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.95); white-space: nowrap; color: #fff; opacity: 0; transition: opacity 0.5s var(--ease-out-expo), transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); }
.card:hover .card__img .card__name { opacity: 0; }
.card:hover + .card-hover .card__name--white { opacity: 1; transform: translate(-50%, -50%) scale(1); transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1); }
.card__operator { order: 3; padding-right: 20px; margin-bottom: 5px; font-size: 12px; line-height: 1.8; color: #808080; }
.card-hover {
  position: absolute; left: 0; top: 0; width: 100%; height: 203px; box-sizing: border-box;
  border: 1px solid var(--line); overflow: hidden; transition: background 0.5s var(--ease-out-expo);
}
.card-hover img {
  position: absolute; top: 50%; left: 50%; width: 100%; max-width: 270px; margin: 0;
  transform: translate(-50%, -50%) scale(0.95); opacity: 0;
  transition: opacity 0.5s var(--ease-out-expo), transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.card:hover .card__img img { opacity: 0; }
.card:hover + .card-hover { background: #000; }
.card:hover + .card-hover img { opacity: 1; transform: translate(-50%, -50%) scale(1); transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1); }

@media screen and (min-width: 768px) {
  .cards__col:not(:nth-child(3n + 1)) .card__img, .cards__col:not(:nth-child(3n + 1)) .card-hover { border-left: none; }
}

.sec--buttons { padding-bottom: 10px; }
.sec__inner--2col { display: flex; }
.btn-col { display: flex; justify-content: center; width: 50%; max-width: calc(var(--content-max) / 2); margin-bottom: 50px; }
.btn { width: 100%; display: flex; margin-bottom: 20px; }
.btn h2 { position: relative; width: 100%; display: flex; }
.btn h2 a {
  position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 244px;
  box-sizing: border-box; padding: 26px 44px; text-align: center; font-size: 1rem; font-weight: bold; color: #000;
  background: #fff; border: 1px solid var(--line-btn); transition: all 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btn h2 a:hover { background-color: #000; border-color: #000; color: #fff; }
.btn-col + .btn-col .btn h2 a { border-left: none; }

.sec--contact { background-color: var(--gray); }
.sec--contact .sec__inner { padding: 80px 0; display: flex; justify-content: center; }
.sec--contact .btn { margin-bottom: 0; }

@media screen and (max-width: 767px) {
  :root { --header-h: 17.4444vw; --side: 0px; }
  html { font-size: 3.7333vw; }

  
  .mv__inner { height: 88vh; width: auto; }
  .mv__logo img, .mv__mask-logo img { width: 86.6667vw; }
  .mv__tagline { margin-top: 7.0667vw; }
  .mv__tagline img { width: 74.6667vw; }
  .mv__mask { height: 88vh; }
  .mv__mask-logo { padding-bottom: 13.3333vw; }

  
  .sec { padding: 0; }
  .sec__inner { width: calc(100% - 13.3333vw); max-width: none; margin: 0 6.6667vw; }
  .sec-title { margin: 21.3333vw 0 16vw; }
  .sec-title h2 { font-size: 7.5vw; letter-spacing: 0.2px; }
  .sec-title h2 span { font-size: 3.2vw; margin-top: 2.9333vw; }

  
  .tabs__nav {
    padding: 0; margin-bottom: 8vw; min-height: calc(1px + 15.2vw); box-sizing: border-box; position: relative; vertical-align: middle;
    border-bottom: 1px solid #cfcfca;
  }
  .tabs__nav::before { content: none; }
  .tabs__list {
    display: block; position: absolute; right: 0; top: 0; width: 100%; max-height: 15.2vw; overflow: hidden;
    z-index: 1; color: #000; text-align: left; border-left: none;
  }
  .tabs__tab { display: block; padding: 0; margin: 0; }
  .tabs__tab span {
    margin: 0; padding: 0; min-width: 0; line-height: 15.2vw; font-size: 4.4vw; font-weight: bold; text-align: left;
    color: #000; background-color: #fff; border: none; display: block;
  }
  .tabs__tab.is-act span, .tabs__tab.is-act span:hover, .tabs__tab span:hover { background: #fff; color: #000; border-color: transparent; }
  .tabs__list:not(.is-active) .tabs__tab.is-act { position: absolute; top: 0; left: 0; width: 100%; z-index: 2; }
  .tabs__list.is-active { max-height: 77vw; transition: 0.5s; z-index: 2; }
  .tabs__list.is-active::before {
    content: "選択してください"; position: relative; display: block; padding: 0; width: 100%; height: auto;
    font-size: 4.4vw; font-weight: bold; line-height: 15.2vw; color: #000; border-bottom: 1px solid #cfcfca;
    margin-bottom: calc(1px - 1.3333vw);
  }
  .tabs__list.is-active .tabs__tab { padding-right: 2.6666vw; padding-left: 2.6666vw; }
  .tabs__list.is-active .tabs__tab span {
    border: 1px solid #c4c4c4; border-top: none; z-index: 15; font-size: 3.2vw; padding: 2.9333vw 2.6667vw;
    white-space: normal; line-height: 1.25;
  }
  .tabs__list.is-active .tabs__tab:first-child span { border-top: 1px solid #c4c4c4; }
  .tabs__list.is-active .tabs__tab.is-act span { background-color: var(--gray); }

  
  .news { margin-top: -5.3333vw; }
  .news__item { margin-top: 5.3333vw; }
  .news__box, .tabs__panel--logo .news__box { padding: 5.4666vw 10vw 5.4666vw 4.9333vw; }
  .news__box > a { font-size: 3.7333vw; line-height: 1.75; }
  .news__box > a::before { background-position: right 5.3333vw center; background-size: 1.8667vw 2.9333vw; }
  .news__box > a[target="_blank"]::before { background-size: 3.0666vw 2.6666vw; }
  .news__date { font-size: 2.8vw; line-height: 1.25; width: 20vw; }
  .tabs__panel--logo .news__date { padding-left: 22.666vw; width: 41.166vw; box-sizing: border-box; }
  .news__cats { width: calc(100% - 22vw); padding: 0; vertical-align: middle; }
  .tabs__panel--logo .news__cats { width: calc(100% - 43.166vw); }
  .news__cat { margin-right: 2.6667vw; font-size: 2.8vw; line-height: 1.25; }
  .news__logo {
    top: 4.3333vw; left: 4.9333vw; width: 22.666vw; height: 5.8666vw; margin: 0; border: none;
    background-position: left center; background-size: 100%;
  }
  .news__pdf img { width: 8.5333vw; height: 4.8vw; }
  .news__new::before { font-size: 3.2vw; }
  .more li { padding-left: 3.7333vw; }
  .more li::before { width: 1.8666vw; height: 2.9333vw; top: calc(2.3333vw + 5px); left: 0.5333vw; }

  
  .sec--group .sec__inner { width: calc(100% - 6.6667vw); margin-right: 0; margin-bottom: 13.3333vw; }
  .cards__col { width: calc(50% - 6.6667vw); margin: 0 6.6667vw 10vw 0; }
  .card { margin-bottom: 0; }
  .card__title a { padding: 4vw 0 1.3333vw; font-size: 3.2667vw; line-height: 2; }
  .card__img { height: 40vw; border-width: 0.2667vw; }
  .card__img img { width: 64%; max-width: none; transform: none; }
  .card__operator { padding-right: 0; font-size: 2.8vw; line-height: 2; }
  .card__name { font-size: 4vw; }
  .card-hover { display: none; }

  
  .sec--buttons { padding-bottom: calc(-50px + 20.4vw); }
  .sec__inner--2col { display: block; }
  .btn-col { display: block; width: auto; max-width: none; margin: 0; }
  .btn-col + .btn-col { margin-bottom: 13.3333vw; }
  .btn { margin-bottom: 0; }
  .btn h2 a { min-height: 0; height: 30.6667vw; padding: 4.6667vw 9.3333vw 4.6667vw 4.6667vw; font-size: 3.7333vw; justify-content: flex-start; text-align: left; }
  .btn h2 a::before { right: 5.3333vw; margin-top: -1.4vw; width: 1.73333vw; height: 2.8vw; }
  .btn h2 a[target="_blank"]::before { right: 5.3333vw; margin-top: -1.3333vw; width: 3.0666vw; height: 2.6666vw; }
  .btn-col + .btn-col .btn h2 a { border-left: 1px solid var(--line-btn); border-top: none; }
  .sec--contact .sec__inner { padding: 20.4vw 0; }

}

.card__img--inline svg { width: 55%; height: auto; display: block; position: relative; z-index: 10; }   
.card__img img { width: 55%; max-width: none; }
.card:hover .card__img--inline .oa-lg-word { fill: #fff; }   
.mf__socialLogo--inline svg { display: block; width: 100%; height: auto; }
.mf__socialLogo--inline .oa-lg-p { fill: #fff; }            
.oa-logo-fx .oa-lg-mark { transform-box: fill-box; transform-origin: 50% 50%; }
.oa-logo-fx .oa-lg-p { transition: fill .45s cubic-bezier(.2, .7, .2, 1) calc(var(--i) * 45ms); }
.oa-logo-fx .oa-lg-w { transform-box: fill-box; transform-origin: 50% 100%; }
.oa-logo-fx:hover .oa-lg-mark, .card:hover .oa-logo-fx .oa-lg-mark { animation: oaLgSpin 1.05s cubic-bezier(.22, .9, .3, 1) both; }
.oa-logo-fx:hover .oa-lg-p, .card:hover .oa-logo-fx .oa-lg-p, .mf__socialLink.oa-logo-fx:hover .oa-lg-p { fill: var(--c); }
.oa-logo-fx:hover .oa-lg-w, .card:hover .oa-logo-fx .oa-lg-w { animation: oaLgWind .9s cubic-bezier(.3, .7, .3, 1) calc(var(--i) * 38ms) both, oaLgRainbow 1.1s linear calc(var(--i) * 55ms) both; }
@keyframes oaLgSpin { 0% { transform: rotate(0); } 62% { transform: rotate(392deg); } 82% { transform: rotate(352deg); } 100% { transform: rotate(360deg); } }
@keyframes oaLgWind { 0% { transform: none; } 22% { transform: translateY(-3px) skewX(-16deg); } 48% { transform: translateY(1px) skewX(9deg); } 70% { transform: skewX(-4deg); } 86% { transform: skewX(1.5deg); } 100% { transform: none; } }
@keyframes oaLgRainbow { 0% { fill: inherit; } 12% { fill: #F2B705; } 27% { fill: #8DB83A; } 42% { fill: #EE4A3E; } 57% { fill: #9370B0; } 72% { fill: #1F4FA3; } 86% { fill: #EF93A4; } 100% { fill: inherit; } }
@media (prefers-reduced-motion: reduce) { .oa-logo-fx:hover .oa-lg-mark, .oa-logo-fx:hover .oa-lg-w, .card:hover .oa-logo-fx .oa-lg-mark, .card:hover .oa-logo-fx .oa-lg-w { animation: none; } }
@media screen and (max-width: 767px) { .card__img--inline svg { width: 64%; } }

.sec--news .sec-title { margin-top: 0; }   
.nw { color: #000; }
.nw, .nw * { box-sizing: border-box; }   
.nw__cnts { margin-top: 0; }
.nw__list { display: flex; justify-content: flex-start; }
.nw__item { display: inline-block; width: 20.5%; }
.nw__item + .nw__item { margin-left: 6%; }
.nw__panel { position: relative; height: 100%; transition: opacity 0.15s ease-out; }
.nw__panel:hover { opacity: 0.5; }
.nw__link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.nw__body { font-size: 0; line-height: 0; }   
.nw__tagLink { display: inline-block; vertical-align: top; position: relative; z-index: 2; margin-right: 15px; }
.nw__tag { display: flex; justify-content: center; align-items: center; height: 20px; padding: 0 10px; font-size: 10px; line-height: 2; letter-spacing: 0.1em; color: #808080; background: var(--gray); border-radius: 4px; word-break: keep-all; transition: all 0.15s ease-out; }
.nw__tagLink:hover .nw__tag { color: #fff; background: #000; }
.nw__subWrap { display: inline-block; vertical-align: top; width: 100%; margin-top: 5px; font-size: 16px; line-height: 19.2px; }   
.nw__sub { display: inline-block; position: relative; z-index: 2; margin-right: 15px; font-size: 10px; line-height: 1; letter-spacing: 0.05em; color: #808080; text-decoration: underline; transition: opacity 0.15s ease-out; }
.nw__sub:hover { opacity: 0.5; }
.nw__date { display: inline-block; font-size: 10px; line-height: 1; letter-spacing: 0.08em; color: #a0a0a0; }
.nw__hdg { margin-top: 23px; font-size: 12px; line-height: 2; letter-spacing: 0.05em; }
.nw__more { margin-top: 100px; }
.nw__btn { position: relative; display: flex; align-items: center; width: 279px; max-width: 100%; height: 64px; padding: 0 60px 0 30px; border-radius: 32px; background: #000; color: #fff; cursor: pointer; transition: all cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s; }
.nw__btn:hover { background: #333; }
.nw__btnInner { width: 100%; text-align: center; font-size: 12px; line-height: 1.6667; letter-spacing: 0.1em; }
.nw__btnIcon { position: absolute; right: 18px; top: 50%; width: 30px; height: 30px; margin-top: -15px; }
.nw__circle { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; background: #000; transform: scale(1); transition: all cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s; }
.nw__btn:hover .nw__circle { background: #444; }
.nw__btn:hover .nw__arrow { transform: translateX(3px); }   
.nw__arrow { position: absolute; top: 50%; left: 50%; margin: -5.5px 0 0 -5.5px; color: #fff; transition: transform 0.3s; }
@media screen and (max-width: 767px) {
  .nw__list { display: block; }
  .nw__item { display: block; width: 100%; }
  .nw__item + .nw__item { margin: 60px 0 0; }
  .nw__subWrap { width: auto; margin-top: 0; }   
  .nw__hdg { margin-top: 13px; }
  .nw__btn { width: 100%; height: 70px; border-radius: 50px; }
  .nw__btnInner { font-size: 13px; line-height: normal; }
}

.sec--cases .sec__inner { margin-bottom: 50px; }
.cs__lead { margin: -40px 0 56px; font-size: 16px; line-height: 1.85; font-weight: 500; color: #555; }
.cs__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cs__card { display: block; color: #000; }
.cs__body { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; overflow: hidden; box-sizing: border-box; transition: border-color 0.5s; }   
.cs__card:hover .cs__body { border-color: #000; }
.cs__thumb { position: relative; width: 100%; aspect-ratio: 1.91 / 1; background: #f5f5f5; overflow: hidden; }
.cs__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cs__text { display: flex; flex-direction: column; flex: 1; padding: 20px 24px 24px; }
.cs__company { font-size: 20px; font-weight: 900; line-height: 1.38; letter-spacing: -0.02em; color: #000; }
.cs__voice { margin-top: 10px; font-size: 14px; font-weight: 700; line-height: 1.55; letter-spacing: -0.005em; color: #333; }
.cs__excerpt { margin-top: 10px; font-size: 12.5px; font-weight: 500; line-height: 1.75; color: #555; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cs__foot { margin-top: auto; padding-top: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(0, 0, 0, 0.06); }
.cs__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.cs__tag { padding: 3px 6px; font-family: var(--font-en); font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: 0.06em; color: #333; background: rgba(0, 0, 0, 0.06); border-radius: 2px; }
.cs__arrow { flex-shrink: 0; font-size: 14px; line-height: 1.5; color: #333; transition: transform 0.3s; }
.cs__card:hover .cs__arrow { transform: translateX(10px); }
.cs__more { margin-top: 40px; display: flex; justify-content: flex-end; }
.cs__moreLink { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-en); font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0.04em; color: #333; transition: opacity 0.2s; }
.cs__moreArrow { display: inline-block; transition: transform 0.3s; }
.cs__moreLink:hover .cs__moreArrow { transform: translateX(10px); }   
.cs__moreLink:hover .cs__moreText { text-decoration: underline; text-underline-offset: 3px; }
@media screen and (max-width: 767px) {
  .sec--cases .sec__inner { margin-bottom: 13.3333vw; }
  .cs__lead { margin: -6vw 0 8.5333vw; }
  .cs__grid { grid-template-columns: 1fr; gap: 20px; }
  .cs__text { padding: 20px 20px 24px; }
}

.mv--op .mv__logo { line-height: 0; }
.op-stage { position: relative; display: inline-block; }
.op-ghost { visibility: hidden; }
.op-piece { position: absolute; will-change: transform; }
.op-piece img { display: block; width: 100%; height: 100%; }
@media screen and (max-width: 767px) { .mv--op .mv__inner { height: 100svh; } }   

.sec--cb .sec__inner { margin: 88px 0 0; }
.cb__divider { height: 1px; background: rgba(0, 0, 0, 0.08); }
.cb { display: flex; justify-content: space-between; align-items: center; padding: 102px 0 90px; color: #000; transition: opacity 1.2s var(--easing-1); }
.cb:hover { opacity: 0.4; transition-duration: 0.2s; }   
.cb__left { display: flex; align-items: center; }
.cb__en { margin: 0 40px 0 0; font-family: var(--font-en); font-size: 32px; font-weight: 400; line-height: 1.2; }
.cb__lead { margin: 0; font-size: 16px; line-height: 1.9; letter-spacing: 0.02em; }
.cb__right { display: inline-flex; align-items: center; margin-top: -4px; }
.cb__label { margin: 0 24px 0 0; font-size: 14px; line-height: 1.4; letter-spacing: 0.02em; }
.cb__arrow { position: relative; display: block; width: 64px; height: 64px; }
.cb__back, .cb__front { position: absolute; inset: 0; width: 100%; height: 100%; color: #000; }
.cb__back { opacity: 0.12; transition: all 0.5s var(--easing-1); }
.cb__front { transform: rotate(-90deg) scale(1.08); transform-origin: center; }
.cb__front circle { stroke-dasharray: 0 100; transition: stroke-dasharray 0.7s var(--easing-3); }
.cb__ico { position: absolute; inset: 0; margin: auto; width: 12px; height: 12px; color: #000; }
.cb:hover .cb__back { opacity: 0; transform: scale(1.08); transition: all 1.2s var(--easing-1); }
.cb:hover .cb__front circle { stroke-dasharray: 100 100; transition: stroke-dasharray 0.3s var(--easing-3); }
@media screen and (max-width: 767px) {
  .sec--cb .sec__inner { margin-top: 13.3333vw; }
  .cb { padding: 54px 0 46px; }
  .cb__en { margin-right: 0; font-size: 18px; }
  .cb__lead { display: none; }
  .cb__label { margin-right: 14px; font-size: 12px; }
  .cb__arrow { width: 54px; height: 54px; }
  .cb__ico { width: 8px; height: 8px; }
}
:root { --easing-1: cubic-bezier(0.18, 0.06, 0.23, 1); --easing-3: cubic-bezier(0.47, 0.16, 0.24, 1); }

.ox-btn { position: relative; display: inline-flex; align-items: center; width: 210px; height: 60px; padding: 0; border: 0; background: none; color: #000; text-decoration: none; cursor: pointer; font: inherit; }
.ox-btn::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #eee; border-radius: 40px; transition: opacity 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s; }
.ox-btn__label { position: relative; z-index: 2; padding-left: 30px; font-family: var(--font-en); font-size: 15px; font-weight: 700; line-height: 20px; letter-spacing: 0; color: #000; text-decoration: underline; text-underline-offset: 3px; transition: color 0.3s; }
.ox-btn__arw { position: absolute; z-index: 2; right: 15px; top: 50%; width: 27px; height: 27px; margin-top: -13.5px; border: 1px solid #c0c0c0; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: border-color 0.3s; }
.ox-btn__arw::after { content: ""; display: block; width: 15px; height: 7px; background: url("../img/icon/arw-thin.svg") left top / contain no-repeat; }
.ox-btn__line { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.ox-btn__line rect { width: calc(100% - 2px); height: calc(100% - 2px); fill: none; stroke: #000; stroke-width: 1; stroke-dasharray: 0, 100; stroke-dashoffset: 100; transition: all 1s cubic-bezier(0, 0.7, 0, 1); }   
.ox-btn:hover::before { opacity: 0; transition-duration: 0.2s; transition-delay: 0s; }
.ox-btn:hover .ox-btn__label { text-decoration: none; }
.ox-btn:hover .ox-btn__arw { border-color: #000; }
.ox-btn:hover .ox-btn__line rect { stroke-width: 2; stroke-dasharray: 100, 0; stroke-dashoffset: 0; }
.ox-btn--dark::before { background: #000; }
.ox-btn--dark .ox-btn__label { color: #fff; }
.ox-btn--dark .ox-btn__arw { border-color: #646f73; }
.ox-btn--dark .ox-btn__arw::after { background-image: url("../img/icon/arw-thin--white.svg"); }
.ox-btn--dark:hover .ox-btn__label { color: #000; }
.ox-btn--dark:hover .ox-btn__arw::after { background-image: url("../img/icon/arw-thin.svg"); }
@media screen and (max-width: 767px) { .nw__more .ox-btn, .ct__submit .ox-btn { display: flex; margin: 0 auto; } .ct__submit { justify-content: center; } }

.mv__tagline--text { display: inline-block; position: relative; margin-top: 85px; font-family: var(--font-ja); font-size: 30px; font-weight: 700; line-height: 1.4; letter-spacing: 0.08em; color: #000; -webkit-font-smoothing: antialiased; }
.mv__tagline--text .mv__tagline-text { display: inline-block; white-space: nowrap; }
.mv__tagline--text .mv__tagline-mask { display: block; }
@media screen and (min-width: 768px) and (max-width: 1280px) { .mv__tagline--text { margin-top: 8.2364vw; font-size: 2.4vw; } }
@media screen and (max-width: 767px) { .mv__tagline--text { margin-top: 7.0667vw; font-size: 4.6vw; } }

.main--page { padding-top: 96px; }
.sec--company .sec__inner { margin-bottom: 40px; }
.sec--company .sec-title { margin: 120px 0 56px; }
.sec--company:first-child .sec-title { margin-top: 64px; }
.co__table { margin: 0; max-width: 860px; border-top: 1px solid var(--line); }
.co__row { display: grid; grid-template-columns: 200px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.co__row dt { font-size: 14px; font-weight: 700; line-height: 1.8; }
.co__row dd { margin: 0; font-size: 15px; line-height: 1.8; }
.co__origin { max-width: 860px; }
.co__originWord { margin: 0 0 24px; font-family: var(--font-en); font-size: 40px; font-weight: 700; line-height: 1; letter-spacing: 0.02em; }
.co__originArrow { margin: 0 12px; color: #808080; }
.co__text { margin: 0 0 12px; font-size: 16px; line-height: 1.9; }
.co__members { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.co__photo { aspect-ratio: 1 / 1; background: #eee; margin-bottom: 16px; }
.co__role { margin: 0; font-size: 12px; line-height: 1.6; color: #808080; }
.co__name { margin: 4px 0 10px; font-size: 20px; font-weight: 700; line-height: 1.4; }
.co__bio { margin: 0; font-size: 13px; line-height: 1.8; color: #555; }
.co__policy { max-width: 860px; }
.co__h3 { margin: 32px 0 8px; font-size: 16px; font-weight: 700; line-height: 1.6; }
.co__h3:first-child { margin-top: 0; }
.sec--privacy .sec__inner { margin-bottom: 120px; }
@media screen and (max-width: 767px) {
  .main--page { padding-top: 64px; }
  .sec--company .sec-title { margin: 16vw 0 8vw; }
  .co__row { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }
  .co__originWord { font-size: 28px; }
  .co__text { font-size: 14px; }
  .co__members { grid-template-columns: 1fr; gap: 32px; }
  .sec--privacy .sec__inner { margin-bottom: 16vw; }
}

.fx-up { opacity: 0; transform: translateY(40px); transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1) calc(var(--i, 0) * 0.1s), transform 1s cubic-bezier(0.14, 1, 0.34, 1) calc(var(--i, 0) * 0.1s); }
.sec.app-show .fx-up { opacity: 1; transform: translateY(0); }
.cards__col.fx-up { position: relative; }
@media (prefers-reduced-motion: reduce) { .fx-up { opacity: 1; transform: none; transition: none; } }

.tr-ready body::after { content: ""; position: fixed; inset: 0; z-index: 20000; background: #fff; opacity: 1; pointer-events: none; transition: opacity 0.45s var(--easing-1); }
.tr-ready.tr-in body::after { opacity: 0; }
.tr-ready.tr-out body::after { opacity: 1; pointer-events: auto; transition: opacity 0.35s cubic-bezier(0.86, 0, 0.07, 1); }
.co__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

.cp { max-width: 860px; }
.cp__lead { margin: -40px 0 0; font-size: 16px; line-height: 1.9; }
.cp__links { margin: 32px 0 0; padding: 0; list-style: none; }
.cp__links li + li { margin-top: 23px; }
.cp__link { display: inline-block; font-size: 12px; line-height: 1.4; color: #000; text-decoration: underline; text-underline-offset: 3px; }
.cp__link:hover { opacity: 0.6; }
.cp__form { margin-top: 80px; }
.cp__step { display: grid; grid-template-columns: 240px 1fr; gap: 24px 40px; padding: 48px 0; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.cp__step:last-child { border-bottom: 1px solid rgba(0, 0, 0, 0.08); }
.cp__stepHead { display: flex; align-items: baseline; gap: 12px; }
.cp__no { font-family: var(--font-en); font-size: 12px; letter-spacing: 0.04em; color: #808080; }
.cp__stepTitle { font-size: 14px; font-weight: 700; line-height: 1.6; }
.cp__fields { display: flex; flex-direction: column; gap: 28px; }
.cp__field { display: block; }
.cp__label { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 13px; font-weight: 700; line-height: 1.6; }
.cp__req { padding: 1px 6px; font-size: 10px; font-weight: 700; line-height: 1.6; color: #fff; background: #000; border-radius: 2px; }
.cp__input, .cp__textarea, .cp__select { display: block; width: 100%; box-sizing: border-box; padding: 10px 0; font: inherit; font-size: 15px; line-height: 1.6; color: #000; background: transparent; border: 0; border-bottom: 1px solid #c0c0c0; border-radius: 0; -webkit-appearance: none; appearance: none; transition: border-color 0.3s; }
.cp__input:focus, .cp__textarea:focus, .cp__select:focus { outline: none; border-bottom-color: #000; }
.cp__textarea { resize: vertical; }
.cp__selectWrap { position: relative; display: block; }
.cp__selectWrap::after { content: ""; position: absolute; right: 6px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border-right: 1px solid #000; border-bottom: 1px solid #000; transform: rotate(45deg); pointer-events: none; }
.cp__note { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: #808080; }
.cp__agree { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.6; cursor: pointer; }
.cp__agree input { width: 16px; height: 16px; margin: 0; accent-color: #000; }
.cp__agree a { text-decoration: underline; text-underline-offset: 3px; }
.cp__submit { margin-top: 8px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.cp__note--form { margin: 0; }
.sec--contactPage .sec__inner { margin-bottom: 120px; }
@media screen and (max-width: 767px) {
  .cp__lead { margin-top: -6vw; font-size: 14px; }
  .cp__links li + li { margin-top: 22px; }
  .cp__link { font-size: 11px; }
  .cp__form { margin-top: 48px; }
  .cp__step { grid-template-columns: 1fr; gap: 20px; padding: 32px 0; }
  .cp__submit { justify-content: center; }
  .sec--contactPage .sec__inner { margin-bottom: 16vw; }
}

.sec--bp .sec__inner { margin-bottom: 120px; }
.bp__logo { margin: -40px 0 40px; }
.bp__logo img, .bp__logo svg { display: block; width: 280px; height: auto; }
.bp__lead { max-width: 860px; margin: 0 0 64px; font-size: 18px; line-height: 1.9; }
.bp__h3 { margin: 56px 0 20px; font-size: 20px; font-weight: 700; line-height: 1.4; }
.bp__points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.bp__point { padding: 28px 24px; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; }
.bp__no { display: block; font-family: var(--font-en); font-size: 12px; letter-spacing: 0.06em; color: #808080; }
.bp__pt { margin: 10px 0 8px; font-size: 16px; font-weight: 700; line-height: 1.5; }
.bp__pd { margin: 0; font-size: 13px; line-height: 1.8; color: #555; }
.bp__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 56px; }
.bp__note { margin: 32px 0 0; font-size: 12px; line-height: 1.7; color: #808080; }
@media screen and (max-width: 767px) {
  .sec--bp .sec__inner { margin-bottom: 16vw; }
  .bp__logo { margin: -6vw 0 24px; }
  .bp__logo img, .bp__logo svg { width: 56%; }
  .bp__lead { font-size: 15px; margin-bottom: 40px; }
  .bp__points { grid-template-columns: 1fr; gap: 12px; }
  .bp__actions { flex-direction: column; align-items: stretch; }
  .bp__actions .ox-btn { display: flex; margin: 0; width: 100%; }
}

.lg { display: block; }
.lg path { fill: currentColor; }
.lg__p { transform-box: fill-box; transform-origin: 50% 50%; }
.lxh-pc__logo .lg, .lxh-sp__logo .lg { color: #000; }
.lxh-pc__logo .lg { width: 110px; height: auto; }
.lxh-sp__logo .lg { width: 94px; height: auto; }
.mf__logo .lg { width: calc(var(--mu) * 26.9); height: auto; color: #fff; }
.lxh-pc__logo.is-bump .lg, .lxh-sp__logo.is-bump .lg { animation: lxLogoBump 0.55s cubic-bezier(0.34, 1.56, 0.64, 1); transform-origin: 50% 50%; }

.lg--fall .lg__p { opacity: 0; transform: translateY(-70px) rotate(-14deg); transition: transform 0.9s cubic-bezier(0.34, 1.4, 0.64, 1) calc(var(--d, 0) * 1ms), opacity 0.3s ease-out calc(var(--d, 0) * 1ms); }
.lg--fall .lg__p--square { --d: 0; } .lg--fall .lg__p--circle { --d: 120; transform: translateY(-70px) rotate(120deg); } .lg--fall .lg__p--S { --d: 260; } .lg--fall .lg__p--T { --d: 360; transform: translateY(-70px) rotate(18deg); } .lg--fall .lg__p--C { --d: 460; } .lg--fall .lg__p--K { --d: 560; transform: translateY(-70px) rotate(-22deg); }
.lg--fall.is-built .lg__p { opacity: 1; transform: none; }
.lg--fall.is-burst .lg__p { transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s; opacity: 0; }
.lg--fall.is-burst .lg__p--square { transform: translate(-40px, 30px) rotate(-40deg); } .lg--fall.is-burst .lg__p--circle { transform: translate(-20px, -50px) rotate(90deg); }
.lg--fall.is-burst .lg__p--S { transform: translate(10px, -60px) rotate(30deg); } .lg--fall.is-burst .lg__p--T { transform: translate(30px, 40px) rotate(-25deg); }
.lg--fall.is-burst .lg__p--C { transform: translate(50px, -40px) rotate(45deg); } .lg--fall.is-burst .lg__p--K { transform: translate(70px, 30px) rotate(-35deg); }
.mf__logo { cursor: pointer; display: inline-block; line-height: 0; }

.fx-up { transform: translateY(40px) rotate(-1.2deg); transform-origin: 20% 100%; transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1) calc(var(--i, 0) * 0.1s), transform 1.1s cubic-bezier(0.22, 1.25, 0.36, 1) calc(var(--i, 0) * 0.1s); }
.sec.app-show .fx-up { transform: translateY(0) rotate(0); }

.cs__card .cs__body, .bp__point { transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s; transform-origin: 50% 100%; }
.cs__card:hover .cs__body, .bp__point:hover { transform: translateY(-2px) rotate(-0.4deg); }
.cards__col.is-pop .card__img { transform: scale(0.97); transition: transform 0.15s; }   

.sec-title h2 .tl { display: inline-block; opacity: 0; transform: translateY(0.55em) rotate(4deg); transform-origin: 0 100%; transition: transform 0.6s cubic-bezier(0.22, 1.2, 0.36, 1) calc(var(--i, 0) * 45ms), opacity 0.35s ease-out calc(var(--i, 0) * 45ms); }
.sec.app-show .sec-title h2 .tl { opacity: 1; transform: none; }

.nw__date { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .fx-up, .sec-title h2 .tl, .lg--fall .lg__p { opacity: 1; transform: none; transition: none; } }

.sec--newsList .sec__inner { margin-bottom: 120px; }
.sec--newsList .nw__cnts { margin-top: 0; }
.sec--newsList .sec-title { margin-top: 64px; }   
.nw__list--wrap { flex-wrap: wrap; row-gap: 60px; }
.nw__list--wrap .nw__item:nth-child(4n + 1) { margin-left: 0; }
.sec--cases.sec .sec__inner { margin-bottom: 120px; }
.sec--article .sec__inner { margin-bottom: 120px; }
.ar { max-width: 760px; }
.ar__meta { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; }
.ar__meta .nw__tag { display: inline-flex; }
.ar__sub { font-size: 12px; color: #808080; }
.ar__date { font-family: var(--font-en); font-size: 12px; letter-spacing: 0.06em; color: #808080; font-variant-numeric: tabular-nums; }
.ar__company { margin: 0 0 8px; font-size: 14px; font-weight: 700; color: #555; }
.ar__title { margin: 0 0 40px; font-size: 32px; font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; }
.ar__thumb { aspect-ratio: 1.91 / 1; background: #f5f5f5; overflow: hidden; margin: 0 0 32px; }
.ar__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ar__lead { margin: 0 0 40px; font-size: 17px; line-height: 1.9; }
.ar__body p { margin: 0 0 1.6em; font-size: 16px; line-height: 1.95; }
.ar__sec { margin: 0 0 32px; }
.ar__h2 { margin: 40px 0 12px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, 0.08); font-size: 18px; font-weight: 700; line-height: 1.5; }
.ar__sec p { margin: 0; font-size: 16px; line-height: 1.95; }
.ar__foot { margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.ar__back { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #000; }
.ar__back:hover { opacity: 0.6; }
@media screen and (max-width: 767px) {
  .sec--newsList .sec__inner, .sec--article .sec__inner { margin-bottom: 16vw; }
  .nw__list--wrap { row-gap: 0; }
  .ar__title { font-size: 22px; margin-bottom: 28px; }
  .ar__lead { font-size: 15px; }
  .ar__body p, .ar__sec p { font-size: 15px; }
}

.main--pd .sec--pd .sec__inner { margin-bottom: 140px; }
.sec--pdHero .sec__inner { margin-top: 48px; }
.pd__hero { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.pd__logo img, .pd__logo svg { display: block; width: 220px; height: auto; }
.pd__h1 { margin: 32px 0 0; font-size: 40px; font-weight: 700; line-height: 1.45; letter-spacing: -0.01em; }
.pd__lead { margin: 32px 0 0; font-size: 16px; font-weight: 500; line-height: 2; color: #555; }
.pd__cta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
.pd__ph { position: relative; width: 100%; aspect-ratio: 548 / 331; background: #eee; border: 1px solid rgba(0, 0, 0, 0.06); box-sizing: border-box; }
.pd__ph span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-en); font-size: 10px; font-weight: 700; letter-spacing: 0.3em; color: #a0a0a0; }
.pd__label { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--font-en); font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: 0.36em; color: #000; }
.pd__label .pd__labelLine { display: block; width: 36px; height: 1px; background: #000; }
.pd__label .pd__labelLine:first-child { display: none; }
.pd__label--center { justify-content: center; }
.pd__label--center .pd__labelLine:first-child { display: block; }
.pd__h2 { margin: 32px 0 0; font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: -0.01em; }
.pd__h2--center { text-align: center; margin-top: 24px; }
.pd__h2--s { font-size: 30px; }
.pd__text { margin: 28px 0 0; font-size: 16px; font-weight: 500; line-height: 2; color: #555; }
.pd__what { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: center; }
.pd__feats { margin-top: 96px; }
.pd__feat { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.pd__feat + .pd__feat { margin-top: 140px; }
.pd__feat--rev .pd__featVis { order: 2; }
.pd__feat--rev .pd__featText { order: 1; }
.pd__no { display: block; font-family: var(--font-en); font-size: 56px; font-weight: 600; line-height: 1; letter-spacing: 0.02em; color: #000; }
.pd__h3 { margin: 22px 0 0; font-size: 30px; font-weight: 700; line-height: 1.6; }
.pd__h3--center { text-align: center; font-size: 32px; }
.pd__uses { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 40px 74px; margin-top: 40px; }
.pd__useNo { display: block; font-family: var(--font-en); font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: 0.04em; color: #000; }
.pd__useH4 { margin: 12px 0 0; font-size: 17px; font-weight: 700; line-height: 1.55; }
.pd__useSub { margin: 16px 0 0; font-size: 14px; font-weight: 700; line-height: 1.7; }
.pd__useDesc { margin: 16px 0 0; padding-top: 16px; border-top: 1px solid rgba(0, 0, 0, 0.06); font-size: 14px; font-weight: 500; line-height: 1.85; color: #555; }
.pd__more { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 32px; margin: 64px 0 0; padding: 0; list-style: none; }
.pd__moreItem { padding-top: 16px; border-top: 1px solid rgba(0, 0, 0, 0.12); }
.pd__moreNo { display: block; font-family: var(--font-en); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; color: #808080; }
.pd__moreTitle { margin: 10px 0 0; font-size: 15px; font-weight: 700; line-height: 1.6; }
.pd__moreText { margin: 8px 0 0; font-size: 13px; font-weight: 500; line-height: 1.8; color: #555; }
.main--pd .sec--cb .sec__inner { margin: 0 0 140px; }
.pd__faqs { max-width: 840px; margin: 56px auto 0; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.pd__faq { border-bottom: 1px solid rgba(0, 0, 0, 0.08); }
.pd__faqQ { display: flex; align-items: flex-start; gap: 12px; padding: 28px 8px; font-size: 16px; font-weight: 500; line-height: 1.5; cursor: pointer; list-style: none; transition: opacity 0.2s; }
.pd__faqQ::-webkit-details-marker { display: none; }
.pd__faqQ:hover { opacity: 0.6; }
.pd__faqMark { font-family: var(--font-en); font-weight: 700; }
.pd__faqText { flex: 1; }
.pd__plus { position: relative; flex-shrink: 0; width: 16px; height: 16px; margin-top: 4px; }
.pd__plus::before, .pd__plus::after { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 2px; background: #000; transition: transform 0.3s; }
.pd__plus::after { transform: rotate(90deg); }
.pd__faq[open] .pd__plus::after { transform: rotate(0); }
.pd__faqA { padding: 0 40px 28px; }
.pd__faqA p { margin: 0; font-size: 14.5px; font-weight: 500; line-height: 1.95; color: #555; }
.pd__rel { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.pd__relVis { display: flex; align-items: center; justify-content: center; aspect-ratio: 514 / 386; background: #eee; border: 1px solid rgba(0, 0, 0, 0.06); }
.pd__relVis .pd__logo img, .pd__relVis .pd__logo svg { width: 240px; }
.sec--pdNote .sec__inner { margin: -80px 0 120px !important; }
@media screen and (max-width: 767px) {
  .main--pd .sec--pd .sec__inner { margin-bottom: 20vw; }
  .sec--pdHero .sec__inner { margin-top: 4vw; }
  .pd__hero, .pd__what, .pd__feat, .pd__rel { grid-template-columns: 1fr; gap: 32px; }
  .pd__heroVis { order: -1; }
  .pd__logo img, .pd__logo svg { width: 48%; }
  .pd__h1 { margin-top: 20px; font-size: 28px; }
  .pd__lead, .pd__text { font-size: 15px; }
  .pd__cta { flex-direction: column; align-items: stretch; }
  .pd__h2 { font-size: 28px; }
  .pd__h2--s { font-size: 24px; }
  .pd__feats { margin-top: 56px; }
  .pd__feat + .pd__feat { margin-top: 80px; }
  .pd__feat--rev .pd__featVis { order: 0; }
  .pd__feat--rev .pd__featText { order: 0; }
  .pd__no { font-size: 40px; }
  .pd__h3 { font-size: 22px; }
  .pd__h3--center { font-size: 24px; }
  .pd__uses { grid-template-columns: 1fr; gap: 28px; }
  .pd__more { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .main--pd .sec--cb .sec__inner { margin-bottom: 20vw; }
  .pd__faqs { margin-top: 32px; }
  .pd__faqQ { padding: 20px 4px; font-size: 15px; }
  .pd__faqA { padding: 0 28px 20px; }
}

.cx { max-width: 780px; margin: 48px auto 0; }
.cx__label { display: inline-block; padding: 5px 10px; border: 1px solid rgba(0, 0, 0, 0.25); border-radius: 2px; font-family: var(--font-en); font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: 0.22em; color: #000; }
.cx__company { margin: 16px 0 0; font-size: 22px; font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; }
.cx__title { margin: 24px 0 0; font-size: 36px; font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; }
.cx__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 24px 0 0; }
.cx__cover { margin: 48px 0 0; aspect-ratio: 780 / 408; background: #eee; overflow: hidden; }
.cx__cover img, .cx__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cx__bg { margin-top: 48px; }
.cx__h2 { margin: 56px 0 0; font-size: 22px; font-weight: 700; line-height: 1.9; }
.cx__bg .cx__h2 { margin-top: 0; }
.cx__p { margin: 18px 0 0; font-size: 16px; line-height: 2; }
.cx__premise { margin: 48px 0 56px; padding: 32px 32px 36px; background: #f5f5f5; border: 1px solid rgba(0, 0, 0, 0.07); }
.cx__h3 { margin: 32px 0 0; font-size: 17px; font-weight: 700; line-height: 1.4; }
.cx__premise .cx__h3:first-child, .cx__customer .cx__h3 { margin-top: 0; }
.cx__premise p, .cx__customer p { margin: 8px 0 0; font-size: 15px; line-height: 1.85; color: #555; }
.cx__premise ul { margin: 8px 0 0; padding-left: 22px; }
.cx__premise li { margin: 6px 0; font-size: 15px; line-height: 1.85; color: #555; }
.cx__q { margin: 40px 0 0; font-size: 18px; font-weight: 700; line-height: 1.6; }
.cx__who { margin: 16px 0 0; font-size: 15.5px; font-weight: 700; line-height: 1.95; }
.cx__a { margin: 16px 0 0; font-size: 15.5px; line-height: 1.95; color: #555; }
.cx__photo { margin: 40px 0; aspect-ratio: 780 / 520; background: #eee; overflow: hidden; }
.cx__customer { margin: 48px 0 32px; padding: 24px 28px 26px; background: #f5f5f5; }
.cx__customer .cx__h3 { font-size: 18px; }
.cx__customer p { margin-top: 16px; font-size: 15.5px; line-height: 1.95; }
.cx__customer a { color: #000; text-decoration: underline; text-underline-offset: 3px; }
.cx__customer a:hover { opacity: 0.6; }
.cx__back { margin: 32px 0 0; }
.sec--cx .sec__inner { margin-bottom: 96px; }
.sec--cxOther .sec__inner { margin-bottom: 0; }
.cx__otherTitle { margin: 0 0 32px; font-size: 24px; font-weight: 700; line-height: 1.5; }
@media screen and (max-width: 767px) {
  .cx { margin-top: 2vw; }
  .cx__company { font-size: 18px; }
  .cx__title { font-size: 24px; margin-top: 16px; }
  .cx__cover { margin-top: 28px; }
  .cx__bg { margin-top: 32px; }
  .cx__h2 { margin-top: 40px; font-size: 19px; }
  .cx__premise { margin: 32px 0 40px; padding: 20px 20px 24px; }
  .cx__customer { padding: 20px; }
  .cx__photo { margin: 28px 0; }
  .cx__p, .cx__a, .cx__who { font-size: 15px; }
  .sec--cx .sec__inner { margin-bottom: 16vw; }
}

.nx { max-width: 837px; margin: 40px auto 0; }
.nx__crumb { display: flex; align-items: center; gap: 14px; font-family: var(--font-en); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 0.1em; }
.nx__crumb a { color: #000; transition: opacity 0.15s; }
.nx__crumb a:hover { opacity: 0.5; }
.nx__crumbSep { font-size: 10px; color: #808080; }
.nx__head { margin-top: 100px; }
.nx__labels { display: flex; align-items: center; gap: 0; margin: 0; line-height: 1; }
.nx__labels .nw__tagLink { margin-right: 12px; }
.nx__sub { margin-right: 15px; font-size: 10px; letter-spacing: 0.05em; color: #6b6b70; }
.nx__date { font-family: var(--font-en); font-size: 10px; letter-spacing: 0.08em; color: #a2a3a6; font-variant-numeric: tabular-nums; }
.nx__title { margin: 30px 0 0; font-size: 28px; font-weight: 700; line-height: 1.72; letter-spacing: 0.05em; }
.nx__content { margin-top: 100px; }
.nx__cover { margin: 0 22px; aspect-ratio: 793 / 447; background: #eee; border: 1px solid rgba(0, 0, 0, 0.08); overflow: hidden; }
.nx__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nx__p { margin: 40px 0 0; font-size: 16px; font-weight: 500; line-height: 2; letter-spacing: 0.05em; }
.nx__p--h { font-weight: 700; }
.nx__p--h + .nx__list, .nx__p--h + .nx__kv, .nx__p--h + .nx__p { margin-top: 0; }
.nx__list { margin: 0; padding: 0; list-style: none; font-size: 16px; font-weight: 500; line-height: 2; letter-spacing: 0.05em; }
.nx__list li::before { content: "・"; }
.nx__kv { margin: 0; font-size: 16px; font-weight: 500; line-height: 2; letter-spacing: 0.05em; }
.nx__kv div { display: flex; gap: 0; }
.nx__kv dt { flex-shrink: 0; }
.nx__kv dt::after { content: "：";}
.nx__kv dd { margin: 0; }
.nx__share { margin-top: 120px; }
.nx__shareTitle { margin: 0; font-size: 16px; font-weight: 500; line-height: 2; letter-spacing: 0.05em; }
.nx__shareList { display: flex; gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.nx__shareBtn { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 50%; color: #000; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.nx__shareBtn svg { width: 20px; height: 20px; }
.nx__shareBtn:hover, .nx__shareBtn.is-done { background: #000; color: #fff; border-color: #000; }
.sec--nx .sec__inner { margin-bottom: 200px; }
.sec--nxRel .sec__inner { margin-bottom: 0; }
.nx__relTitle { margin: 0 0 60px; font-size: 22px; font-weight: 700; line-height: 1.5; letter-spacing: 0.3em; }
@media screen and (max-width: 767px) {
  .nx { margin-top: 0; }
  .nx__head { margin-top: 48px; }
  .nx__title { font-size: 20px; line-height: 1.7; }
  .nx__content { margin-top: 48px; }
  .nx__cover { margin: 0; }
  .nx__p, .nx__list, .nx__kv { font-size: 15px; margin-top: 28px; }
  .nx__share { margin-top: 64px; }
  .sec--nx .sec__inner { margin-bottom: 24vw; }
  .nx__relTitle { margin-bottom: 32px; font-size: 18px; }
}

.sec--ap .sec__inner { max-width: 994px; margin-bottom: 0; }
.ap-crumb ol { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 7px 0; list-style: none; font-size: 12px; line-height: 2; }
.ap-crumb li + li::before { content: ">"; margin: 0 14px; color: #000; }
.ap-crumb a { color: #000; transition: opacity 0.2s; }
.ap-crumb a:hover { opacity: 0.5; }
.ap-hero { padding: 80px 0 100px; }
.ap-hero__heading { margin: 0; }
.ap-hero__en { display: block; font-family: var(--font-en); font-size: 70px; font-weight: 700; line-height: 1.3; letter-spacing: 0.023em; }
.ap-hero__jp { display: block; font-size: 30px; font-weight: 700; line-height: 1.3; }
.ap-hero__text { max-width: 615px; margin: 30px 0 0; font-size: 14px; line-height: 30px; }
.ap-btns { display: flex; gap: 20px; margin-top: 30px; }
.ap-btn { display: flex; align-items: center; justify-content: center; width: 239px; height: 50px; padding: 11px 20px; box-sizing: border-box; font-size: 14px; font-weight: 700; line-height: 28px; color: #fff; background: #000; transition: opacity 0.3s; }
.ap-btn--1 { background: #333; }
.ap-btn:hover { opacity: 0.7; }
.ap-btns--foot { justify-content: center; margin: 80px auto 60px; max-width: 780px; }
.ap-btns--foot .ap-btn { width: 380px; }
.ap-heading { position: relative; margin: 0 0 40px; padding-left: 30px; font-size: 36px; font-weight: 700; line-height: 54px; }
.ap-heading::before { content: ""; position: absolute; left: 0; top: 0; width: 2px; height: 100%; background: #000; }
.ap-filter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; margin: 0 0 80px; padding: 2px 0; }
.ap-select { width: 100%; height: 44px; padding: 10px 40px 10px 19px; box-sizing: border-box; border: 2px solid #ccc; border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 16px center / 10px 6px; font: inherit; font-size: 14px; line-height: 1.4; color: #000; appearance: none; -webkit-appearance: none; cursor: pointer; }
.ap-select:focus { outline: none; border-color: #000; }
.ap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.ap-grid__col[hidden] { display: none; }
.ap-card { display: block; color: #000; }
.ap-card__image { aspect-ratio: 477 / 268; margin: 0 0 20px; background: #eee; overflow: hidden; }
.ap-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s; }
.ap-card:hover .ap-card__image img { transform: scale(1.04); opacity: 0.85; }
.ap-card__client { margin: 0 0 10px; font-size: 16px; line-height: 26px; }
.ap-card__case { margin: 0; font-size: 20px; font-weight: 700; line-height: 33px; }
.ap-card:hover .ap-card__case { text-decoration: underline; text-underline-offset: 4px; }
.ap-empty { margin: 0; padding: 40px 0; font-size: 14px; color: #808080; text-align: center; }
.ap-pager ul { display: flex; justify-content: center; gap: 12px; margin: 40px 0 0; padding: 0; list-style: none; }
.ap-pager span, .ap-pager a { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; box-sizing: border-box; border: 1px solid #222; font-size: 13px; color: #000; }
.ap-pager .is-active { background: #222; color: #fff; }

.apx { max-width: 780px; margin: 40px auto 0; }
.apx-eyecatch { margin: 0 0 30px; aspect-ratio: 780 / 439; background: #eee; overflow: hidden; }
.apx-eyecatch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.apx-header { margin: 0 0 60px; }
.apx-header__heading { margin: 0; font-size: 36px; font-weight: 700; line-height: 54px; }
.apx-header__company { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 20px 0 0; }
.apx-header__name { margin: 0; font-size: 14px; font-weight: 700; line-height: 28px; }
.apx-header__logo { display: flex; align-items: center; justify-content: center; width: 160px; height: 54px; flex-shrink: 0; background: #eee; }
.apx-header__logo span { font-family: var(--font-en); font-size: 10px; font-weight: 700; letter-spacing: 0.3em; color: #a0a0a0; }
.apx-attr { margin: 30px 0 0; border-collapse: separate; border-spacing: 2px; font-size: 13px; line-height: 26px; }
.apx-attr th { width: 102px; padding: 5px 10px 5px 0; font-weight: 700; text-align: left; vertical-align: top; }
.apx-attr td { padding: 5px 0; }
.apx-attr__svc { display: flex; align-items: center; gap: 5px; padding: 6px 0; }
.apx-attr__ico { display: inline-block; width: 24px; height: 24px; background: #000; -webkit-mask: url("../img/business/ph-oa.svg") center / 16px no-repeat; mask: url("../img/business/ph-oa.svg") center / 16px no-repeat; }
.apx-problems, .apx-effects { margin: 20px 0 0; border-collapse: separate; border-spacing: 2px; font-size: 13px; line-height: 26px; }
.apx-problems th, .apx-effects th { width: 98px; height: 98px; padding: 0; vertical-align: middle; }
.apx-problems th span, .apx-effects th span { display: flex; align-items: center; justify-content: center; width: 98px; height: 98px; font-size: 18px; font-weight: 700; color: #fff; background: #999; }
.apx-effects th span { background: #000; }
.apx-problems td, .apx-effects td { padding: 10px 12px 10px 35px; vertical-align: middle; }
.apx-problems ul, .apx-effects ul { margin: 0; padding: 0; list-style: none; }
.apx-problems li::before, .apx-effects li::before { content: "-"; margin: 0 10px 0 -15px; color: #999; }
.apx-effects li { font-weight: 700; }
.ap-appeal { padding: 71px 0; border-top: 1px solid #222; border-bottom: 1px solid #222; text-align: center; }
.ap-appeal__heading { margin: 0 0 60px; font-size: 24px; font-weight: 700; line-height: 1.4; }
.ap-appeal__cta { display: flex; margin: 0; padding: 0; list-style: none; }
.ap-appeal__item { flex: 1; }
.ap-appeal__item a { position: relative; display: flex; align-items: center; justify-content: center; height: 110px; font-size: 18px; font-weight: 700; line-height: 1.4; color: #fff; background: #000; transition: background-color 0.5s; }
.ap-appeal__item--1 a { background: #333; }
.ap-appeal__item a:hover { background: #555; }
.ap-appeal__ico { display: block; width: 22px; height: 22px; margin-right: 24px; border: 1.5px solid #fff; box-sizing: border-box; }
.ap-appeal__item--1 .ap-appeal__ico { border-radius: 50%; }
.ap-appeal__tel { margin: 24px 0 0; font-family: var(--font-en); font-size: 28px; font-weight: 700; line-height: 1; letter-spacing: 0.06em; }
.ap-appeal__note { margin: 9px 0 0; font-size: 12px; line-height: 1.4; }
.apx-header + .ap-appeal { margin-bottom: 0; }
.apx-article { margin: 0 0 40px; }
.apx-article h2 { position: relative; margin: 60px 0 0; padding: 0 0 20px; border-bottom: 1px solid #e6e6e6; font-size: 28px; font-weight: 700; line-height: 42px; }
.apx-article h2::before { content: ""; position: absolute; left: 0; bottom: -1px; width: 80px; height: 1px; background: #222; }
.apx-article p { margin: 20px 0 0; font-size: 14px; line-height: 28px; }
.apx-figure { margin: 20px 0 0; }
.apx-figure img { display: block; width: 100%; aspect-ratio: 780 / 520; object-fit: cover; background: #eee; }
.apx-figure figcaption { margin: 10px 0 0; font-size: 12px; line-height: 24px; color: #666; }
.sec--apx .sec__inner { margin-bottom: 120px; }
.ap-center { margin: 0 0 40px; text-align: center; }
.ap-center__en { display: block; font-family: var(--font-en); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 0.13em; }
.ap-center__jp { display: block; margin: 22px 0 0; font-size: 32px; font-weight: 700; line-height: 1.7; }
.ap-more { position: relative; display: block; margin: 40px 0 0; padding: 18px 0; font-family: var(--font-en); font-size: 18px; line-height: 36px; text-align: center; color: #000; background: #f5f5f5; overflow: hidden; }
.ap-more::after { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 100%; background: #e2e2e2; transition: width 0.3s; }
.ap-more:hover::after { width: 100%; }
.ap-more__text, .ap-more__border { position: relative; z-index: 1; }
.ap-more__border { display: inline-block; width: 21px; height: 1px; margin-left: 5px; vertical-align: middle; background: #000; }
.main--ap .sec--cb .sec__inner { margin-top: 120px; }
@media screen and (max-width: 767px) {
  .ap-hero { padding: 40px 0 56px; }
  .ap-hero__en { font-size: 44px; }
  .ap-hero__jp { font-size: 20px; }
  .ap-hero__text { font-size: 13px; line-height: 26px; }
  .ap-btns { flex-direction: column; gap: 12px; }
  .ap-btn, .ap-btns--foot .ap-btn { width: 100%; }
  .ap-btns--foot { margin: 48px 0 40px; }
  .ap-heading { padding-left: 16px; font-size: 24px; line-height: 36px; margin-bottom: 24px; }
  .ap-filter { grid-template-columns: 1fr; gap: 12px; margin-bottom: 40px; }
  .ap-grid { grid-template-columns: 1fr; gap: 32px; }
  .ap-card__client { font-size: 14px; margin-bottom: 4px; }
  .ap-card__case { font-size: 17px; line-height: 28px; }
  .apx { margin-top: 16px; }
  .apx-header { margin-bottom: 40px; }
  .apx-header__heading { font-size: 24px; line-height: 36px; }
  .apx-header__logo { width: 112px; height: 38px; }
  .apx-problems th, .apx-effects th, .apx-problems th span, .apx-effects th span { width: 64px; height: 64px; font-size: 14px; }
  .apx-problems td, .apx-effects td { padding: 6px 0 6px 28px; }
  .ap-appeal { padding: 40px 0; }
  .ap-appeal__heading { margin-bottom: 28px; font-size: 18px; }
  .ap-appeal__cta { flex-direction: column; }
  .ap-appeal__item a { height: 72px; font-size: 16px; }
  .apx-article h2 { margin-top: 44px; font-size: 21px; line-height: 32px; padding-bottom: 14px; }
  .apx-article p { font-size: 14px; }
  .sec--apx .sec__inner { margin-bottom: 64px; }
  .ap-center__jp { font-size: 24px; margin-top: 12px; }
  .main--ap .sec--cb .sec__inner { margin-top: 64px; }
}

.mv__tagline--text .tg-ch { display: inline-block; will-change: transform; }
.mv__tagline--text .tg-ph { display: inline-block; }
[data-tag="b"] .mv__tagline--text { transform-origin: 50% 50%; }
[data-tag="b"] .mv__tagline--text .tg-ph, [data-tag="c"] .mv__tagline--text .tg-ph { opacity: 0; }
.tg-switch { position: fixed; left: 50%; bottom: 20px; z-index: 9000; display: flex; gap: 4px; padding: 4px; transform: translateX(-50%); background: #fff; border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 999px; }
.tg-switch__btn { display: flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1; white-space: nowrap; color: #000; transition: background 0.2s, color 0.2s; }
.tg-switch__btn:hover { background: #eee; }
.tg-switch__btn.is-act { background: #000; color: #fff; }
.tg-switch__btn--again { color: #808080; }
@media screen and (max-width: 767px) {
  .tg-switch { left: 8px; right: 8px; bottom: 12px; transform: none; justify-content: space-between; gap: 2px; border-radius: 22px; }
  .tg-switch__btn { height: 34px; padding: 0 8px; font-size: 10.5px; }
}

.is-sub .fx-up { transform: none; transition: opacity 0.6s ease-out calc(var(--i, 0) * 0.04s); }
.is-sub .sec.app-show .fx-up { transform: none; }
.is-sub .sec-title h2 .tl { opacity: 1; transform: none; transition: none; }
.is-sub .js-mask { display: none; }
.is-sub .cs__card:hover .cs__body, .is-sub .bp__point:hover { transform: none; }
.is-sub .mf__logo .lg__p { opacity: 1; transform: none; transition: none; }

.mv__tagline--text .tg-ch { transition: rotate 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) calc(var(--k, 0) * 22ms); }
.mv__tagline--text .tg-ch.is-sel { rotate: 180deg; }
.mv__tagline--text .tg-ch::selection { background: #000; color: #fff; }
@media (prefers-reduced-motion: reduce) { .mv__tagline--text .tg-ch { transition: none; } .mv__tagline--text .tg-ch.is-sel { rotate: none; } }

.cp__form > .cp__note { margin: 16px 0 0; font-size: 13px; line-height: 1.7; color: #b42318; }
.cp__note:empty { display: none; }
.cp__thanks { margin: 0; padding: 40px 0; font-size: 16px; font-weight: 700; line-height: 1.9; }

.sec--cc .sec__inner { margin-bottom: 120px; }
.sec--cc .nx__crumb { margin-top: 40px; }
.sec--cc .sec-title { margin: 56px 0 24px; }
.cc-lead { max-width: 640px; margin: 0 0 40px; font-size: 15px; line-height: 1.9; color: #555; }
.cc-label { margin: 0 0 12px; font-family: var(--font-en); font-size: 11px; font-weight: 700; letter-spacing: 0.2em; color: #808080; }
.cc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.cc-company { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.6; color: #555; }

.cc-filter { display: grid; gap: 12px; padding: 20px 0; border-top: 1px solid rgba(0, 0, 0, 0.12); border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
.cc-filter__row { display: flex; align-items: flex-start; gap: 16px; }
.cc-filter__label { flex-shrink: 0; width: 40px; padding-top: 8px; font-size: 12px; font-weight: 700; color: #808080; }
.cc-filter__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cc-chip { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border: 1px solid #d0d0d0; border-radius: 999px; background: #fff; font: inherit; font-size: 13px; color: #000; cursor: pointer; transition: border-color 0.2s, background 0.2s, color 0.2s; }
.cc-chip:hover { border-color: #000; }
.cc-chip.is-act { background: #000; border-color: #000; color: #fff; }
.cc-chip__n { font-family: var(--font-en); font-size: 11px; color: #808080; }
.cc-chip.is-act .cc-chip__n { color: rgba(255, 255, 255, 0.7); }
.cc-count { margin: 24px 0 24px; font-size: 13px; color: #555; }
.cc-count b { margin-right: 2px; font-family: var(--font-en); font-size: 20px; color: #000; }

.cc-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; padding-bottom: 56px; margin-bottom: 56px; border-bottom: 1px solid rgba(0, 0, 0, 0.12); color: #000; }
.cc-feature__img, .cc-card__img { aspect-ratio: 16 / 10; background: #eee; overflow: hidden; }
.cc-feature__img img, .cc-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.cc-feature:hover img, .cc-card:hover img { transform: scale(1.03); }
.cc-feature__title { margin: 8px 0 0; font-size: 26px; font-weight: 700; line-height: 1.55; }
.cc-nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.cc-nums li { padding-top: 12px; border-top: 2px solid #000; }
.cc-nums b { display: block; font-family: var(--font-en); font-size: 34px; font-weight: 700; line-height: 1.1; letter-spacing: -0.01em; }
.cc-nums span { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: #555; }
.cc-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.cc-more__arw { display: inline-block; transition: transform 0.3s; text-decoration: none; }
.cc-feature:hover .cc-more__arw { transform: translateX(6px); }

.cc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 28px; }
.cc-card { display: flex; flex-direction: column; color: #000; }
.cc-card__body { padding-top: 16px; }
.cc-card__title { margin: 6px 0 0; font-size: 17px; font-weight: 700; line-height: 1.6; }
.cc-card:hover .cc-card__title { text-decoration: underline; text-underline-offset: 4px; }
.cc-card__num { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid rgba(0, 0, 0, 0.12); }
.cc-card__num b { font-family: var(--font-en); font-size: 26px; font-weight: 700; line-height: 1.1; }
.cc-card__num span { font-size: 12px; line-height: 1.6; color: #555; }
.cc-card__excerpt { margin: 12px 0 0; font-size: 13px; line-height: 1.8; color: #555; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cc-item[hidden] { display: none; }
.cc-empty { padding: 48px 0; text-align: center; font-size: 14px; color: #555; }
.cc-reset { margin-left: 12px; padding: 0; border: 0; background: none; font: inherit; text-decoration: underline; cursor: pointer; }
.cc-h { margin: 0 0 32px; font-size: 22px; font-weight: 700; }
.sec--ccOther .sec__inner { margin-bottom: 0; }

.ccx-head { max-width: 880px; margin-top: 40px; }
.ccx-title { margin: 8px 0 0; font-size: 34px; font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; }
.ccx-meta { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 24px 0 0; }
.ccx-meta div { display: flex; gap: 10px; font-size: 13px; }
.ccx-meta dt { color: #808080; } .ccx-meta dd { margin: 0; font-weight: 700; }
.ccx-cover { margin: 40px 0 0; aspect-ratio: 16 / 8; background: #eee; overflow: hidden; }
.ccx-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ccx-nums-wrap { margin: 56px 0 0; }
.ccx-nums { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; border-top: 2px solid #000; border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
.ccx-nums li { padding: 28px 24px 28px 0; }
.ccx-nums li + li { padding-left: 24px; border-left: 1px solid rgba(0, 0, 0, 0.12); }
.ccx-nums b { display: block; font-family: var(--font-en); font-size: 52px; font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.ccx-nums span { display: block; margin-top: 12px; font-size: 13px; line-height: 1.7; color: #555; }
.ccx-ba { display: grid; grid-template-columns: 1fr 40px 1fr; align-items: stretch; margin: 40px 0 0; }
.ccx-ba__col { padding: 28px 28px 24px; }
.ccx-ba__col--before { background: #f3f3f3; }
.ccx-ba__col--after { background: #000; color: #fff; }
.ccx-ba__label { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; }
.ccx-ba__col--before .ccx-ba__label { color: #555; }
.ccx-ba__col ul { margin: 0; padding: 0; list-style: none; }
.ccx-ba__col li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.85; }
.ccx-ba__col li + li { margin-top: 6px; }
.ccx-ba__col li::before { content: ""; position: absolute; left: 0; top: 0.9em; width: 8px; height: 1px; background: currentColor; }
.ccx-ba__arw { display: flex; align-items: center; justify-content: center; font-size: 18px; color: #808080; }
.ccx-body { display: grid; grid-template-columns: 200px 1fr; gap: 64px; margin-top: 72px; align-items: start; }
.ccx-toc { position: sticky; top: 120px; }
.ccx-toc__title { margin: 0 0 12px; font-size: 12px; font-weight: 700; color: #808080; }
.ccx-toc ol { margin: 0; padding: 0; list-style: none; border-left: 1px solid rgba(0, 0, 0, 0.12); }
.ccx-toc a { display: flex; gap: 10px; padding: 8px 0 8px 14px; margin-left: -1px; border-left: 2px solid transparent; font-size: 13px; line-height: 1.6; color: #555; transition: color 0.2s, border-color 0.2s; }
.ccx-toc a span { font-family: var(--font-en); font-size: 11px; color: #a0a0a0; }
.ccx-toc a:hover, .ccx-toc a.is-act { color: #000; border-left-color: #000; }
.ccx-main { max-width: 720px; }
.ccx-main section { scroll-margin-top: 110px; }
.ccx-h2 { margin: 64px 0 24px; padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, 0.12); font-size: 23px; font-weight: 700; line-height: 1.55; }
.ccx-main > section:first-child .ccx-h2 { margin-top: 0; }
.ccx-no { display: block; margin-bottom: 8px; font-family: var(--font-en); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; color: #a0a0a0; }
.ccx-p { margin: 0 0 1.4em; font-size: 16px; line-height: 2; }

.ccx-q { position: relative; margin: 40px 0 16px; padding-left: 40px; font-size: 17px; font-weight: 700; line-height: 1.7; }
.ccx-q__mark { position: absolute; left: 0; top: 0.05em; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: #000; color: #fff; font-family: var(--font-en); font-size: 13px; font-weight: 700; }
.ccx-a { padding-left: 40px; }
.ccx-who { margin: 0 0 8px; font-size: 12px; font-weight: 700; color: #808080; }
.ccx-fig { margin: 32px 0; }
.ccx-fig img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: #eee; }
.ccx-fig figcaption { margin-top: 10px; font-size: 12px; line-height: 1.7; color: #666; }
.ccx-cust { margin: 64px 0 0; padding: 32px; background: #f3f3f3; }
.ccx-cust__title { margin: 0 0 16px; font-size: 17px; font-weight: 700; }
.ccx-cust__dl { display: grid; gap: 6px; margin: 0 0 16px; }
.ccx-cust__dl div { display: grid; grid-template-columns: 88px 1fr; gap: 12px; font-size: 14px; line-height: 1.8; }
.ccx-cust__dl dt { color: #808080; } .ccx-cust__dl dd { margin: 0; }
.ccx-cust__dl a { color: #000; text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }
.ccx-cust .ccx-p { margin: 0; font-size: 14px; }
.ccx-back { margin: 48px 0 0; }
.sec--ccx .sec__inner { margin-bottom: 96px; }
@media screen and (max-width: 767px) {
  .sec--cc .sec__inner { margin-bottom: 20vw; }
  .sec--cc .nx__crumb { margin-top: 8px; }
  .sec--cc .sec-title { margin: 32px 0 16px; }
  .cc-lead { font-size: 14px; margin-bottom: 24px; }
  .cc-filter__row { flex-direction: column; gap: 8px; }
  .cc-filter__label { padding-top: 0; }
  .cc-filter__chips { gap: 6px; }   
  .cc-chip { height: 32px; padding: 0 12px; font-size: 12px; }
  .cc-feature { grid-template-columns: 1fr; gap: 20px; padding-bottom: 40px; margin-bottom: 40px; }
  .cc-feature__title { font-size: 20px; }
  .cc-nums { grid-template-columns: 1fr; gap: 0; }
  .cc-nums li { display: flex; align-items: baseline; gap: 12px; padding: 12px 0; border-top-width: 1px; }
  .cc-nums li:first-child { border-top-width: 2px; }
  .cc-nums b { font-size: 28px; } .cc-nums span { margin-top: 0; }
  .cc-grid { grid-template-columns: 1fr; gap: 40px; }
  .ccx-head { margin-top: 16px; }
  .ccx-title { font-size: 23px; }
  .ccx-meta { gap: 6px 20px; }
  .ccx-cover { margin-top: 24px; aspect-ratio: 16 / 10; }
  .ccx-nums-wrap { margin-top: 36px; }
  .ccx-nums { grid-template-columns: 1fr; }
  .ccx-nums li, .ccx-nums li + li { display: flex; align-items: baseline; gap: 14px; padding: 16px 0; border-left: 0; }
  .ccx-nums li + li { border-top: 1px solid rgba(0, 0, 0, 0.12); }
  .ccx-nums b { font-size: 36px; } .ccx-nums span { margin-top: 0; }
  .ccx-ba { grid-template-columns: 1fr; }
  .ccx-ba__arw { height: 36px; transform: rotate(90deg); }
  .ccx-ba__col { padding: 22px 20px 18px; }
  .ccx-body { grid-template-columns: 1fr; gap: 32px; margin-top: 48px; }
  .ccx-toc { position: static; padding: 16px 20px; background: #f7f7f7; }
  .ccx-toc ol { border-left: 0; }
  .ccx-toc a { padding: 6px 0; border-left: 0; margin-left: 0; }
  .ccx-h2 { margin-top: 48px; font-size: 20px; }
  .ccx-p { font-size: 15px; }
  .ccx-q { padding-left: 34px; font-size: 16px; }
  .ccx-a { padding-left: 0; }
  .ccx-cust { padding: 24px 20px; }
  .sec--ccx .sec__inner { margin-bottom: 16vw; }
}

.cs__num { display: flex; align-items: baseline; gap: 8px; margin: 12px 0 0; }
.cs__num b { font-family: var(--font-en); font-size: 22px; font-weight: 700; line-height: 1.1; color: #000; }
.cs__num span { font-size: 11px; line-height: 1.6; color: #555; }

.cp__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.sec-title h2 > span:not(.tl) { display: flex; align-items: center; gap: 0.56em; }
.sec-title h2 > span:not(.tl)::before { content: ""; flex-shrink: 0; width: 0.94em; height: 0.94em; background: url("../img/mark-nav.svg") no-repeat center / contain; }

.bars-main { position: fixed; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
html:not(.is-sub) footer.mf { position: relative; isolation: isolate; }
.bars-foot { position: absolute; left: 0; top: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }

.sec-title h1 { position: relative; font-family: var(--font-en); font-size: 48px; font-weight: bold; line-height: 1; letter-spacing: -0.2px; -webkit-font-smoothing: antialiased; margin: 0; }
.sec-title h1 span { display: block; font-size: 16px; margin-top: 15px; letter-spacing: 0; }
.sec-title h1 .tl { display: inline-block; font-size: inherit; margin-top: 0; letter-spacing: inherit; }
.sec-title h1 > span:not(.tl) { display: flex; align-items: center; gap: 0.56em; }
.sec-title h1 > span:not(.tl)::before { content: ""; flex-shrink: 0; width: 0.94em; height: 0.94em; background: url("../img/mark-nav.svg") no-repeat center / contain; }
.sec--company .sec-title--page { margin: 64px 0 72px; }
.main--page .sec--company .sec__inner { margin-bottom: 0; }
.main--page .sec--company + .sec--company { padding-top: 96px; }
.main--page .sec--last { padding-bottom: 160px; }

.pg-h2 { margin: 0 0 32px; }
.pg-h2__en { display: block; font-family: var(--font-en); font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: 0.01em; }
.pg-h2__ja { display: block; margin-top: 8px; font-size: 13px; font-weight: 700; line-height: 1.6; }
.pg-link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pg-link:hover { opacity: 0.6; }
.co__list { margin: 0; padding: 0; list-style: none; }
.co__list li { position: relative; padding-left: 1em; }
.co__list li::before { content: "・"; position: absolute; left: 0; }
.co__map { max-width: 860px; aspect-ratio: 16 / 9; margin-top: 24px; background: var(--gray); }
.co__map iframe { display: block; width: 100%; height: 100%; border: 0; }
.co__mapLink { margin: 16px 0 0; font-size: 14px; }
.ab { max-width: 860px; }
.ab__h3 { margin: 0 0 24px; font-size: 28px; font-weight: 700; line-height: 1.6; }
.co__originWord + .ab__h3 { margin-top: 8px; }

.pl { max-width: 860px; }
.pl__h2 { margin: 48px 0 12px; font-size: 18px; font-weight: 700; line-height: 1.6; }
.pl__p { font-size: 15px; }
.pl__b { display: inline-block; margin-top: 8px; font-weight: 700; }
.pl__date { margin: 56px 0 0; font-size: 14px; line-height: 1.8; color: #555; }

.bz__lead { max-width: 860px; margin: -40px 0 56px; font-size: 16px; line-height: 1.9; }
.bz__lead--page { margin-top: -24px; }
.bz__more, .nw__more { display: flex; justify-content: flex-end; }
.bz__more { margin-top: 24px; }
.cards--biz .card__title a { padding-bottom: 2px; }
.cards--biz .card__operator { margin-bottom: 0; }
.cards--biz .card__name { padding: 0 12px; text-align: center; line-height: 1.35; }
.bz { max-width: 860px; }
.sec--biz .bz { padding-top: 56px; border-top: 1px solid var(--line); }
.main--page .sec--company + .sec--biz { padding-top: 64px; }
.bz__head { display: flex; align-items: center; gap: 24px; margin-bottom: 28px; }
.bz__logo { display: flex; align-items: center; justify-content: center; flex: none; width: 160px; height: 96px; border: 1px solid var(--line); }
.bz__logo svg { width: 70%; height: auto; display: block; }
.bz__logo img { width: 70%; }
.bz__logo .card__name { font-size: 13px; text-align: center; padding: 0 8px; }
.bz__name { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.4; }
.bz__en { margin: 4px 0 0; font-family: var(--font-en); font-size: 12px; letter-spacing: 0.06em; color: #808080; }
.bz__cta { margin-top: 32px; }
.bz__cta .ox-btn { width: auto; padding-right: 72px; }

.nw__thumb { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; margin-bottom: 16px; background: var(--gray); }
.nw__thumb img { width: 56%; max-height: 50%; object-fit: contain; }
.nw__thumbName { font-family: var(--font-en); font-size: 13px; font-weight: 700; }
.nw__body .nw__tag { display: inline-flex; vertical-align: top; margin-right: 12px; }
.nw__svc { display: inline-block; vertical-align: top; margin-right: 12px; font-size: 10px; line-height: 20px; letter-spacing: 0.05em; color: #808080; }
.nw__panel:not(.is-link):hover { opacity: 1; }
.nw__list--wrap { flex-wrap: wrap; row-gap: 64px; }
.nw__list--wrap .nw__item { margin: 0 6% 0 0; }
.nw__list--wrap .nw__item:nth-child(4n) { margin-right: 0; }
.nw__filters { display: flex; flex-wrap: wrap; gap: 16px 32px; margin: -40px 0 48px; }
.nw__fg { display: flex; flex-wrap: wrap; gap: 8px; }
.nw__chip { padding: 6px 14px; font: inherit; font-size: 12px; line-height: 1.4; color: #000; background: none; border: 1px solid #c0c0c0; border-radius: 999px; cursor: pointer; }
.nw__chip[aria-pressed="true"] { color: #fff; background: #000; border-color: #000; }
.nw__empty { margin: 0; font-size: 15px; line-height: 1.8; }

.mv { position: relative; }
.mv__scroll { position: absolute; left: 50%; bottom: 28px; z-index: 5; display: flex; flex-direction: column; align-items: center; gap: 10px; transform: translateX(-50%); color: #000; text-decoration: none; opacity: 0; transition: opacity 0.8s ease 0.4s; }
html.op-done .mv__scroll { opacity: 1; }
.mv__scrollText { font-family: var(--font-en); font-size: 10px; letter-spacing: 0.2em; line-height: 1; }
.mv__scrollLine { position: relative; display: block; width: 1px; height: 48px; overflow: hidden; background: rgba(0, 0, 0, 0.12); }
.mv__scrollLine::after { content: ""; position: absolute; inset: 0; background: #000; transform-origin: top; animation: mvScroll 2s cubic-bezier(0.65, 0, 0.35, 1) infinite; }
@keyframes mvScroll { 0% { transform: scaleY(0); transform-origin: top; } 45% { transform: scaleY(1); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (prefers-reduced-motion: reduce) { .mv__scroll { opacity: 1; transition: none; } .mv__scrollLine::after { animation: none; transform: none; } }

.cp__lead { margin: -24px 0 0; }
.cp__opt { padding: 1px 6px; font-size: 10px; font-weight: 700; line-height: 1.6; color: #808080; border: 1px solid #c0c0c0; border-radius: 2px; }
.cp__err { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: #c00; }
.cp__count { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: #808080; text-align: right; }
.cp__count.is-bad { color: #c00; }
.cp__note--consent { margin: 12px 0 0; font-size: 12px; line-height: 1.8; color: #555; }
.cp__status { margin: 16px 0 0; font-size: 13px; line-height: 1.8; color: #c00; }
.cp__confirm, .cp__done { margin-top: 64px; }
.cp__confirm .cp__lead { margin: 0 0 32px; }
.cp__reviewMsg { white-space: pre-wrap; word-break: break-word; }
.cp__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px; margin-top: 40px; }
.cp__back { padding: 0; font: inherit; font-size: 14px; color: #000; background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cp__back:disabled, .cp__actions .ox-btn:disabled { opacity: 0.4; cursor: default; }
.cp__done:focus { outline: none; }
.cp__doneTitle { font-size: 22px; }

.mf__socialLink--static { cursor: default; }
.mf__address { display: block; margin-top: 4px; }
@media screen and (max-width: 767px) {
  .sec--company .sec-title--page { margin: 12vw 0 12vw; }
  .sec-title h1 { font-size: 7.5vw; letter-spacing: 0.2px; }
  .sec-title h1 span { font-size: 3.2vw; margin-top: 2.9333vw; }
  .main--page .sec--company + .sec--company { padding-top: 64px; }
  .main--page .sec--last { padding-bottom: 96px; }
  .pg-h2__en { font-size: 22px; }
  .ab__h3 { font-size: 20px; }
  .pl__h2 { font-size: 16px; margin-top: 40px; }
  .pl__p { font-size: 14px; }
  .bz__lead { margin: -8vw 0 10vw; font-size: 14px; }
  .bz__lead--page { margin-top: -4vw; }
  .bz__head { gap: 16px; }
  .bz__logo { width: 112px; height: 68px; }
  .bz__name { font-size: 19px; }
  .cards--biz .card__title a { font-size: 3.7333vw; line-height: 1.6; padding-top: 3.2vw; }
  .cards--biz .card__name { font-size: 3.2vw; }
  .bz__more, .nw__more { justify-content: center; }
  
  .nw__panel { display: grid; grid-template-columns: 112px 1fr; gap: 16px; align-items: start; }
  .nw__thumb { margin-bottom: 0; }
  .nw__item + .nw__item, .nw__list--wrap .nw__item { margin: 0; }
  .nw__list { display: flex; flex-direction: column; gap: 32px; }
  .nw__hdg { margin-top: 8px; font-size: 13px; line-height: 1.8; }
  .nw__filters { margin: -6vw 0 10vw; }
  .mv__scroll { bottom: 20px; }
  .cp__actions { flex-direction: column-reverse; align-items: stretch; text-align: center; }
}

.pg-h2__ja { display: flex; align-items: center; gap: 0.56em; }
.pg-h2__ja::before { content: ""; flex-shrink: 0; width: 0.94em; height: 0.94em; background: url("../img/mark-nav.svg") no-repeat center / contain; }
.cp__done .pg-h2__ja::before { display: none; }

.nw__more[hidden], .nw__filters[hidden], .nw__empty[hidden], .cp__err[hidden], .cp__status[hidden], .cp__confirm[hidden], .cp__done[hidden], .cp__form[hidden] { display: none; }

@media (min-width: 768px) {
  .sec--news .nw__list:not(.nw__list--wrap) .nw__item { width: 29.3333%; }
}

.bz__cta { display: flex; flex-wrap: wrap; gap: 16px; }
