html, body { overflow-x: clip; }
.t2-logo text { font-family: "Arial", "Helvetica Neue", sans-serif; font-weight: 700; font-size: 40px; fill: currentColor; }
.p-top-mv__above__bg { background-color: #15171b; }
.t2-dal, .t2-dal-list { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; overflow: clip; } 
.t2-dal-list::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #cbcbcb; mix-blend-mode: multiply; pointer-events: none; }
.t2-dal-bg { display: flex; height: 50%; }
.t2-dal-bg ul { display: flex; flex: 0 0 auto; margin: 0; padding: 0; list-style: none; }
.t2-dal-bg li { flex: 0 0 auto; height: 100%; }
.t2-dal-bg img { display: block; width: auto; height: 100%; max-width: none; }
.t2-dal-bg.type01 ul:first-child { animation: t2LoopLeft01 494s -247s linear infinite; }
.t2-dal-bg.type01 ul:last-child { animation: t2LoopLeft02 494s linear infinite; }
.t2-dal-bg.type02 ul:first-child { animation: t2LoopRight01 477s -238.5s linear infinite; }
.t2-dal-bg.type02 ul:last-child { animation: t2LoopRight02 477s linear infinite; }
@keyframes t2LoopLeft01 { from { transform: translateX(100%); } to { transform: translateX(-100%); } }
@keyframes t2LoopLeft02 { from { transform: translateX(0); } to { transform: translateX(-200%); } }
@keyframes t2LoopRight01 { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@keyframes t2LoopRight02 { from { transform: translateX(-200%); } to { transform: translateX(0); } }
.t2-copy text { font-family: YakuHanJP, "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "Meiryo", sans-serif; font-weight: 700; font-size: 112px; letter-spacing: -2px; }
.p-top-mv__fixItem.is-top .svg-mv-copy { color: #fff; fill: currentColor; }
.t2-window { position: absolute; top: -10%; left: -20%; width: 140%; height: 120%; background-size: 200% auto; background-position: 82% 90%; animation: t2-pan 40s ease-in-out infinite alternate; }
@keyframes t2-pan { from { transform: translateX(-6%); } to { transform: translateX(6%); } }
.t2-label { font-family: "Arial", "Helvetica Neue", sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 2px; color: #aaaaaa; margin-bottom: 14px; }
.t2-below-head { font-size: 32px; font-weight: 700; line-height: 1.45; letter-spacing: 1.5px; margin-bottom: 33px; }
@media screen and (max-width: 1000px) { .t2-below-head { font-size: 26px; margin-bottom: 15px; } }
@media screen and (max-width: 600px) { .t2-below-head { font-size: 22px; } }
.t2-service-link { width: 153px; margin: -60px 0 70px 2px; }
.p-top-service + .p-top-interview { padding-top: 0; }
@media screen and (max-width: 600px) { .t2-service-link { margin: -36px 0 40px; } }
.t2-ph { background-color: #d5d5d5; }
.c-interview__wrap { cursor: default; }
.l-recruit-link { height: auto; min-height: 413px; }
.l-recruit-link__inner { padding-bottom: 93px; }
@media screen and (max-width: 600px) { .l-recruit-link__inner { padding-bottom: 40px; } }
.t2-recruit-head { font-family: inherit; font-size: 30px; font-weight: 700; line-height: 1.5; }
.t2-recruit-btn { font-family: "Arial", "Helvetica Neue", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 1px; margin-top: 18px; }
@media screen and (max-width: 600px) { .t2-recruit-head { font-size: 22px; } }
.t2-contact { height: 30vw; min-height: 360px; }
.t2-contact::after { display: none; }
.t2-contact .p-hover-box__item { width: 100%; }
.t2-contact .p-hover-box__item p { max-width: 640px; margin: 12px auto 0; font-size: 14px; line-height: 2; }
.t2-contact-btn { position: relative; z-index: 1; display: inline-block; margin: 28px auto 0; padding: 14px 40px; border: 1px solid currentColor; font-size: 13px; font-weight: 700; letter-spacing: 1px; }
.t2-hover-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50% 80%; }
.t2-contact .p-hover-box__cursor { font-size: 11px; }
@media screen and (max-width: 1000px) { .t2-contact { height: auto; min-height: 0; } .t2-contact .p-hover-box__item { height: auto; padding: 80px 20px; } }
.l-footer__links__item { font-size: 13px; font-weight: 700; letter-spacing: 1px; }
.l-opening #svg-opening .t2-copy text { fill: #aaaaaa; }
.l-opening #svg-opening .op-after .t2-copy text { fill: none; stroke: #aaaaaa; stroke-width: 1px; opacity: 0; }
@media screen and (min-width: 801px) {
  .l-opening #svg-opening .op-after text { transform: translate3d(3%, 1%, 0); }
  .l-opening #svg-opening .op-after text:nth-child(2n) { transform: translate3d(3%, -1%, 0); }
}
@media screen and (max-width: 800px) { .l-opening #svg-opening .op-after text { transform: translate3d(3%, 0, 0); } }
@media screen and (max-width: 600px) {
  .p-top-service__item__bg::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(248, 248, 248, 0.88) 0%, rgba(248, 248, 248, 0.7) 45%, rgba(248, 248, 248, 0) 80%); }
}
@media screen and (min-width: 601px) {
  .p-top-service__item__bg::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(248, 248, 248, 0.86) 0%, rgba(248, 248, 248, 0.72) 16%, rgba(248, 248, 248, 0) 34%); }
}
@media screen and (max-width: 600px) {
  .l-footer__nav { flex-wrap: wrap; }
  .t2-fbox { width: 50%; margin-bottom: 24px; }
}
#container p, #container h2, #container h3, #footer p, #footer a, #t2-recruitband p, #t2-recruitband h2 { word-break: auto-phrase; }
.t2-label, .c-btn .text { color: #6f6f6f; }
@media screen and (max-width: 1000px) { .t2-contact .p-hover-box__item::after { opacity: 0.5; } }
.c-interview__desc p { color: #6f6f6f; }
.c-interview__title { text-align: left; }
.t2-dal::before { content: ''; position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 180px; background: linear-gradient(180deg, rgba(21, 23, 27, 0.55) 0%, rgba(21, 23, 27, 0) 100%); pointer-events: none; }
#about[data-t-var-key="about"][data-t-v="b"] p { word-break: auto-phrase; line-break: strict; }
.t2-nw { white-space: nowrap; }
.l-recruit-link::after { opacity: 0.78; }
@media screen and (min-width: 1001px) {
  #business .p-top-service__inner { padding-top: 160px; padding-bottom: 180px; }
  #interview { padding-top: 140px; padding-bottom: 160px; }
  #recruit .l-recruit-link__inner { padding-top: 120px; padding-bottom: 120px; }
  #contact.t2-contact { height: 34vw; }
  #footer .l-footer__inner { padding-top: 96px; }
}
@media screen and (max-width: 1000px) {
  #interview { padding-top: 64px; padding-bottom: 90px; }
  #recruit .l-recruit-link__inner { padding-top: 48px; padding-bottom: 56px; }
}
.l-header__nav__item__index { display: none !important; }
.c-btn { width: 240px !important; max-width: 100%; height: auto !important; padding: 15px 2px; border: 0 !important; border-top: 1px solid #d5d5d5 !important; border-bottom: 1px solid #d5d5d5 !important; border-radius: 0 !important; justify-content: space-between !important; background: none !important; opacity: 1 !important; transition: border-color 0.3s; }
.c-btn::before { display: none !important; }
.c-btn .text { color: #15171b !important; font-size: 13px; font-weight: 700; letter-spacing: 1px; transform: none !important; }
.c-btn .arrow { position: relative !important; right: 0 !important; top: 0 !important; width: 26px !important; height: 7px; opacity: 1 !important; transition: transform 0.3s !important; }
.c-btn .arrow::before { background: #15171b !important; }
.c-btn .arrow::after { border-color: #15171b !important; }
.c-btn:hover { border-color: #1b2550 !important; }
.c-btn:hover .text { color: #1b2550 !important; }
.c-btn:hover .arrow { transform: translateX(6px) !important; opacity: 1 !important; }
.c-btn:hover .arrow::before { background: #1b2550 !important; }
.c-btn:hover .arrow::after { border-color: #1b2550 !important; }
.p-top-mv__below__link, .t2-service-link { width: auto; }
.p-top-service__item__circle::before, .l-recruit-link__circle::before { display: none !important; }
.p-top-service__item__circle svg, .l-recruit-link__circle svg { left: 0 !important; }
.p-hover-box__cursor, .p-top-interview__body__buttons__cursor { display: none !important; }
.p-top-service__head { position: relative !important; top: auto !important; right: auto !important; left: auto !important; display: block !important; width: 85.3%; max-width: 1400px; min-width: 760px; margin: 0 auto; padding-top: 140px; text-align: left !important; color: #15171b !important; font-size: 64px !important; font-weight: 700 !important; letter-spacing: 0.5px; }
@media screen and (min-width: 1001px) { #business .p-top-service__inner { padding-top: 40px; } }
@media screen and (max-width: 1000px) { .p-top-service__head { width: 89.4%; min-width: 0; padding-top: 72px; font-size: 40px !important; } #business .p-top-service__inner { padding-top: 24px; } }
.t2-copy text { font-family: "Zen Kaku Gothic New", YakuHanJP, "Noto Sans JP", sans-serif !important; font-weight: 700 !important; font-feature-settings: "palt" 1; letter-spacing: -3px !important; }
.t2-copy text { font-size: 94px !important; }
.t2-copy text { font-size: 84px !important; }
@media screen and (min-width: 1001px) {
  .p-top-mv__copy, .l-opening__wrap { right: calc(48.92% - 4vw); }
}
@media screen and (max-width: 650px) {
  .p-top-mv__copy, .l-opening__wrap { left: 6%; }
}
.t2-dal-bg img { object-fit: cover; height: 100%; }
.t2-dal-bg img.t2-h { aspect-ratio: 524 / 450; width: auto; }
.t2-dal-bg img.t2-v { aspect-ratio: 314 / 450; width: auto; }
.t2-dal-bg img { opacity: 0; animation: t2-dal-in 1s ease forwards; }
@keyframes t2-dal-in { to { opacity: 1; } }
.t2-dal-bg.type01 li:nth-child(1) img { animation-delay: 1s; }
.t2-dal-bg.type01 li:nth-child(2) img { animation-delay: .6s; }
.t2-dal-bg.type01 li:nth-child(3) img { animation-delay: 1.2s; }
.t2-dal-bg.type01 li:nth-child(4) img { animation-delay: .85s; }
.t2-dal-bg.type01 li:nth-child(5) img { animation-delay: .4s; }
.t2-dal-bg.type01 li:nth-child(6) img { animation-delay: .94s; }
.t2-dal-bg.type01 li:nth-child(7) img { animation-delay: 1.1s; }
.t2-dal-bg.type02 li:nth-child(1) img { animation-delay: 1.2s; }
.t2-dal-bg.type02 li:nth-child(2) img { animation-delay: .8s; }
.t2-dal-bg.type02 li:nth-child(3) img { animation-delay: 1.2s; }
.t2-dal-bg.type02 li:nth-child(4) img { animation-delay: .85s; }
.t2-dal-bg.type02 li:nth-child(5) img { animation-delay: .4s; }
.t2-dal-bg.type02 li:nth-child(6) img { animation-delay: .94s; }
.t2-dal-bg.type02 li:nth-child(7) img { animation-delay: 1.1s; }
.t2-dal-bg.type02 li:nth-child(8) img { animation-delay: 1.3s; }
.t2-hd-band { position: absolute; top: 0; left: 0; width: 100%; height: 96px; background: #ffffff; pointer-events: none; }
@media screen and (max-width: 800px) { .t2-hd-band { height: 71px; } }
body.header-white:not(.menu-open) .l-header { color: #15171b !important; }
body.menu-open .t2-hd-band { opacity: 0; }
.t2-dal::before { display: none !important; }
.t2-dal-bg img { filter: saturate(1.7) brightness(1.06); }
.t2-dal-list::after { display: none; }
.t2-dal-bg img { filter: saturate(1.5) brightness(1.15); }
.t2-hd-band { display: none !important; }
body.header-white:not(.menu-open) .l-header { color: #fff !important; }
.l-header__nav__item__index { display: none !important; }
.t2-dal::before { display: block !important; content: ''; position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 180px; background: linear-gradient(180deg, rgba(21, 23, 27, 0.5) 0%, rgba(21, 23, 27, 0) 100%); pointer-events: none; }
.t2-dal-bg li.t2-split { display: flex; flex-direction: column; height: 100%; aspect-ratio: 314 / 450; overflow: hidden; }
.t2-dal-bg li.t2-split img { width: 100% !important; height: 50% !important; aspect-ratio: auto !important; object-fit: cover; }
.t2-dal-bg { container-type: size; }
.t2-dal-bg li.t2-split { width: calc(100cqh * 314 / 450); }
.t2-dal-bg li:not(.t2-split) { width: calc(100cqh * 524 / 450); }
.t2-dal-bg li:not(.t2-split) img { width: 100%; }
.t2-dal-bg img { filter: saturate(1.4) brightness(1.07); }
body#service .l-header__nav__item-service > .link,
body#philosophy .l-header__nav__item-philosophy > .link,
body#company .l-header__nav__item-news > .link,
body#recruit .l-header__nav__item-interview > .link,
body#contactRecruiter .l-header__nav__item-contact > .link {
  color: #1b2550;
  pointer-events: none;
}
body#service .l-header__nav__item-service > .link::before,
body#philosophy .l-header__nav__item-philosophy > .link::before,
body#company .l-header__nav__item-news > .link::before,
body#recruit .l-header__nav__item-interview > .link::before,
body#contactRecruiter .l-header__nav__item-contact > .link::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
body.header-white#service .l-header__nav__item-service > .link,
body.header-white#philosophy .l-header__nav__item-philosophy > .link,
body.header-white#company .l-header__nav__item-news > .link,
body.header-white#recruit .l-header__nav__item-interview > .link,
body.header-white#contactRecruiter .l-header__nav__item-contact > .link {
  color: #fff;
}
body.header-white#service .l-header__nav__item-service > .link::before,
body.header-white#philosophy .l-header__nav__item-philosophy > .link::before,
body.header-white#company .l-header__nav__item-news > .link::before,
body.header-white#recruit .l-header__nav__item-interview > .link::before,
body.header-white#contactRecruiter .l-header__nav__item-contact > .link::before {
  background: #fff;
}
body#philosophy .l-header__nav__item-philosophy { color: inherit; }
@media screen and (max-width: 800px) {
  .l-breadCrumb, .l-breadCrumb a { color: #6f6f6f; }
}
body:not(#index):not(#philosophy) > .l-recruit-link, body:not(#index):not(#philosophy) > .t2-rb { display: none !important; }
html, body { overscroll-behavior-y: none; }
.t2-recruit-btn { display: inline-flex; align-items: center; justify-content: space-between; width: 240px; max-width: 100%; box-sizing: border-box; padding: 16px 22px; position: relative; }
.t2-recruit-btn::after { content: ""; width: 26px; height: 7px; margin-left: 16px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5H25M21 0.5L25 3.5L21 6.5' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") no-repeat right center / 100% 100%; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 7' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5H25M21 0.5L25 3.5L21 6.5' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") no-repeat right center / 100% 100%; transition: transform 0.3s, width 0.3s; }
.l-recruit-link:has(.t2-recruit-cta:hover) .t2-recruit-btn::after { transform: translateX(6px); }
.c-btn { border: 0 !important; padding: 10px 0 !important; justify-content: flex-start !important; gap: 22px; }
.c-btn .arrow { width: 56px !important; transition: transform 0.3s, width 0.3s !important; }
.c-btn:hover .arrow { width: 68px !important; transform: none !important; }
.t2-recruit-btn { padding: 10px 0; justify-content: flex-start; }
.t2-recruit-btn::after { width: 56px; margin-left: 22px; transition: width 0.3s; }
.l-recruit-link:has(.t2-recruit-cta:hover) .t2-recruit-btn::after { width: 68px; transform: none; }
.t2-ph--photo { background-color: #d5d5d5; background-size: cover; background-position: 50% 28%; background-repeat: no-repeat; }
.t2-recruit-body { position: relative; z-index: 1; display: block; width: 100%; height: 100%; }
.t2-recruit-cta { display: block; width: max-content; max-width: 100%; color: inherit; }
.t2-recruit-cta .l-recruit-link__circle { display: block; }
.t2-rb { position: relative; background: #fff; color: #15171b; padding: 280px 0 270px; overflow-x: hidden; overflow-x: clip; }
.t2-rb__inner { width: 95%; max-width: 1360px; margin: 0 auto; }
.t2-rb__clm { display: flex; justify-content: space-between; margin-right: -120px; }
.t2-rb__heading { width: 400px; flex: none; }
.t2-rb__title { color: #15171b; font-family: "Arial", "Helvetica Neue", sans-serif; font-size: 48px; font-weight: 700; line-height: 1.1; letter-spacing: 0.5px; }
.t2-rb__title span { display: block; position: relative; padding-left: 20px; margin-bottom: 4px; font-size: 14px; font-weight: 700; letter-spacing: 1px; line-height: 1.6; }
.t2-rb__title span::before { content: ""; position: absolute; top: 50%; left: 0; width: 6px; height: 6px; border-radius: 50%; background: currentColor; transform: translateY(-50%); }
.t2-rb__note { margin-top: 55px; }
.t2-rb .t2-recruit-head { font-size: 20px; font-weight: 700; line-height: 1.6; letter-spacing: 0.05em; }
.t2-rb__desc { margin-top: 20px; font-size: 16px; line-height: 2.5; letter-spacing: 0.05em; }
.t2-rb .t2-recruit-cta { display: inline-flex; align-items: center; width: auto; margin-top: 40px; color: #1b2550; text-decoration: none; }
.t2-rb .t2-recruit-btn { display: inline; width: auto; padding: 0; margin: 0; font-family: "Arial", "Helvetica Neue", sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 0.6px; color: inherit; }
.t2-rb .t2-recruit-btn::after { display: none; }
.t2-rb__circle { position: relative; width: 47px; height: 47px; margin-left: 15px; flex: none; }
.t2-rb__circle::before, .t2-rb__circle::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 50%; transition: all 0.3s ease-in-out; }
.t2-rb__circle::before { width: 47px; height: 47px; border: 2px solid #e8e8e8; box-sizing: border-box; background: #fff; }
.t2-rb__circle::after { width: 6px; height: 6px; background: #1b2550; }
.t2-rb .t2-recruit-cta:hover .t2-rb__circle::before { width: 56px; height: 56px; }
.t2-rb__fig { position: relative; align-self: flex-start; width: calc(960 / 1600 * 100vw); max-width: 960px; }
.t2-rb__fig::before, .t2-rb__fig::after { content: ""; display: block; position: absolute; width: calc(526 / 1600 * 100vw); height: calc(298 / 1600 * 100vw); background: #d5d5d5; }
.t2-rb__fig::before { top: calc(-80 / 1600 * 100vw); right: 0; }
.t2-rb__fig::after { bottom: calc(-80 / 1600 * 100vw); left: calc(-80 / 1600 * 100vw); }
.t2-rb__img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 3 / 2; background-size: cover; background-position: center; border-radius: 0; }
@media screen and (min-width: 768px) and (max-width: 1279.9px) {
  .t2-rb__title { font-size: 6.25vw; }
  .t2-rb__title span { padding-left: 1.563vw; font-size: 1.094vw; }
  .t2-rb__heading { width: 31.25vw; }
}
@media screen and (max-width: 767.9px) {
  .t2-rb { padding: calc(80 / 375 * 100vw) 0; }
  .t2-rb__inner { width: 83%; }
  .t2-rb__clm { flex-direction: column; margin-right: 0; }
  .t2-rb__heading { width: 100%; }
  .t2-rb__title { font-size: 10.667vw; }
  .t2-rb__title span { padding-left: 4vw; margin-bottom: 0.533vw; font-size: 3.733vw; }
  .t2-rb__note { margin-top: calc(20 / 375 * 100vw); }
  .t2-rb .t2-recruit-head { font-size: calc(20 / 375 * 100vw); line-height: 1.5; }
  .t2-rb__desc { margin-top: calc(30 / 375 * 100vw); font-size: calc(14 / 375 * 100vw); line-height: 2; }
  .t2-rb .t2-recruit-cta { margin-top: calc(30 / 375 * 100vw); }
  .t2-rb .t2-recruit-btn { font-size: 3.733vw; }
  .t2-rb__circle { width: 10.667vw; height: 10.667vw; margin-left: 4vw; }
  .t2-rb__circle::before { width: 10.667vw; height: 10.667vw; border-width: 0.533vw; }
  .t2-rb__circle::after { width: 1.6vw; height: 1.6vw; }
  .t2-rb__fig { align-self: stretch; width: auto; margin-top: calc(55 / 375 * 100vw); margin-right: calc(-30 / 375 * 100vw); }
  .t2-rb__fig::before, .t2-rb__fig::after { width: calc(189 / 375 * 100vw); height: calc(107 / 375 * 100vw); }
  .t2-rb__fig::before { top: calc(-30 / 375 * 100vw); }
  .t2-rb__fig::after { bottom: calc(-30 / 375 * 100vw); left: calc(-30 / 375 * 100vw); }
}
.t2-rb-js .t2-rb .js-t2-fadeup:not(.is-fadeUp) { opacity: 0; }
.t2-rb .is-fadeUp { animation: t2-rb-fadeup 1.2s forwards; }
@keyframes t2-rb-fadeup { from { transform: translateY(100px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.t2-rb__note { margin-top: 44px; }
@media screen and (max-width: 1000px) { .t2-rb__title { font-size: 38px; } }
@media screen and (max-width: 800px) { .t2-rb__title { font-size: 32px; } }
.c-btn { display: inline-flex !important; align-items: center; justify-content: flex-start !important; width: auto !important; max-width: 100%; height: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; gap: 0 !important; background: none !important; color: #1b2550; text-decoration: none; cursor: pointer; }
.c-btn .text, .c-btn:hover .text { margin: 0; font-family: "Arial", "Helvetica Neue", sans-serif; font-size: 16px !important; font-weight: 700; letter-spacing: 0.6px !important; line-height: 1.4; color: #1b2550 !important; transform: none !important; white-space: nowrap; }
.c-btn .arrow, .c-btn:hover .arrow { position: relative !important; top: auto !important; right: auto !important; display: block; flex: none; width: 47px !important; height: 47px !important; margin-left: 15px; opacity: 1 !important; transform: none !important; transition: none !important; }
.c-btn .arrow::before, .c-btn .arrow::after, .c-btn:hover .arrow::before, .c-btn:hover .arrow::after { content: "" !important; display: block !important; position: absolute !important; top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important; margin: 0 !important; transform: translate(-50%, -50%) !important; border-radius: 50% !important; transition: all 0.3s ease-in-out !important; }
.c-btn .arrow::before, .c-btn:hover .arrow::before { width: 47px !important; height: 47px !important; border: 2px solid #e8e8e8 !important; box-sizing: border-box; background: #fff !important; }
.c-btn .arrow::after, .c-btn:hover .arrow::after { width: 6px !important; height: 6px !important; border: 0 !important; background: #1b2550 !important; }
.c-btn:hover .arrow::before { width: 56px !important; height: 56px !important; }
body#recruit .t2-rc-btn-white .text, body#recruit .t2-rc-btn-white:hover .text,
.p-hover-box__item:has(.c-btn:hover) .c-btn .text { color: #fff !important; }
body#recruit .t2-rc-btn-white .arrow::before, body#recruit .t2-rc-btn-white:hover .arrow::before { background: #fff !important; }
@media screen and (max-width: 1000px) { .t2-contact .c-btn .text { color: #fff !important; } }
.t2-rb .t2-recruit-cta { margin-top: 40px; }
.t2-contact-body { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; width: 100%; height: 100%; padding-bottom: 6px; position: relative; z-index: 2; }
.p-hover-box__item a.t2-contact-cta { position: relative; z-index: 1; display: inline-flex; flex-direction: row; width: auto; height: auto; margin: 24px auto 0; padding: 0; }
.c-bottom-link .t2-bottom-cta { margin: 28px auto 0; }
.c-contact__submit .c-btn { margin: 0 auto; }
body#service .t2-biz-link .c-btn, body#service .t2-biz-link .c-btn:hover { width: auto !important; }
@media screen and (max-width: 767.9px) {
  .c-btn .text, .c-btn:hover .text { font-size: 3.733vw !important; }
  .c-btn .arrow, .c-btn:hover .arrow { width: 10.667vw !important; height: 10.667vw !important; margin-left: 4vw; }
  .c-btn .arrow::before, .c-btn:hover .arrow::before { width: 10.667vw !important; height: 10.667vw !important; border-width: 0.533vw !important; }
  .c-btn .arrow::after, .c-btn:hover .arrow::after { width: 1.6vw !important; height: 1.6vw !important; }
  .c-btn:hover .arrow::before { width: 12.533vw !important; height: 12.533vw !important; }
  .t2-rb .t2-recruit-cta { margin-top: calc(30 / 375 * 100vw); }
}
.t2-rb__clm { margin-right: calc(80 / 1600 * 100vw - (100vw - min(95vw, 1360px)) / 2); }
.t2-rb__fig::before { right: calc(-80 / 1600 * 100vw); }
@media screen and (max-width: 767.9px) {
  .t2-rb__clm { margin-right: 0; }
  .t2-rb__fig { margin-right: 0; }
  .t2-rb__fig::before { right: calc(-30 / 375 * 100vw); }
}
@media screen and (min-width: 768px) {
  .t2-rb__clm { gap: calc(80 / 1600 * 100vw + 40px); }
  .t2-rb__fig { flex: 0 1 calc(960 / 1600 * 100vw); min-width: 0; }
}
.c-btn { --cta-ink: #15171b; --cta-paper: #fff; }
body#recruit .c-btn.t2-rc-btn-white, .p-hover-box__item:has(.c-btn:hover) .c-btn { --cta-ink: #fff; --cta-paper: #15171b; }
@media screen and (max-width: 1000px) { .t2-contact .c-btn { --cta-ink: #fff; --cta-paper: #15171b; } }
.c-btn:not(#t2-x1):not(#t2-x2) .text { color: var(--cta-t, var(--cta-ink)) !important; mix-blend-mode: normal !important; font-size: 14px !important; letter-spacing: 1px !important; transition: color .3s; }
.c-btn:not(#t2-x1):not(#t2-x2) .arrow::before { width: 26px !important; height: 9px !important; border: 0 !important; border-radius: 0 !important; background: var(--cta-a, var(--cta-ink)) !important; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2026%209%27%3E%3Cpolygon%20points%3D%2721.5%2C0%2020.8%2C0.7%2024.1%2C4%200%2C4%200%2C5%2024.1%2C5%2020.8%2C8.3%2021.5%2C9%2026%2C4.5%27/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2026%209%27%3E%3Cpolygon%20points%3D%2721.5%2C0%2020.8%2C0.7%2024.1%2C4%200%2C4%200%2C5%2024.1%2C5%2020.8%2C8.3%2021.5%2C9%2026%2C4.5%27/%3E%3C/svg%3E") center / contain no-repeat; }
.c-btn:not(#t2-x1):not(#t2-x2) .arrow::after { display: none !important; }
.c-btn { --cta-line: #1b2550; --cta-base: #d5d5d5; min-width: 240px; justify-content: space-between !important; padding: 0 0 14px !important; background: linear-gradient(var(--cta-line), var(--cta-line)) left bottom / 0 2px no-repeat, linear-gradient(var(--cta-base), var(--cta-base)) left bottom / 100% 1px no-repeat !important; transition: background-size .5s cubic-bezier(.19, 1, .22, 1) !important; }
body#recruit .c-btn.t2-rc-btn-white, .p-hover-box__item:has(.c-btn:hover) .c-btn { --cta-line: #fff; --cta-base: rgba(255, 255, 255, .4); }
@media screen and (max-width: 1000px) { .t2-contact .c-btn { --cta-line: #fff; --cta-base: rgba(255, 255, 255, .4); } }
.c-btn:hover { background-size: 100% 2px, 100% 1px !important; }
.c-btn .arrow, .c-btn:hover .arrow { width: 26px !important; height: 9px !important; margin-left: 28px; transition: transform .3s !important; }
.c-btn:hover .arrow { transform: translateX(6px) !important; }
@media screen and (max-width: 767.9px) {
  .c-btn:not(#t2-x1):not(#t2-x2) .text { font-size: 13px !important; } .c-btn { min-width: 200px; }
}
.t2-contact .p-hover-box__item .c-btn .text { margin: 0 !important; max-width: none; }
.t2-contact .p-hover-box__item .c-btn .text, .t2-contact .p-hover-box__item .c-btn:hover .text { line-height: 2 !important; }
body#philosophy .svg-dq { display: none !important; }
body#philosophy .p-phil-sections__marker { display: none !important; }
.t2-contact .p-hover-box__item .t2-contact-cta::after { content: "" !important; display: block !important; position: absolute !important; inset: 0 !important; z-index: 3; width: auto !important; height: auto !important; margin: 0 !important; border: 0 !important; background: none !important; transform: none !important; }
.t2-contact .p-hover-box__item .t2-contact-cta { position: static !important; }
.t2-contact .p-hover-box__item { position: relative; }
@media screen and (max-width: 1000px) { .t2-contact .t2-contact-body { position: static; } .t2-contact .p-hover-box__item .c-btn .arrow { z-index: 1; } }
@media screen and (min-width: 801px) { html body#recruit #container .t2-rc-flow { padding: 110px 0 140px; } }
body#recruit .t2-rc-end, body#recruit .t2-rc-end .c-bottom-link__inner { position: relative; }
body#recruit .t2-rc-end .c-bottom-link__inner { position: static; }
body#recruit .t2-rc-end .t2-rc-end__btn, body#recruit .t2-rc-end .t2-rc-end__btn .c-btn { position: static !important; }
body#recruit .t2-rc-end .t2-rc-end__btn .c-btn::after { content: "" !important; display: block !important; position: absolute !important; inset: 0 !important; z-index: 3; width: auto !important; height: auto !important; margin: 0 !important; border: 0 !important; background: none !important; transform: none !important; cursor: pointer; }
body#service .c-bottom-link { position: relative; }
body#service .c-bottom-link .c-bottom-link__inner { position: static; }
body#service .c-bottom-link .t2-bottom-cta { position: static !important; }
body#service .c-bottom-link .t2-bottom-cta::after { content: "" !important; display: block !important; position: absolute !important; inset: 0 !important; z-index: 3; width: auto !important; height: auto !important; margin: 0 !important; border: 0 !important; background: none !important; transform: none !important; }
body#service .c-bottom-link .c-bottom-link__title, body#service .c-bottom-link .c-bottom-link__desc,
body#service .c-bottom-link .t2-bottom-cta .text, body#service .c-bottom-link .t2-bottom-cta .arrow,
body#recruit .t2-rc-end .c-bottom-link__title, body#recruit .t2-rc-end .t2-rc-end__btn .text, body#recruit .t2-rc-end .t2-rc-end__btn .arrow { position: relative !important; z-index: 2; }
#t2-pagehead .t2-ph-dq { display: none !important; }
body#recruit .t2-rc-end .t2rp-hd, body#recruit .t2-rc-end .t2rp-lab { position: relative; z-index: 2; }
body#company #t2-history#t2-history#t2-history#t2-history { background-color: #fff !important; }
body#company #t2-member#t2-member#t2-member .c-interview:first-child .c-interview__inner { padding-left: 28px; }
@media screen and (max-width: 1200px) { body#company #t2-member#t2-member#t2-member .c-interview:first-child .c-interview__inner { padding-left: 18px; } }
@media screen and (max-width: 767.9px) { body#company #t2-member#t2-member#t2-member .c-interview:first-child .c-interview__inner { padding-left: 10px; } }
.t2-logo { position: relative; display: block; width: 100%; height: 100%; }
.t2-logo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; object-position: left center; transition: opacity .2s; }
.t2-logo__w { opacity: 0; }
body.header-white .l-header .t2-logo__c, .l-footer .t2-logo__c { opacity: 0; }
body.header-white .l-header .t2-logo__w, .l-footer .t2-logo__w { opacity: 1; }
.l-header__logo { width: 150px !important; height: 31px !important; top: 36px; }
@media screen and (max-width: 800px) { .l-header__logo { width: 136px !important; height: 28px !important; top: 28px; } }
.l-footer__bottom__logo .t2-logo { width: 150px; height: 31px; margin-bottom: 10px; }
@media screen and (max-width: 800px) { .l-footer__bottom__logo .t2-logo { margin: 0 auto 10px; } }
#footer#footer .l-footer__links { display: none !important; }
#t2-pagehead .c-header__jp { display: none !important; }
.t2-copy text { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; font-weight: 700 !important; letter-spacing: -4px !important; }
.t2-below-copy { font-size: 44px; font-weight: 700; line-height: 1.4; letter-spacing: 1.5px; margin: 0 0 64px; }
@media screen and (max-width: 1000px) { .t2-below-copy { font-size: 34px; margin-bottom: 40px; } }
@media screen and (max-width: 600px) { .t2-below-copy { font-size: 28px; margin-bottom: 32px; } }
@media screen and (min-width: 801px) { html body #t2-pagehead#t2-pagehead#t2-pagehead .c-header__index { grid-column: 2 / 4 !important; } }
body #t2-history#t2-history .c-flow__step .index { display: none !important; }
#js-index-3#js-index-3 > div:nth-of-type(1) > div:nth-of-type(2) > p:nth-of-type(2) { display: none !important; }
@media screen and (min-width: 1001px) {
  #contact#contact#contact#contact .p-hover-box__item::before { display: none !important; }
  #contact#contact#contact#contact .p-hover-box__item { transition: background-color .3s ease !important; }
  #contact#contact#contact#contact .p-hover-box__item:hover,
  #contact#contact#contact#contact .p-hover-box__item:has(.c-btn:hover) { background-color: #d5d5d5 !important; color: #15171b; }
  #contact#contact#contact#contact .p-hover-box__item:hover .c-btn,
  #contact#contact#contact#contact .p-hover-box__item:has(.c-btn:hover) .c-btn { --cta-ink: #15171b; --cta-paper: #fff; --cta-line: #1b2550; --cta-base: #d5d5d5; }
}
@media screen and (min-width: 801px) { html body#company #t2-companypage .p-company-about__data { grid-template-rows: 120px auto auto 1fr 110px !important; } }
html.t2-hc-on .l-header .l-header__logo.t2-hc-d .t2-logo__c { opacity: 1 !important; }
html.t2-hc-on .l-header .l-header__logo.t2-hc-d .t2-logo__w { opacity: 0 !important; }
html.t2-hc-on .l-header .l-header__logo.t2-hc-l .t2-logo__c { opacity: 0 !important; }
html.t2-hc-on .l-header .l-header__logo.t2-hc-l .t2-logo__w { opacity: 1 !important; }
html.t2-hc-on .l-header .l-header__btn.t2-hc-d :is(.open, .close) { color: #15171b !important; }
html.t2-hc-on .l-header .l-header__btn.t2-hc-d :is(.line1, .line2) { background-color: #15171b !important; }
html.t2-hc-on .l-header .l-header__btn.t2-hc-l :is(.open, .close) { color: #fff !important; }
html.t2-hc-on .l-header .l-header__btn.t2-hc-l :is(.line1, .line2) { background-color: #fff !important; }
@media screen and (max-width: 800px) {
  body.menu-open .l-header .l-header__nav__item > .link { color: #fff !important; }
}
html.t2-hc-on .l-header .l-header__btn span { transition: color .2s linear, background-color .2s linear !important; }
@media screen and (min-width: 801px) {
  html.t2-hc-on .l-header .l-header__nav__item > :is(.link, .l-header__nav__item__index) { transition: color .2s linear !important; }
  html.t2-hc-on .l-header .l-header__nav__item.t2-hc-d > :is(.link, .l-header__nav__item__index) { color: #15171b !important; text-shadow: none !important; }
  html.t2-hc-on .l-header .l-header__nav__item.t2-hc-l > :is(.link, .l-header__nav__item__index) { color: #fff !important; text-shadow: none !important; }
}
@media screen and (min-width: 801px) and (max-width: 1023px) { .l-footer__pageTop { top: 96px; } }
@media screen and (max-width: 800px) { .l-footer__pageTop { top: 80px; } }
@media screen and (min-width: 801px) {
  .p-top-service__item:hover .p-top-service__item__head, .p-top-service__item:hover .p-top-service__item__desc { color: inherit !important; }
}
@media screen and (min-width: 1280px) { .t2-rb__heading { width: 520px; } }
@media screen and (min-width: 768px) and (max-width: 1279.9px) { .t2-rb__heading { width: 38vw; } }
.t2-contact .p-hover-box__item a.t2-contact-cta.c-btn { justify-content: center !important; }
