@charset "UTF-8";
/* ===== FV ===== */
.topFv { position: relative; margin: calc(118 / var(--screen-w) * 100vw) calc(43 / var(--screen-w) * 100vw) 0 calc(42 / var(--screen-w) * 100vw); }
.topFv > img { width: 100%; height: calc(924 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(15 / var(--screen-w) * 100vw); }
.topFv::after { content: ""; position: absolute; inset: 0; border-radius: calc(15 / var(--screen-w) * 100vw); background: linear-gradient(to top, rgba(0, 59, 119, .66), rgba(113, 143, 173, .33) 30%, rgba(226, 226, 226, 0) 60%); mix-blend-mode: multiply; }
.topFv-txt { position: absolute; left: calc(54 / var(--screen-w) * 100vw); bottom: calc(99 / var(--screen-w) * 100vw); z-index: 1; }
.topFv h1 { color: var(--txt2); font-family: var(--min); font-size: calc(74.8 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.043; }
.topFv h1 span { display: block; width: fit-content; background: #fff; }
.topFv h1 span + span { margin-top: .16em; }
.topFv em, .topIntro em { color: var(--blue); }
.topFv p { margin-top: calc(11 / var(--screen-w) * 100vw); color: #fff; font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 700; line-height: 2.72; }
.topFv { overflow: hidden; border-radius: calc(15 / var(--screen-w) * 100vw); }
.topFv > img { animation: fvImg 2.6s cubic-bezier(.22, 1, .36, 1) backwards; }
.topFv h1 span { animation: fvWipe 1s cubic-bezier(.77, 0, .18, 1) .5s backwards; }
.topFv h1 span:nth-child(2) { animation-delay: .75s; }
.topFv h1 span:nth-child(3) { animation-delay: 1s; }
.topFv p { animation: rvY 1.2s cubic-bezier(.22, 1, .36, 1) 1.7s backwards; }
@keyframes fvImg { from { opacity: 0; scale: 1.08; } }
@keyframes fvWipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
@media (prefers-reduced-motion: reduce) { .topFv *, .topFv > img { animation: none !important; } }

/* ===== お知らせ ===== */
.topNews { align-items: center; margin: calc(36.75 / var(--screen-w) * 100vw) calc(57 / var(--screen-w) * 100vw) 0; padding: calc(11.7 / var(--screen-w) * 100vw) calc(35.6 / var(--screen-w) * 100vw) calc(11.7 / var(--screen-w) * 100vw) calc(40.4 / var(--screen-w) * 100vw); background: #fff; border-radius: calc(9 / var(--screen-w) * 100vw); box-shadow: 0 0 calc(4 / var(--screen-w) * 100vw) rgba(46, 87, 149, .25); color: var(--txt2); font-weight: 700; line-height: 3.06; }
.topNews h2 { width: calc(101.8 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }
.topNews-item { flex: 1; align-items: center; min-height: calc(53 / var(--screen-w) * 100vw); border-inline: 1px solid #e6e6e6; background: url(../img/common/chev-dark.svg) right calc(53 / var(--screen-w) * 100vw) center / calc(7 / var(--screen-w) * 100vw) auto no-repeat; font-size: calc(16 / var(--fs-w) * 100vw); }
.topNews time { width: calc(146.5 / var(--screen-w) * 100vw); padding-left: calc(34.9 / var(--screen-w) * 100vw); font-family: var(--en); font-size: calc(14 / var(--fs-w) * 100vw); }
.topNews-more { padding-left: calc(24.4 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); }

/* ===== 私たちについて ===== */
.topIntro { position: relative; padding: calc(63 / var(--screen-w) * 100vw) calc(80 / var(--screen-w) * 100vw) calc(115.5 / var(--screen-w) * 100vw) calc(643 / var(--screen-w) * 100vw); }
.topIntro-bg { position: absolute; top: calc(-193.6 / var(--screen-w) * 100vw); left: 0; z-index: -1; width: calc(1111 / var(--screen-w) * 100vw); }
.topIntro h2 { font-family: var(--min); font-size: calc(58 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.483; }
.topIntro > p { margin-top: calc(36 / var(--screen-w) * 100vw); font-size: calc(20 / var(--fs-w) * 100vw); line-height: 2.6; }
.topIntro-dia { position: relative; width: calc(1140 / var(--screen-w) * 100vw); margin: calc(38 / var(--screen-w) * 100vw) 0 0 calc(-48.7 / var(--screen-w) * 100vw); }
.topIntro-dia li { position: absolute; top: 43.5%; color: #fff; font-size: calc(18 / var(--screen-w) * 100vw); font-weight: 600; line-height: 2.556; text-align: center; white-space: nowrap; transform: translateX(-50%); }
.topIntro-dia span { display: block; margin-bottom: calc(-7 / var(--screen-w) * 100vw); font-family: var(--en); font-size: calc(36 / var(--screen-w) * 100vw); font-weight: 500; line-height: 1.2; }
.topIntro-dia li:nth-child(1) { left: 14.73%; }
.topIntro-dia li:nth-child(2) { left: 33.89%; }
.topIntro-dia li:nth-child(3) { left: 60.96%; color: #2e2e2e; }
.topIntro-dia li:nth-child(3) span { color: #232323; }
.topIntro-dia li:nth-child(4) { left: 85.48%; }
.topIntro-svg { display: block; width: 100%; height: auto; overflow: visible; }
.topIntro-svg > * { transform-box: fill-box; transform-origin: center; transition: opacity .8s, transform 1.1s cubic-bezier(.22, 1, .36, 1); }
.topIntro-svg .-client, .topIntro-svg .-gptech { transition-delay: .3s; }
.topIntro-svg .-arrow { stroke-dasharray: 1; transition: stroke-dashoffset .7s ease-in-out 1.2s; }
.topIntro-svg .-vendor { transition: opacity .5s 1.8s, transform .8s cubic-bezier(.34, 1.56, .64, 1) 1.8s; }
.topIntro-svg .-dot { opacity: 0; }
.is-in .-halo { animation: diaHalo 4s ease-in-out 1.1s infinite alternate; }
.is-in .-dot { animation: diaDot 2.6s ease-in-out 2.6s infinite; }
@keyframes diaHalo { to { transform: scale(1.03); } }
@keyframes diaDot { 0% { opacity: 0; transform: none; } 15%, 70% { opacity: 1; } 85%, 100% { opacity: 0; transform: translateX(217px); } }
.topIntro-dia li { transition: opacity .6s .9s, translate .6s .9s; }
.topIntro-dia li:nth-child(3) { transition-delay: 1.5s; }
.topIntro-dia li:nth-child(4) { transition-delay: 2.1s; }
.is-wait li { opacity: 0; translate: 0 calc(12 / var(--screen-w) * 100vw); }
.is-wait .-halo { opacity: 0; transform: scale(.6); }
.is-wait .-client { opacity: 0; transform: translateX(-90px); }
.is-wait .-gptech { opacity: 0; transform: translateX(90px); }
.is-wait .-arrow { stroke-dashoffset: 1; }
.is-wait .-vendor { opacity: 0; transform: scale(.4); }
@media (prefers-reduced-motion: reduce) { .topIntro-dia *, .topIntro-dia li { transition: none !important; animation: none !important; } }

/* ===== 事業内容 ===== */
.topBiz { margin: 0 calc(108 / var(--screen-w) * 100vw) calc(97 / var(--screen-w) * 100vw); padding: calc(54 / var(--screen-w) * 100vw) calc(87 / var(--screen-w) * 100vw) calc(54.6 / var(--screen-w) * 100vw) calc(68 / var(--screen-w) * 100vw); border: calc(3 / var(--screen-w) * 100vw) solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to bottom right, #1e5fd2, rgba(30, 95, 210, .15) 45%, rgba(30, 95, 210, .1) 55%, rgba(30, 95, 210, .5)) border-box; border-radius: calc(13 / var(--screen-w) * 100vw); box-shadow: 0 0 calc(17 / var(--screen-w) * 100vw) rgba(185, 185, 185, .25); }
.topBiz-head { align-items: flex-start; }
.topBiz-head .btn { margin-top: calc(5.7 / var(--screen-w) * 100vw); }
.topBiz h2 { display: flex; align-items: center; font-size: calc(15 / var(--fs-w) * 100vw); font-weight: 400; line-height: 2.33; }
.topBiz h2 span { display: flex; align-items: center; color: var(--txt2); font-family: var(--en); font-size: calc(50 / var(--fs-w) * 100vw); line-height: 1.2; }
.topBiz h2 span::after { content: ""; width: calc(2 / var(--screen-w) * 100vw); height: calc(30 / var(--screen-w) * 100vw); margin: calc(4 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) 0 calc(21 / var(--screen-w) * 100vw); background: var(--txt2); }
.topBiz .btn { min-width: calc(277 / var(--screen-w) * 100vw); }
.topBiz-list { grid-template-columns: repeat(3, calc(448 / var(--screen-w) * 100vw)); column-gap: calc(91 / var(--screen-w) * 100vw); margin: calc(51 / var(--screen-w) * 100vw) 0 0 calc(18 / var(--screen-w) * 100vw); }
.topBiz-list li { position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.topBiz-list li + li::before { content: ""; position: absolute; top: 0; bottom: calc(-18 / var(--screen-w) * 100vw); left: calc(-46.5 / var(--screen-w) * 100vw); width: calc(2 / var(--screen-w) * 100vw); background: var(--line); }
.topBiz figure, .topCase figure { position: relative; width: 100%; }
.topBiz figure img { width: 100%; height: calc(294.35 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(12 / var(--screen-w) * 100vw); }
.topBiz figure::after, .topCase figure::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(231.7 / var(--screen-w) * 100vw); border-radius: 0 0 calc(12 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); background: linear-gradient(to top, rgba(0, 59, 119, .82) 5.77%, rgba(113, 143, 173, .41) 32.9%, rgba(226, 226, 226, 0) 60%); }
.topBiz h3 { margin-top: calc(42 / var(--screen-w) * 100vw); font-size: calc(25 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.4; }
.topBiz-list p { margin-top: calc(16.5 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); line-height: 2.125; }
.topBiz-link, .topBiz-logo { margin-top: auto; }
.topBiz-link { padding: calc(32.5 / var(--screen-w) * 100vw) calc(45 / var(--screen-w) * 100vw) 0 0; font-weight: 600; line-height: 1.5; background: url(../img/common/pill-blue.svg) right bottom / calc(30.4 / var(--screen-w) * 100vw) auto no-repeat; }
.topBiz-logo { margin-bottom: calc(16 / var(--screen-w) * 100vw); padding: calc(29 / var(--screen-w) * 100vw) calc(27 / var(--screen-w) * 100vw) 0 0; background: url(../img/common/ext-l.svg) right bottom calc(5 / var(--screen-w) * 100vw) / calc(20.5 / var(--screen-w) * 100vw) auto no-repeat; }
.topBiz-logo img { width: auto; height: calc(29 / var(--screen-w) * 100vw); }

/* ===== 支援の特徴 ===== */
.topFeature { position: relative; display: flex; padding: calc(147 / var(--screen-w) * 100vw) 0 calc(69 / var(--screen-w) * 100vw) calc(108 / var(--screen-w) * 100vw); overflow: hidden; clip-path: inset(0); color: #fff; }
.topFeature::before, .topFeature::after { content: ""; inset: 0; z-index: -1; }
/* 写真も青も画面に固定して、スクロールしても背景の見え方が変わらないようにする */
.topFeature::before, .topFeature::after { position: fixed; }
.topFeature::before { background: url(../img/top/feature-bg.webp) center / cover no-repeat; }
.topFeature::after { background: linear-gradient(rgba(0, 59, 119, .89) 25%, rgba(0, 59, 119, .5)); }
.topFeature h2 { flex-shrink: 0; width: calc(646 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); }
.topFeature h2 span { margin-bottom: 0; }
.topFeature-body { flex: 1; }
.topFeature li { display: grid; grid-template-columns: calc(539 / var(--screen-w) * 100vw) calc(430 / var(--screen-w) * 100vw); column-gap: calc(89 / var(--screen-w) * 100vw); padding: calc(66 / var(--screen-w) * 100vw) calc(108 / var(--screen-w) * 100vw) calc(54 / var(--screen-w) * 100vw) 0; border-bottom: 1px solid rgba(255, 255, 255, .9); }
.topFeature li:first-child { padding-top: 0; }
.topFeature li:last-child { padding-bottom: calc(96 / var(--screen-w) * 100vw); }
.topFeature-num { display: block; margin-top: calc(20 / var(--screen-w) * 100vw); font-family: var(--en); font-size: calc(33 / var(--fs-w) * 100vw); line-height: 1.2; }
.topFeature h3 { margin-top: calc(19 / var(--screen-w) * 100vw); font-family: var(--min); font-size: calc(40 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.416; }
.topFeature li:first-child h3 { margin-top: calc(38 / var(--screen-w) * 100vw); }
.topFeature li p { margin-top: calc(29 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); font-weight: 600; line-height: 2.176; }
.topFeature li img { width: 100%; margin-bottom: calc(12 / var(--screen-w) * 100vw); border-radius: calc(4 / var(--screen-w) * 100vw); }
.topFeature .btn { margin-top: calc(108 / var(--screen-w) * 100vw); }

/* ===== 事例・お客様の声 ===== */
.topCase { padding: calc(206 / var(--screen-w) * 100vw) calc(108 / var(--screen-w) * 100vw) calc(143 / var(--screen-w) * 100vw); }
.topCase-head { align-items: flex-start; }
.topCase-head .btn { margin-top: calc(42 / var(--screen-w) * 100vw); }
.topCase-list { grid-template-columns: repeat(4, 1fr); column-gap: calc(16.5 / var(--screen-w) * 100vw); margin-top: calc(86 / var(--screen-w) * 100vw); }
.topCase figure img { width: 100%; height: calc(250.75 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(5 / var(--screen-w) * 100vw); }
.topCase figure::after { border-radius: 0 0 calc(5 / var(--screen-w) * 100vw) calc(5 / var(--screen-w) * 100vw); }
.topCase .tagList { margin-top: calc(23.4 / var(--screen-w) * 100vw); }
.topCase h3 { margin-top: calc(20 / var(--screen-w) * 100vw); font-size: calc(22 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.5; }
.topCase-list p { margin-top: calc(20 / var(--screen-w) * 100vw); color: #5d5d5d; font-size: calc(14 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.3; }

/* ===== セミナー ===== */
.topSeminar { padding: calc(113 / var(--screen-w) * 100vw) calc(108 / var(--screen-w) * 100vw) calc(159 / var(--screen-w) * 100vw); color: #fff; background: url(../img/top/seminar-lines.svg) left top calc(31.75 / var(--screen-w) * 100vw) / calc(1920 / var(--screen-w) * 100vw) auto no-repeat, var(--dark); }
.topSeminar-head { align-items: flex-start; }
.topSeminar-head ul { gap: calc(68 / var(--screen-w) * 100vw); margin: calc(94 / var(--screen-w) * 100vw) calc(14.5 / var(--screen-w) * 100vw) 0 0; }
.topSeminar-head a { display: block; min-width: calc(223 / var(--screen-w) * 100vw); white-space: nowrap; padding-right: calc(53 / var(--screen-w) * 100vw); font-size: calc(15 / var(--fs-w) * 100vw); font-weight: 600; line-height: 1.6; text-align: right; background: url(../img/common/pill-gray.svg) right center / calc(41 / var(--screen-w) * 100vw) auto no-repeat; }
.topSeminar-body { align-items: flex-start; margin-top: calc(35 / var(--screen-w) * 100vw); }
.topSeminar-pickup { position: relative; width: calc(791 / var(--screen-w) * 100vw); margin-top: calc(55 / var(--screen-w) * 100vw); }
.topSeminar-pickup img { width: 100%; height: calc(437 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(3 / var(--screen-w) * 100vw); }
.topSeminar-pickup span { position: absolute; top: 0; left: 0; padding: 0 calc(8.5 / var(--screen-w) * 100vw); background: #cacaca; font-size: calc(20 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.75; }
.topSeminar-list { width: calc(773 / var(--screen-w) * 100vw); }
.topSeminar-list li { border-top: 1px solid rgba(255, 255, 255, .19); }
.topSeminar-list li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .19); }
.topSeminar-list a { align-items: flex-start; padding: calc(32 / var(--screen-w) * 100vw) calc(50 / var(--screen-w) * 100vw) calc(27.5 / var(--screen-w) * 100vw) calc(17 / var(--screen-w) * 100vw); background: url(../img/common/chev.svg) right calc(22.8 / var(--screen-w) * 100vw) center / calc(7.7 / var(--screen-w) * 100vw) auto no-repeat; }
.topSeminar-date { position: relative; flex-shrink: 0; width: calc(127 / var(--screen-w) * 100vw); margin-top: calc(10.6 / var(--screen-w) * 100vw); padding-bottom: calc(30 / var(--screen-w) * 100vw); font-family: var(--cas); font-size: calc(40.64 / var(--fs-w) * 100vw); line-height: 1.2; background: url(../img/top/slash.svg) left calc(28.3 / var(--screen-w) * 100vw) top calc(4.9 / var(--screen-w) * 100vw) / calc(34 / var(--screen-w) * 100vw) auto no-repeat; }
.topSeminar-date span { position: absolute; top: calc(29.6 / var(--screen-w) * 100vw); left: calc(62 / var(--screen-w) * 100vw); }
.topSeminar-txt { width: calc(554.5 / var(--screen-w) * 100vw); font-size: calc(20 / var(--fs-w) * 100vw); line-height: 1.55; }
.topSeminar-txt span { display: block; width: fit-content; margin-bottom: calc(20 / var(--screen-w) * 100vw); padding: calc(2 / var(--screen-w) * 100vw) calc(7 / var(--screen-w) * 100vw) calc(2 / var(--screen-w) * 100vw) calc(6 / var(--screen-w) * 100vw); background: #5d5d5d; color: #a5a5a5; font-size: calc(14 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.3; }
.topSeminar-txt .-open { margin-bottom: calc(15 / var(--screen-w) * 100vw); background: none; color: #fff; border: 1px solid #fff; }
.topSeminar-notice { align-items: flex-start; margin-top: calc(111 / var(--screen-w) * 100vw); padding: calc(55 / var(--screen-w) * 100vw) calc(51 / var(--screen-w) * 100vw) calc(56 / var(--screen-w) * 100vw) calc(79 / var(--screen-w) * 100vw); background: #303030; border-radius: calc(13 / var(--screen-w) * 100vw); }
.topSeminar-notice h3 { font-family: var(--cas); font-size: calc(31.5 / var(--fs-w) * 100vw); font-weight: 400; line-height: 1.371; }
.topSeminar-notice p { margin-top: calc(16 / var(--screen-w) * 100vw); font-size: calc(16 / var(--fs-w) * 100vw); line-height: 1.5; }
.topSeminar-notice form { gap: calc(9 / var(--screen-w) * 100vw); margin-top: calc(6.6 / var(--screen-w) * 100vw); }
.topSeminar-notice input { width: calc(600 / var(--screen-w) * 100vw); padding: calc(24 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(23 / var(--screen-w) * 100vw) calc(48 / var(--screen-w) * 100vw); background: #535353; border-bottom: 1px solid #9a9a9a; color: #fff; font-size: calc(14 / var(--fs-w) * 100vw); }
.topSeminar-notice input::placeholder { color: #fff; opacity: 1; }
.topSeminar-notice button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(4 / var(--screen-w) * 100vw); width: calc(95 / var(--screen-w) * 100vw); background: #4d4d4d; font-size: calc(14 / var(--fs-w) * 100vw); line-height: 1.3; cursor: pointer; }
.topSeminar-notice button::before { content: ""; width: calc(18 / var(--screen-w) * 100vw); height: calc(17.5 / var(--screen-w) * 100vw); background: url(../img/top/ic-send.svg) center / contain no-repeat; }

/* ===== 理念 ===== */
.topPhilo { position: relative; padding: calc(118 / var(--screen-w) * 100vw) 0 calc(115.6 / var(--screen-w) * 100vw) calc(215 / var(--screen-w) * 100vw); }
.topPhilo-img { position: absolute; top: calc(254 / var(--screen-w) * 100vw); left: calc(911 / var(--screen-w) * 100vw); width: calc(839 / var(--screen-w) * 100vw); }
.topPhilo h2 { font-family: var(--min); font-size: calc(60 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.594; }
.topPhilo > p { position: relative; max-width: calc(690 / var(--screen-w) * 100vw); margin-top: calc(43 / var(--screen-w) * 100vw); font-size: calc(20 / var(--fs-w) * 100vw); line-height: 2.3; }
.topPhilo > p + p { margin-top: calc(46 / var(--screen-w) * 100vw); }
.topPhilo > .topPhilo-lead { font-size: calc(23 / var(--fs-w) * 100vw); font-weight: 500; line-height: 2; }
.topPhilo-links { position: relative; width: calc(628 / var(--screen-w) * 100vw); margin-top: calc(98 / var(--screen-w) * 100vw); }
.topPhilo-links li { border-bottom: 1.5px solid #ccc; }
.topPhilo-links li + li { margin-top: calc(35 / var(--screen-w) * 100vw); }
.topPhilo-links a { display: flex; align-items: center; min-height: calc(32.5 / var(--screen-w) * 100vw); margin: 0 calc(12.3 / var(--screen-w) * 100vw) calc(35 / var(--screen-w) * 100vw); font-size: calc(18 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.33; background: url(../img/common/pill-light.svg) right center / calc(53.5 / var(--screen-w) * 100vw) auto no-repeat; }

/* ===== 採用 ===== */
.topRecruit { position: relative; isolation: isolate; display: flex; padding: calc(69 / var(--screen-w) * 100vw) 0 calc(89 / var(--screen-w) * 100vw) calc(197 / var(--screen-w) * 100vw); overflow: hidden; }
.topRecruit::before { content: ""; position: absolute; top: 0; left: calc(670 / var(--screen-w) * 100vw); z-index: -1; width: calc(1755 / var(--screen-w) * 100vw); height: calc(702 / var(--screen-w) * 100vw); border-radius: calc(473 / var(--screen-w) * 100vw); background: linear-gradient(149.68deg, #e7f3ff 4.78%, #fff 66.78%, #fdffd4 81.3%); }
.topRecruit-img { flex-shrink: 0; align-items: flex-start; gap: calc(24 / var(--screen-w) * 100vw); width: calc(722 / var(--screen-w) * 100vw); }
.topRecruit-img img { width: calc(349 / var(--screen-w) * 100vw); height: calc(549 / var(--screen-w) * 100vw); object-fit: cover; border-radius: calc(3 / var(--screen-w) * 100vw); }
.topRecruit-img img + img { margin-top: calc(84 / var(--screen-w) * 100vw); }
.topRecruit-txt { flex: 1; min-width: 0; margin-left: calc(158 / var(--screen-w) * 100vw); padding-top: calc(31 / var(--screen-w) * 100vw); }
.topRecruit-label { color: #003186; font-size: calc(20 / var(--fs-w) * 100vw); font-weight: 500; line-height: 1.75; }
.topRecruit h2 { margin-top: calc(38 / var(--screen-w) * 100vw); font-family: var(--min); font-size: calc(36 / var(--fs-w) * 100vw); font-weight: 300; line-height: 1.683; }
.topFeature h3 span, .topPhilo p span, .topRecruit h2 span, .topIntro p span { display: inline-block; }
.topRecruit-txt > p:not([class]) { margin-top: calc(38 / var(--screen-w) * 100vw); font-size: calc(17 / var(--fs-w) * 100vw); line-height: 2.06; }
.topRecruit-btns { gap: calc(11 / var(--screen-w) * 100vw); margin-top: calc(51 / var(--screen-w) * 100vw); }
.topRecruit-en { margin: calc(37 / var(--screen-w) * 100vw) 0 0 calc(-22 / var(--screen-w) * 100vw); color: #e9f4ff; font-family: var(--en); font-size: calc(165 / var(--screen-w) * 100vw); line-height: 1.2; white-space: nowrap; }

/* ===== SP ===== */
@media (max-width: 1600px) {
  /* 文字が相対的に大きくなるので、右端にくっつかないよう余白を取る */
  .topRecruit-txt { padding-right: calc(80 / var(--screen-w) * 100vw); }
  .topRecruit-txt > p:not([class]) span { display: inline-block; }
}

@media (max-width: 900px) {
  .topFv { margin: calc(76 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; }
  .topFv > img, .topFv::after { height: calc(560 / var(--screen-w) * 100vw); border-radius: calc(12 / var(--screen-w) * 100vw); }
  .topFv { border-radius: calc(12 / var(--screen-w) * 100vw); }
  .topFv-txt { left: calc(16 / var(--screen-w) * 100vw); right: calc(16 / var(--screen-w) * 100vw); bottom: calc(24 / var(--screen-w) * 100vw); }
  .topFv h1 { font-size: calc(30 / var(--fs-w) * 100vw); }
  .topFv p { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); line-height: 1.8; }
  .topNews { flex-wrap: wrap; margin: calc(16 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) 0; padding: calc(12 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); line-height: 1.6; }
  .topNews h2 { width: auto; margin-right: auto; font-size: calc(13 / var(--fs-w) * 100vw); }
  .topNews-more { order: 2; padding: 0; font-size: calc(13 / var(--fs-w) * 100vw); }
  .topNews-item { order: 3; flex-wrap: wrap; flex-basis: 100%; min-height: 0; margin-top: calc(8 / var(--screen-w) * 100vw); padding: calc(8 / var(--screen-w) * 100vw) calc(24 / var(--screen-w) * 100vw) 0 0; border: 0; border-top: 1px solid #e6e6e6; background-position: right calc(4 / var(--screen-w) * 100vw) center; font-size: calc(14 / var(--fs-w) * 100vw); }
  .topNews time { width: 100%; padding: 0; font-size: calc(12 / var(--fs-w) * 100vw); }
  .topIntro { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .topIntro-bg { top: calc(-40 / var(--screen-w) * 100vw); left: calc(-200 / var(--screen-w) * 100vw); width: calc(600 / var(--screen-w) * 100vw); }
  .topIntro h2 { font-size: calc(26 / var(--fs-w) * 100vw); }
  .topIntro > p { margin-top: calc(24 / var(--screen-w) * 100vw); font-size: calc(15 / var(--fs-w) * 100vw); line-height: 2; }
  .topIntro-dia { width: 100%; margin: calc(32 / var(--screen-w) * 100vw) 0 0; }
  .topIntro-dia li { font-size: calc(7 / var(--screen-w) * 100vw); line-height: 1.6; }
  .topIntro-dia span { margin: 0; font-size: calc(12 / var(--screen-w) * 100vw); }
  .topBiz { margin: 0 calc(16 / var(--screen-w) * 100vw); padding: calc(32 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw) calc(36 / var(--screen-w) * 100vw); border-width: 2px; }
  .topBiz-head { flex-direction: column; align-items: flex-start; gap: calc(16 / var(--screen-w) * 100vw); }
  .topBiz h2 span { font-size: calc(36 / var(--fs-w) * 100vw); }
  .topBiz h2 span::after { height: calc(22 / var(--screen-w) * 100vw); margin: calc(2 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw) 0; }
  .topBiz h2 { font-size: calc(13 / var(--fs-w) * 100vw); }
  .topBiz-list { grid-template-columns: 1fr; gap: calc(48 / var(--screen-w) * 100vw); margin: calc(32 / var(--screen-w) * 100vw) 0 0; }
  .topBiz-list li + li::before { top: calc(-24 / var(--screen-w) * 100vw); bottom: auto; left: 0; width: 100%; height: 1px; }
  .topBiz figure img { height: auto; aspect-ratio: 448 / 294; }
  .topBiz figure::after { height: 78%; }
  .topBiz h3 { margin-top: calc(20 / var(--screen-w) * 100vw); font-size: calc(19 / var(--fs-w) * 100vw); }
  .topBiz-list p { margin-top: calc(10 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 1.9; }
  .topBiz-link, .topBiz-logo { padding-top: calc(16 / var(--screen-w) * 100vw); }
  .topBiz-link { font-size: calc(14 / var(--fs-w) * 100vw); padding-right: calc(42 / var(--screen-w) * 100vw); background-size: calc(28 / var(--screen-w) * 100vw) auto; }
  .topBiz-logo img { height: calc(24 / var(--screen-w) * 100vw); }
  .topBiz-logo { background-size: calc(16 / var(--screen-w) * 100vw) auto; padding-right: calc(22 / var(--screen-w) * 100vw); }
  .topFeature { display: block; padding: calc(64 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .topFeature h2 { width: auto; font-size: calc(14 / var(--fs-w) * 100vw); }
  .topFeature-body { margin-top: calc(32 / var(--screen-w) * 100vw); }
  .topFeature li { grid-template-columns: 1fr; row-gap: calc(20 / var(--screen-w) * 100vw); padding: calc(32 / var(--screen-w) * 100vw) 0; }
  .topFeature li:first-child { padding-top: calc(8 / var(--screen-w) * 100vw); }
  .topFeature-num { margin: 0; font-size: calc(24 / var(--fs-w) * 100vw); }
  .topFeature h3 { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(24 / var(--fs-w) * 100vw); }
  .topFeature li:first-child h3 { margin-top: calc(38 / var(--screen-w) * 100vw); }
.topFeature li p { margin-top: calc(14 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 1.9; }
  .topFeature li img { aspect-ratio: 16 / 10; object-fit: cover; }
  .topFeature .btn { margin-top: calc(40 / var(--screen-w) * 100vw); }
  .topCase { padding: calc(64 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); }
  .topCase-head { flex-direction: column; gap: calc(20 / var(--screen-w) * 100vw); }
  .topCase-head .btn { margin: 0; }
  .topCase-list { grid-template-columns: 1fr 1fr; gap: calc(28 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); margin-top: calc(32 / var(--screen-w) * 100vw); }
  .topCase figure img { height: auto; aspect-ratio: 413 / 251; }
  .topCase figure::after { height: 80%; }
  .topCase .tagList { margin-top: calc(10 / var(--screen-w) * 100vw); gap: calc(4 / var(--screen-w) * 100vw); }
  .topCase h3 { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); }
  .topCase-list p { margin-top: calc(6 / var(--screen-w) * 100vw); font-size: calc(11 / var(--fs-w) * 100vw); line-height: 1.5; }
  .topSeminar { padding: calc(64 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw); background-size: calc(800 / var(--screen-w) * 100vw) auto; }
  .topSeminar-head { flex-direction: column; gap: calc(20 / var(--screen-w) * 100vw); }
  .topSeminar-head ul { flex-direction: column; gap: calc(12 / var(--screen-w) * 100vw); margin: 0; }
  .topSeminar-head a { min-width: 0; padding-right: calc(48 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); text-align: left; background-size: calc(36 / var(--screen-w) * 100vw) auto; }
  .topSeminar-body { display: block; margin-top: calc(28 / var(--screen-w) * 100vw); }
  .topSeminar-pickup, .topSeminar-list { display: block; width: 100%; margin: 0; }
  .topSeminar-pickup img { height: auto; }
  .topSeminar-pickup span { font-size: calc(13 / var(--fs-w) * 100vw); }
  .topSeminar-list { margin-top: calc(24 / var(--screen-w) * 100vw); }
  .topSeminar-list a { padding: calc(18 / var(--screen-w) * 100vw) calc(28 / var(--screen-w) * 100vw) calc(18 / var(--screen-w) * 100vw) 0; background-position: right calc(6 / var(--screen-w) * 100vw) center; }
  .topSeminar-date { width: calc(64 / var(--screen-w) * 100vw); margin-top: 0; padding-bottom: calc(16 / var(--screen-w) * 100vw); font-size: calc(24 / var(--fs-w) * 100vw); background-position: left calc(16 / var(--screen-w) * 100vw) top calc(3 / var(--screen-w) * 100vw); background-size: calc(20 / var(--screen-w) * 100vw) auto; }
  .topSeminar-date span { top: calc(16 / var(--screen-w) * 100vw); left: calc(36 / var(--screen-w) * 100vw); }
  .topSeminar-txt { font-size: calc(14 / var(--fs-w) * 100vw); }
  .topSeminar-txt span, .topSeminar-txt .-open { margin-bottom: calc(8 / var(--screen-w) * 100vw); font-size: calc(11 / var(--fs-w) * 100vw); }
  .topSeminar-notice { display: block; margin-top: calc(40 / var(--screen-w) * 100vw); padding: calc(28 / var(--screen-w) * 100vw) calc(20 / var(--screen-w) * 100vw); }
  .topSeminar-notice h3 { font-size: calc(24 / var(--fs-w) * 100vw); }
  .topSeminar-notice p { margin-top: calc(8 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); }
  .topSeminar-notice form { margin-top: calc(16 / var(--screen-w) * 100vw); gap: calc(6 / var(--screen-w) * 100vw); }
  .topSeminar-notice input { flex: 1; width: auto; min-width: 0; padding: calc(14 / var(--screen-w) * 100vw) calc(12 / var(--screen-w) * 100vw); font-size: calc(13 / var(--fs-w) * 100vw); }
  .topSeminar-notice button { width: calc(64 / var(--screen-w) * 100vw); font-size: calc(12 / var(--fs-w) * 100vw); }
  .topPhilo { padding: calc(56 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(64 / var(--screen-w) * 100vw); }
  .topPhilo-img { position: static; display: block; width: calc(240 / var(--screen-w) * 100vw); margin: 0 0 calc(8 / var(--screen-w) * 100vw) auto; }
  .topPhilo h2 { position: relative; z-index: 1; margin-top: calc(-180 / var(--screen-w) * 100vw); font-size: calc(30 / var(--fs-w) * 100vw); }
  .topPhilo > p { max-width: none; margin-top: calc(24 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 2; }
  .topPhilo > p + p { margin-top: calc(24 / var(--screen-w) * 100vw); }
  .topPhilo > .topPhilo-lead { font-size: calc(15 / var(--fs-w) * 100vw); line-height: 1.8; }
  .topPhilo-links { width: 100%; margin-top: calc(40 / var(--screen-w) * 100vw); }
  .topPhilo-links li + li { margin-top: calc(16 / var(--screen-w) * 100vw); }
  .topPhilo-links a { margin: 0 0 calc(16 / var(--screen-w) * 100vw); font-size: calc(15 / var(--fs-w) * 100vw); background-size: calc(44 / var(--screen-w) * 100vw) auto; min-height: calc(27 / var(--screen-w) * 100vw); }
  .topRecruit { display: block; padding: calc(40 / var(--screen-w) * 100vw) calc(16 / var(--screen-w) * 100vw) calc(56 / var(--screen-w) * 100vw); }
  .topRecruit::before { top: calc(120 / var(--screen-w) * 100vw); left: calc(-80 / var(--screen-w) * 100vw); width: calc(700 / var(--screen-w) * 100vw); height: calc(760 / var(--screen-w) * 100vw); border-radius: calc(300 / var(--screen-w) * 100vw); }
  .topRecruit-img { width: 100%; gap: calc(12 / var(--screen-w) * 100vw); }
  .topRecruit-img img { width: calc(160 / var(--screen-w) * 100vw); height: calc(252 / var(--screen-w) * 100vw); }
  .topRecruit-img img + img { margin-top: calc(40 / var(--screen-w) * 100vw); }
  .topRecruit-txt { margin: calc(32 / var(--screen-w) * 100vw) 0 0; padding: 0; }
  .topRecruit-txt > p:not([class]) span { display: inline; }
  .topRecruit-label { font-size: calc(15 / var(--fs-w) * 100vw); }
  .topRecruit h2 { margin-top: calc(12 / var(--screen-w) * 100vw); font-size: calc(22 / var(--fs-w) * 100vw); }
  .topRecruit-txt > p:not([class]) { margin-top: calc(16 / var(--screen-w) * 100vw); font-size: calc(14 / var(--fs-w) * 100vw); line-height: 1.9; }
  .topRecruit-btns { flex-direction: column; margin-top: calc(28 / var(--screen-w) * 100vw); }
  .topRecruit-en { margin: calc(20 / var(--screen-w) * 100vw) 0 0; font-size: calc(72 / var(--fs-w) * 100vw); }
}
