/* 本家トップの寸法・配色を踏襲した基礎スタイル（PC）。フォント・画像は差し替え済み */
body { margin: 0; padding: 0; border: none; }
html { --default-font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; --cursor-x: 0; --cursor-y: 0; font-size: 10px; }
html.is-windows { --default-font-family: "Noto Sans JP", Meiryo, sans-serif; }
body { --textcolor: #242e33; background: #fff; color: var(--textcolor); font-family: var(--default-font-family); font-size: 1.6rem; font-weight: 300; line-height: 1.75; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.header::before { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: visibility, opacity; content: ""; display: block; visibility: hidden; position: fixed; inset: 0 0 auto; height: 100vh; height: 100lvh; z-index: 11; opacity: 0; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); pointer-events: none; }
.header::after { box-sizing: border-box; content: ""; display: block; position: absolute; top: 0; right: 3rem; left: 3rem; z-index: 10; height: 10rem; border-bottom: rgba(131, 162, 178, 0.3) solid 1px; }
.header__logo { box-sizing: border-box; display: grid; align-items: center; position: absolute; top: 0; left: 3rem; z-index: 12; height: 10rem; background: none; }
.header__logo::after { content: ""; display: block; aspect-ratio: 220/25; grid-column: 1/2; grid-row: 1/2; background: url(/clone/assets/logo-white.svg) no-repeat center center; background-size: contain; opacity: 0; }
.header__logo img { grid-column: 1/2; grid-row: 1/2; width: 22rem; }
.header__nav { display: flex; position: absolute; top: 0; right: 10rem; z-index: 12; height: 10rem; color: #242e33; font-size: 1.4rem; line-height: 1.5; }
.header__nav li { display: flex; }
.header__nav li.pc-hidden { display: none; }
.header__nav li:not(:first-child)::before { border-image-source: repeating-linear-gradient(0deg, #83a2b2 0, #83a2b2 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; content: ""; display: block; align-self: center; width: 0; height: 1.5rem; border-left: solid 1px; }
.header__nav li a { display: flex; align-items: center; position: relative; padding: 0 2.5rem; background: none; }
.header__nav li a::after { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; content: ""; display: block; position: absolute; inset: auto 2.5rem 0; opacity: 0; height: 0; border-bottom: #83a2b2 solid 1px; }
.header__nav li.active a { color: #83a2b2; font-weight: 600; }
.header__nav li.active a::after { opacity: 1; }
.header__nav li.active a .c-drawline { background: none; }
.header__menu { display: block; position: absolute; top: 2rem; right: 3rem; z-index: 16; width: 6rem; height: 6rem; margin: 0; padding: 0; border: none; border-radius: 1rem; background: linear-gradient(145deg, #53798e, #9bb7c2); }
.header__menu::before, .header__menu::after { transition: scale 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; scale: 0 1; content: ""; display: block; position: absolute; top: 50%; left: calc(50% - 0.9rem); width: 1.8rem; height: 1px; background: #fff; }
.header__menu::before { rotate: 45deg; }
.header__menu::after { rotate: -45deg; }
.header__menu .dot { transition: translate 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; display: block; position: absolute; top: calc(50% - 0.2rem); left: calc(50% - 0.2rem); aspect-ratio: 1/1; width: 0.4rem; border-radius: 50%; background: #fff; }
.header__menu .dot:nth-child(1) { translate: -0.7rem 0; }
.header__menu .dot:nth-child(3) { translate: 0.7rem 0; }
.header__menu:hover .dot:nth-child(1) { translate: 0 0; }
.header__menu:hover .dot:nth-child(3) { translate: 0 0; }
.header--scrolled::after { animation: header-scrolled 0.8s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; position: fixed; top: 1rem; right: 1rem; left: 1rem; height: 5rem; border-radius: 1rem; border-bottom: none; background: none; box-shadow: 0.1rem 0.1rem 0.4rem rgba(12, 2, 0, 0.1); -webkit-backdrop-filter: blur(135px); backdrop-filter: blur(135px); }
.header--scrolled .header__logo { transition: all 0.2s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: top, left, height, padding, border-radius, background; animation: header-scrolled 0.8s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; position: fixed; top: 1rem; left: 1rem; height: 5rem; padding: 0 1.7rem; border-radius: 1rem 0 0 1rem; background: #83a2b2; }
.header--scrolled .header__logo::after { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; opacity: 1; }
.header--scrolled .header__logo img { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; opacity: 0; }
.header--scrolled .header__nav { transition: all 0.2s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: top, height; animation: header-scrolled 0.8s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; position: fixed; top: 1rem; height: 5rem; color: #ccc; mix-blend-mode: difference; }
.header--scrolled .header__nav li:not(:first-child)::before { border-image-source: repeating-linear-gradient(0deg, #765e4f 0, #765e4f 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; }
.header--scrolled .header__nav li a::after { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: opacity, border-width; border-bottom-color: #816859; border-bottom-width: 0.2rem; }
.header--scrolled .header__nav li.active a { color: #816859; }
.header--scrolled .header__menu { transition: all 0.2s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: top, right, height, border-radius; animation: header-scrolled 0.8s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; position: fixed; top: 1rem; right: 1rem; height: 5rem; border-radius: 0 1rem 1rem 0; }
.header.dropdown-open::before { visibility: visible; opacity: 1; }
.header.dropdown-open .header__logo { animation-duration: 0s !important; position: fixed !important; top: 0; left: 3rem; height: 10rem; padding: 0; background: none; }
.header.dropdown-open .header__logo::after { opacity: 0; }
.header.dropdown-open .header__logo img { opacity: 1; }
.header.dropdown-open .header__nav { animation-duration: 0s !important; position: fixed !important; top: 0; right: 10rem; height: 10rem; color: #242e33; mix-blend-mode: normal; }
.header.dropdown-open .header__nav li:not(:first-child)::before { border-image-source: repeating-linear-gradient(0deg, #83a2b2 0, #83a2b2 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; }
.header.dropdown-open .header__nav li a::after { border-bottom-color: #83a2b2; border-bottom-width: 1px; }
.header.dropdown-open .header__nav li.active a { color: #83a2b2; }
.header.dropdown-open .header__menu { animation-duration: 0s !important; position: fixed !important; top: 2rem; right: 3rem; height: 6rem; border-radius: 1rem; }
.header.drawer-open .header__menu { animation-duration: 0s !important; position: fixed !important; top: 2rem; right: 3rem; height: 6rem; border: #fff solid 1px; border-radius: 1rem; background: none; }
.header.drawer-open .header__menu::before, .header.drawer-open .header__menu::after { scale: 1 1; }
.header.drawer-open .header__menu .dot { opacity: 0; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open)::after { border-bottom-color: rgba(255, 255, 255, 0.2); }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__logo::after { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; opacity: 1; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__logo img { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; opacity: 0; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__nav { color: #fff; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__nav li:not(:first-child)::before { border-image-source: repeating-linear-gradient(0deg, #ffffff 0, #ffffff 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__nav li a::after { border-bottom-color: #fff; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__nav li.active a { color: #fff; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__nav li.active a::after { opacity: 1; }
body.header-pc-white .header:not(.header--scrolled):not(.dropdown-open) .header__menu { border: #fff solid 1px; background: none; }
.main { position: relative; z-index: 3; opacity: 0; }
html.loaded .main { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; opacity: 1; }
.main--index .main__bg { display: block; }
.main--index .main__wrapper { grid-template-columns: 100%; padding-top: 0; }
.main--index .main__aside { display: none; }
.main--index .main__container { margin-right: 0; padding-right: 0; }
.main--index .main__eyecatch { margin-right: 0; margin-left: max(7rem, (100% - 110rem)/2); border-radius: 1rem 0 0 1rem; }
.main--index .main__eyecatch + .main__content .main__breadcrumbs { bottom: calc(100% + 29rem); }
.main--index .main__eyecatch video { aspect-ratio: 1230/500; }
.main:not(.main--index) .main__content:first-child .main__breadcrumbs { bottom: calc(100% - 32rem); }
.footer { position: relative; z-index: 2; }
.footer__container { box-sizing: border-box; max-width: 124rem; margin-right: auto; margin-left: auto; padding-right: 7rem; padding-left: 7rem; }
.footer__contactWrap { border-top: #ebf0f2 solid 1px; background: #fff; }
.footer__contact { display: grid; grid-template-columns: repeat(3, 1fr); }
.footer__contact .link { display: flex; position: relative; background: none; }
.footer__contact .link:not(:first-child)::after { border-image-source: repeating-linear-gradient(0deg, rgba(107, 124, 138, 0.5) 0, rgba(107, 124, 138, 0.5) 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; content: ""; display: block; position: absolute; inset: 10rem auto 0 0; z-index: 1; width: 0; border-left: solid 1px; }
.footer__contact .link::before { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; content: ""; display: block; position: absolute; inset: 0; z-index: 0; background: linear-gradient(to right, #f3f7f9, #ffffff); opacity: 0; }
.footer__contact .link__body { display: flex; flex-direction: column; align-items: flex-start; flex-grow: 1; row-gap: 2rem; position: relative; z-index: 1; padding: 10rem 3rem; font-size: 1.35rem; line-height: 1.72; text-align: left; }
.footer__contact .link__ttl { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; color: #485b66; font-size: 2.2rem; line-height: 1.5; text-decoration: underline; }
.footer__contact .link__txt { display: flex; flex-grow: 1; flex-direction: column; justify-content: space-between; align-items: flex-start; row-gap: 2.5rem; }
.footer__contact .link__txt .ico-sq { width: 4rem; }
.footer__contact div.link .link__ttl { text-decoration: none; }
.footer__contact a.link:hover { animation: none; }
.footer__contact a.link:hover::before { opacity: 1; }
.footer__bannersWrap { padding: 7rem 0; background: #83a2b2; color: #fff; }
.footer__banners { display: grid; grid-template-columns: repeat(3, 1fr); -moz-column-gap: 4rem; column-gap: 4rem; }
.footer__banners .banner__link { display: block; background: none; text-decoration: none; }
.footer__banners .banner__img { border-radius: 0.5rem; }
.footer__banners .banner__txt { margin-top: 1rem; font-size: 1.2rem; line-height: 1.5; }
.footer__body { padding-top: 7rem; padding-bottom: 13.5rem; background: #7493a3; color: #fff; }
.footer .f-media__head { box-sizing: border-box; max-width: 124rem; margin-right: auto; margin-left: auto; padding-right: 7rem; padding-left: 7rem; display: flex; align-items: center; margin-bottom: 3rem; font-size: 1.2rem; line-height: 1.67; }
.footer .f-media__ttl { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; margin-right: 2.5rem; font-size: 1.8rem; }
.footer .f-media__txt { opacity: 0.5; }
.footer .f-media__more { margin-left: auto; }
.footer__upper { margin-top: 7rem; padding-top: 10rem; border-top: rgba(255, 255, 255, 0.2) solid 1px; }
.footer__navWrap { display: inline-grid; grid-template-columns: 16.5rem auto 26rem 13rem auto; grid-template-rows: auto auto auto 1fr; -moz-column-gap: 4rem; column-gap: 4rem; row-gap: 3rem; }
.footer__nav { display: contents; }
.footer__nav .parent { font-size: 1.8rem; font-weight: 600; line-height: 1.5; }
.footer__nav .parent .icon { display: none; }
.footer__nav .children { margin-top: 1rem; font-size: 1.4rem; line-height: 2.15; }
.footer__nav .home { grid-column: 1/2; grid-row: 1/2; }
.footer__nav .aboutus { grid-column: 2/3; grid-row: 1/5; }
.footer__nav .service { grid-column: 3/4; grid-row: 1/5; }
.footer__nav .feature { grid-column: 4/5; grid-row: 1/2; }
.footer__nav .case { grid-column: 4/5; grid-row: 2/3; }
.footer__nav .recruit { grid-column: 4/5; grid-row: 3/5; }
.footer__nav .news { grid-column: 5/6; grid-row: 1/2; }
.footer__nav .seminar { grid-column: 5/6; grid-row: 2/3; }
.footer__nav .download { grid-column: 5/6; grid-row: 3/4; }
.footer__nav .contact { grid-column: 5/6; grid-row: 4/5; }
.footer__sns { display: flex; justify-content: flex-end; -moz-column-gap: 1rem; column-gap: 1rem; margin: 7rem 0 -1.5rem; }
.footer__sns a { display: block; width: 3.5rem; background: none; }
.footer__lower { display: grid; grid-template-columns: 40rem 55rem; justify-content: space-between; row-gap: 12.5rem; margin-top: 8.5rem; padding-top: 7rem; border-top: rgba(255, 255, 255, 0.2) solid 1px; }
.footer__logo { display: block; width: 32.8rem; background: none; }
.footer__address { display: grid; row-gap: 1rem; margin-top: 3rem; font-size: 1.2rem; line-height: 1.5; }
.footer__address .zip { display: inline-block; margin-right: 1em; }
.footer__pmark { display: block; width: 6.6rem; margin-top: 3rem; background: none; }
.footer__groups { -moz-columns: 2; columns: 2; -moz-column-gap: 7rem; column-gap: 7rem; font-size: 1.1rem; line-height: 2.23; }
.footer__links { display: flex; -moz-column-gap: 1em; column-gap: 2em; font-size: 1.2rem; line-height: 1.5; width: max-content; }
.footer__copyright { font-size: 1.2rem; line-height: 1.5; text-align: right; }
.ico-arw { aspect-ratio: 1/1; width: 1rem; fill: currentColor; }
.ico-sq { --border-color: #83a2b2; --bg-color: #83a2b2; --bg-color-ov: transparent; --arw-color: #ffffff; --arw-color-ov: #83a2b2; transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: border-color, background, color; box-sizing: border-box; display: flex; justify-content: center; align-items: center; aspect-ratio: 1/1; width: 2rem; border: var(--border-color) solid 1px; border-radius: 0.5rem; background: var(--bg-color); color: var(--arw-color); }
.ico-sq.ghost { --border-color: #83a2b2; --bg-color: transparent; --bg-color-ov: #83a2b2; --arw-color: #83a2b2; --arw-color-ov: #ffffff; }
.ico-sq .ico-blank { margin-left: 0; }
.ico-blank { aspect-ratio: 1/1; width: 0.7rem; margin-left: 0.5rem; fill: currentColor; vertical-align: middle; }
.c-linetext { --line-offset: 0rem; background: linear-gradient(to right, currentColor, currentColor) no-repeat right var(--line-offset) bottom; background-size: calc(100% - var(--line-offset)) var(--linesize); }
.c-linetext.blank { --line-offset: 1.2rem; }
.c-linetext.blank::after { content: ""; display: inline-block; aspect-ratio: 1/1; width: 0.7rem; margin-left: 0.5rem; background: currentColor; vertical-align: middle; -webkit-mask-image: url(/clone/assets/icon-blank.svg); mask-image: url(/clone/assets/icon-blank.svg); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center center; mask-position: center center; -webkit-mask-size: contain; mask-size: contain; }
.c-drawline { --line-offset: 0rem; transition: background-size 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; background: linear-gradient(to right, currentColor, currentColor) no-repeat right var(--line-offset) bottom; background-size: 0 var(--linesize); }
.c-drawline.blank { --line-offset: 1.2rem; }
.c-drawline.blank::after { content: ""; display: inline-block; aspect-ratio: 1/1; width: 0.7rem; margin-left: 0.5rem; background: currentColor; vertical-align: middle; -webkit-mask-image: url(/clone/assets/icon-blank.svg); mask-image: url(/clone/assets/icon-blank.svg); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center center; mask-position: center center; -webkit-mask-size: contain; mask-size: contain; }
.c-arwlink { display: inline-block; font-size: 1.4rem; font-weight: 600; line-height: 1.4; background: none; letter-spacing: 0; }
.c-arwlink .c-linetext { vertical-align: middle; }
.c-arwlink .ico-sq { display: inline-flex; margin-left: 0.5rem; vertical-align: middle; }
.c-zoomimg { overflow: hidden; }
.c-zoomimg img { transition: scale 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; scale: 1; }
.c-gallery-section { margin-top: 14rem; margin-left: -23rem; }
.c-gallery { display: flex; overflow: hidden; }
.c-gallery.visible { overflow: visible; margin-bottom: 18rem; }
.c-gallery__container { backface-visibility: hidden; animation: c-gallery-rail calc(var(--length) * 20s) linear 0s infinite normal; animation-play-state: paused; will-change: translate; display: flex; flex-shrink: 0; overflow: hidden; }
.c-gallery__group { backface-visibility: hidden; display: flex; align-items: flex-start; flex-shrink: 0; -moz-column-gap: 4rem; column-gap: 4rem; overflow: hidden; padding-right: 4rem; }
.c-gallery .img { --x: 1; backface-visibility: hidden; overflow: hidden; position: relative; aspect-ratio: 500/350; width: 50rem; border-radius: 0.5rem; -o-object-fit: cover; object-fit: cover; }
.c-gallery .img:nth-child(odd) { margin-top: 8rem; }
.c-gallery .img img { backface-visibility: hidden; translate: calc(37.5% * var(--x)) -50%; will-change: translate; position: absolute; top: 50%; right: 0; width: 160%; height: auto; }
.c-gallery.play .c-gallery__container { animation-play-state: running; }
.c-media-banners { overflow: hidden; padding: 0 4.5rem; }
.c-media-banners .splide__track { overflow: visible; max-width: 111rem; margin: 0 auto; }
.c-media-banners .banner { box-sizing: border-box; display: block; padding: 0 0.5rem; color: #c9d6dd; }
.c-media-banners .banner__link { display: block; position: relative; background: none; }
.c-media-banners .banner__img { display: block; aspect-ratio: 200/100; }
.c-media-banners .banner__img img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; border-radius: 0.5rem; }
.c-media-banners .banner .ico-blank { position: absolute; inset: auto 0.8rem 0.8rem auto; }
.c-media-banners__prev, .c-media-banners__next { display: block; position: absolute; top: 0; bottom: 0; z-index: 1; width: max(5rem, (100% - 110rem)/2); height: auto; margin: 0; padding: 0; border: none; border-radius: 0; background: none; mix-blend-mode: exclusion; }
.c-media-banners__prev .icon, .c-media-banners__next .icon { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: scale, visibility, opacity; translate: calc(var(--cursor-x) * 1px - 35px) calc(var(--cursor-y) * 1px - 50px); scale: 0; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; z-index: 9; visibility: hidden; aspect-ratio: 1/1; width: 70px; border-radius: 50%; background: #fff; font-family: "Montserrat", sans-serif; color: #242e33; font-size: 12px; font-weight: 500; pointer-events: none; opacity: 0; }
.c-media-banners__prev:hover .icon, .c-media-banners__next:hover .icon { scale: 1; visibility: visible; opacity: 1; }
.c-media-banners__prev { left: 0; }
.c-media-banners__next { right: 0; }
html.logo-fit .page-home .header--scrolled::after, html.logo-fit .page-home .header--scrolled .header__logo, html.logo-fit .page-home .header--scrolled .header__nav, html.logo-fit .page-home .header--scrolled .header__menu { animation: home-header-scrolled 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; position: fixed; }
html.no-video .p-home-bg__video { display: none; }
.p-home-section__container { box-sizing: border-box; max-width: 124rem; margin-right: auto; margin-left: auto; padding-right: 7rem; padding-left: 7rem; }
.p-home-section__ttl { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; --textcolor: #485b66; --linesize: 2px; transition: color 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; margin-bottom: 2rem; color: var(--textcolor); font-size: 3.4rem; line-height: 1.4; }
.p-home-section__ttl a { --linesize: 2px; }
.p-home-section__sttl { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; --textcolor: #485b66; --linesize: 1px; transition: color 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; margin-bottom: 2rem; color: var(--textcolor); font-size: 2.4rem; line-height: 1.4; }
.p-home-fv { box-sizing: border-box; position: relative; padding: 10rem 3rem 0; height: 100vh; height: 100svh; min-height: 70rem; }
.p-home-fv__logoWrap { --top: calc((100svh - 10rem) * 0.65 * (0.5 - 0.0513) - 13.7rem + 10rem); position: absolute; top: var(--top); right: 3rem; bottom: 0; left: 3rem; z-index: 2; pointer-events: none; }
.p-home-fv__logo { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; --offset-x: 3.7rem; --offset-y: 2.8rem; --offset-scale: 0.109; --size: 0.3; --per: 0; translate: calc(var(--offset-x) * var(--per)) calc((var(--offset-y) - var(--top)) * var(--per)); scale: calc(1 - (1 - var(--offset-scale)) * var(--per)); transform-origin: left top; position: sticky; top: var(--top); left: 0; height: 0; }
.p-home-fv__logo::before { content: ""; display: block; position: relative; aspect-ratio: 665/137; width: 66.5rem; background: linear-gradient(145deg, #618194, #7799a8); -webkit-mask-image: url(/clone/assets/fv-word2.svg); mask-image: url(/clone/assets/fv-word2.svg); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: left center; mask-position: left center; -webkit-mask-size: contain; mask-size: contain; }
html.logo-fit .p-home-fv__logo { opacity: 0; }
.p-home-fv__upper { display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 1; height: 65%; }
.p-home-fv__upper::before { content: ""; display: block; aspect-ratio: 665/137; width: 66.5rem; }
.p-home-fv__copy { align-self: flex-end; position: relative; top: 6.4%; width: 38.46%; }
.p-home-fv__copy .en { background: linear-gradient(145deg, #5f8397, #a9c1ca); -webkit-background-clip: text; background-clip: text; color: rgba(0, 0, 0, 0); font-family: "Montserrat", sans-serif; font-size: 4.15rem; font-weight: 700; line-height: 1.11; letter-spacing: -0.05em; }
.p-home-fv__copy .ja { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; margin-top: 1.5rem; color: #485b66; font-size: 2.2rem; line-height: 1; }
.p-home-fv__lower { box-sizing: border-box; display: flex; align-items: center; position: relative; z-index: 1; width: 100%; height: 35%; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-fv__lowerInner { display: grid; grid-template-columns: 38.46% 1fr; width: 100%; }
.p-home-fv__pickup { border-image-source: repeating-linear-gradient(0deg, #8cb0c5 0, #8cb0c5 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; border-right: solid 1px; box-sizing: border-box; display: flex; justify-content: flex-start; /* spece-between */ -moz-column-gap: 3rem; column-gap: 3rem; }
.p-home-fv__pickup .pickup { display: flex; align-self: flex-start; align-items: flex-start; -moz-column-gap: 3rem; column-gap: 3rem; background: none; font-size: 1.3rem; line-height: 1.66; }
.p-home-fv__pickup .pickup__img { display: block; flex-shrink: 0; aspect-ratio: 600/500; height: 15rem; width: auto; border-radius: 0.5rem; }
.p-home-fv__pickup .pickup__img img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.p-home-fv__pickup .pickup__txt dd { font-size: 1.2rem; }
.p-home-fv__pickup .pickup__ttl { margin-bottom: 1.5rem; font-family: "Montserrat", sans-serif; font-size: 0.8rem; font-weight: 400; line-height: 1.5; opacity: 0.5; }
.p-home-fv__pickup .pickup .ico-sq { margin-top: 0.5rem; }
.p-home-fv__profile { box-sizing: border-box; display: flex; align-self: flex-start; padding-left: 3rem; }
.p-home-fv__profile .profile { display: block; background: none; font-size: 1.3rem; line-height: 1.66; }
.p-home-fv__profile .profile__ttl { margin-bottom: 1.5rem; font-family: "Montserrat", sans-serif; font-size: 0.8rem; font-weight: 400; line-height: 1.5; opacity: 0.5; }
.p-home-fv__profile .profile__txt dd { font-size: 1.2rem; }
.p-home-fv__profile .profile .ico-sq { margin-top: 2rem; }
.p-home-fv__scroll { display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap: 1rem; position: absolute; top: -6rem; right: 2.31%; aspect-ratio: 1/1; width: 12rem; border-radius: 50%; background: #fff; color: #83a2b2; font-family: "Montserrat", sans-serif; font-size: 0.8rem; font-weight: 700; line-height: 1.5; }
.p-home-fv__scroll::before { content: ""; display: block; width: 0.9rem; height: 2rem; background: currentColor; -webkit-mask-image: url(/clone/assets/scroll-arrow.svg); mask-image: url(/clone/assets/scroll-arrow.svg); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center center; mask-position: center center; -webkit-mask-size: contain; mask-size: contain; }
.p-home-fv__scroll::after { content: ""; box-sizing: border-box; display: block; position: absolute; inset: 0.5rem; border: rgba(131, 162, 178, 0.3) solid 1px; border-radius: 50%; }
.p-home-message { margin-top: 15rem; }
.p-home-message__copy { --sy: 0; will-change: font-size; overflow: hidden; height: 34rem; padding: 0 3rem; font-family: "Montserrat", sans-serif; font-size: 12.5rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.05em; }
.p-home-message__copy .line { scale: calc(1 - (50 - var(--sy)) * 0.004); will-change: translate, scale; display: flex; justify-content: center; margin: 0 -0.01em; }
.p-home-message__copy .line .letter { display: block; background: linear-gradient(145deg, #5f8397, #a9c1ca); -webkit-background-clip: text; background-clip: text; color: rgba(0, 0, 0, 0); will-change: translate; display: block; padding: 0 0.06em; }
.p-home-message__copy .line--r { translate: calc((50 - var(--sy)) * 1%) 0; transform-origin: center bottom; }
.p-home-message__copy .line--r .letter { translate: calc((var(--sy) - 50) * 1%) 0; }
.p-home-message__copy .line--l { translate: calc((var(--sy) - 50) * 1%) 0; transform-origin: center top; margin-top: -3rem; }
.p-home-message__copy .line--l .letter { translate: calc((50 - var(--sy)) * 1%) 0; }
.p-home-message__body { width: 50%; margin-left: auto; }
.p-home-message__txt { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; color: #485b66; font-size: 2rem; line-height: 2.4; }
.p-home-message__more { margin-top: 2.5rem; color: #485b66; font-size: 1.4rem; }
.p-home-message__images { margin-top: 18rem; }
.p-home-service { margin-top: 15rem; }
.p-home-service .p-home-section__ttl { font-size: 3.2rem; }
.p-home-service__container { display: grid; grid-template-columns: 36.37% 1fr; }
.p-home-service__container::before { content: ""; display: block; grid-column: 1/3; height: 0; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-service__head { border-image-source: repeating-linear-gradient(0deg, #a9b5bd 0, #a9b5bd 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; position: relative; padding-top: 8rem; border-right: solid 1px; }
.p-home-service__body { padding: 8rem 0 0 6rem; font-size: 1.4rem; line-height: 2; }
.p-home-service__items { display: flex; flex-wrap: wrap; -moz-column-gap: 0.7rem; column-gap: 0.7rem; row-gap: 1.1rem; margin-top: 3rem; }
.p-home-service__items .item__link { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: background, color; display: grid; align-items: center; height: 6rem; padding: 0 3rem; border-radius: 1rem; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); background: rgba(235, 240, 242, 0.05); box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.02) inset, -0.1rem -0.1rem 1rem rgba(255, 255, 255, 0.8), 0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.12); color: #485b66; font-size: 2.4rem; line-height: 1.5; }
.p-home-service__items .item__link::after { transition: rotate 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transform-origin: center center 0.75em; rotate: x 90deg; content: attr(data-text); display: block; grid-column: 1/2; grid-row: 1/2; }
.p-home-service__items .item__link:hover { background: #83a2b2; color: #fff; }
.p-home-service__items .item__link:hover::after { rotate: x 0deg; }
.p-home-service__items .item__link:hover .item__txt { rotate: x -90deg; }
.p-home-service__items .item__link:hover + .item__tooltip { visibility: visible; opacity: 1; }
.p-home-service__items .item__txt { transition: rotate 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transform-origin: center center 0.75em; display: block; grid-column: 1/2; grid-row: 1/2; position: relative; }
.p-home-service__items .item__tooltip { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: visibility, opacity; translate: calc(var(--cursor-x) * 1px - 42rem) calc(var(--cursor-y) * 1px + 3rem); box-sizing: border-box; visibility: hidden; position: fixed; top: 0; left: 0; z-index: 9; pointer-events: none; width: 54rem; padding: 2rem; border-radius: 0.5rem; font-size: 1.6rem; line-height: 1.75; box-shadow: 0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.1); opacity: 0; background-color: #fff; }
.p-home-service__items .item__tooltip dt { margin-bottom: 1.5rem; font-size: 1.8rem; font-weight: 600; line-height: 1.5; }
.p-home-media { margin-top: 15rem; }
.p-home-media__inner { display: grid; grid-template-columns: 22.73% 1fr auto; align-items: flex-start; margin-bottom: 8rem; padding-top: 9.5rem; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-media__txt { font-size: 1.6rem; line-height: 1.75; }
.p-home-feature { margin-top: 14rem; padding: 15rem 0; }
.p-home-feature__body { display: flex; flex-direction: row-reverse; padding: 0 5rem; }
.p-home-feature__head { box-sizing: border-box; flex-shrink: 0; width: 25%; padding-left: 5rem; }
.p-home-feature__txt { font-size: 1.4rem; line-height: 1.72; }
.p-home-feature__more { margin-top: 2rem; }
.p-home-feature__items { display: grid; grid-template-columns: repeat(3, 1fr); }
.p-home-feature__items .item { border-image-source: repeating-linear-gradient(0deg, rgba(226, 233, 237, 0.5) 0, rgba(226, 233, 237, 0.5) 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; display: flex; position: relative; border-right: solid 1px; }
.p-home-feature__items .item:first-child { border-left: solid 1px; }
.p-home-feature__items .item__link { display: block; position: relative; z-index: 1; margin: -3rem 0; padding: 3rem; background: none; }
.p-home-feature__items .item__link::before { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: background, opacity; content: ""; display: block; position: absolute; inset: 0 0 0 -1px; border-radius: 1rem; background: #6e8d9c; opacity: 0; }
.p-home-feature__items .item__link:hover::before { opacity: 1; }
.p-home-feature__items .item__img { display: block; position: relative; z-index: 1; margin-bottom: 1.5rem; border-radius: 0.5rem; }
.p-home-feature__items .item__txt { position: relative; z-index: 1; font-size: 1.2rem; line-height: 1.84; }
.p-home-feature__items .item__ttl { margin-bottom: 1.5rem; font-size: 1.8rem; font-weight: 600; line-height: 1.45; }
.p-home-feature__wave { overflow: hidden; position: relative; z-index: 0; height: 55rem; margin-bottom: -11.5rem; }
.p-home-feature__wave::before { animation: home-feature-wave 20s linear 0s infinite normal; transform-origin: center bottom; will-change: translate, scale; content: ""; display: block; position: absolute; inset: 0 0 0 auto; width: 200rem; min-width: 200vw; background: url(/clone/assets/feature-wave.svg) repeat-x right center; background-size: 101rem auto; opacity: 0.3; -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black, black, rgba(0, 0, 0, 0)); mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black, black, rgba(0, 0, 0, 0)); }
.p-home-feature__wave::after { animation: home-feature-rail 60s linear 0s infinite normal; will-change: mask-position; content: ""; display: block; position: absolute; top: 14rem; right: 0; left: 0; height: 13rem; background: linear-gradient(145deg, #688b9d, #86a5b3); -webkit-mask-image: url(/clone/assets/feature-rail.svg); mask-image: url(/clone/assets/feature-rail.svg); -webkit-mask-repeat: repeat-x; mask-repeat: repeat-x; -webkit-mask-position: left center; mask-position: left center; -webkit-mask-size: 150rem auto; mask-size: 150rem auto; }
.p-home-number { display: flex; align-items: flex-start; position: relative; z-index: 1; padding: 0 5rem; }
.p-home-number__head { flex-shrink: 0; position: sticky; top: 7rem; left: 0; width: 28rem; }
.p-home-number__txt { font-size: 1.4rem; line-height: 1.72; }
.p-home-number__more { margin-top: 2rem; }
.p-home-number__body { flex-grow: 1; }
.p-home-number__items { display: grid; grid-template-columns: repeat(2, 1fr); -moz-column-gap: 2rem; column-gap: 2rem; row-gap: 2rem; max-width: 78rem; margin: 0 auto; padding-bottom: 10rem; }
.p-home-number__items .item { transition: background 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: background, box-shadow; box-sizing: border-box; display: flex; position: relative; height: 30rem; padding: 4rem; border-radius: 1rem; background: linear-gradient(145deg, #7b9cad, #83a2b2); font-size: 1.2rem; line-height: 1.67; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.03) inset, -0.1rem -0.1rem 1rem rgba(255, 255, 255, 0.1), 0.4rem 0.4rem 0.6rem rgba(0, 0, 0, 0.18); }
.p-home-number__items .item::before { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; content: ""; display: block; position: absolute; inset: 0; border-radius: inherit; background: #7493a3; opacity: 0; }
.p-home-number__items .item:nth-child(even) { top: 10rem; }
.p-home-number__items .item__txt { position: relative; }
.p-home-number__items .item__ttl { font-size: 1.2rem; font-weight: 600; line-height: 1.5; }
.p-home-number__items .item__num { margin: 0.5rem 0; font-family: "Montserrat", sans-serif; font-size: 7.5rem; font-weight: 100; line-height: 1; }
.p-home-number__items .item__num .dot { font-size: 3rem; }
.p-home-number__items .item__num .small { font-size: 3.6rem; }
.p-home-number__items .item__caption { position: absolute; bottom: 0; left: 0; opacity: 0.4; }
.p-home-number__items a.item:hover { animation: none; box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.03) inset, -0.1rem -0.1rem 1rem rgba(255, 255, 255, 0.1); }
.p-home-number__items a.item:hover::before { opacity: 1; }
.p-home-case { margin-top: 15rem; }
.p-home-case .p-home-section__ttl { margin-bottom: 0; }
.p-home-case__head { display: flex; align-items: flex-end; -moz-column-gap: 4rem; column-gap: 4rem; margin-bottom: 4.5rem; font-size: 1.4rem; line-height: 1.72; }
.p-home-case__more { margin-left: auto; }
.p-home-case__items { overflow: hidden; padding: 0 5rem; }
.p-home-case__items .splide__track { overflow: visible; max-width: 110rem; margin: 0 auto; }
.p-home-case__items .item { border-image-source: repeating-linear-gradient(0deg, rgba(125, 140, 152, 0.5) 0, rgba(125, 140, 152, 0.5) 1px, transparent 1px, transparent 3px); border-image-slice: 1; border-image-repeat: repeat; position: relative; border-left: solid 1px; }
.p-home-case__items .item__link { display: block; padding: 0 3rem; background: none; }
.p-home-case__items .item__img { aspect-ratio: 1200/800; margin-bottom: 1.5rem; border-radius: 0.5rem; }
.p-home-case__items .item__img img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.p-home-case__items .item__categories { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.7rem; }
.p-home-case__items .item__categories li { box-sizing: border-box; display: flex; align-items: center; height: 2rem; padding: 0 0.5rem; border: #e1e7eb solid 1px; border-radius: 0.5rem; background: #ebf0f2; font-size: 1.2rem; line-height: 1.5; }
.p-home-case__items .item__ttl { margin-bottom: 0.5rem; font-size: 2rem; font-weight: 600; line-height: 1.4; }
.p-home-case__items .item__txt { line-height: 1.55; opacity: 0.5; }
.p-home-case__prev, .p-home-case__next { display: block; position: absolute; top: 0; bottom: 0; z-index: 1; width: max(5rem, (100% - 110rem)/2); height: auto; margin: 0; padding: 0; border: none; border-radius: 0; background: none; mix-blend-mode: exclusion; }
.p-home-case__prev .icon, .p-home-case__next .icon { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: scale, visibility, opacity; translate: calc(var(--cursor-x) * 1px - 35px) calc(var(--cursor-y) * 1px - 50px); scale: 0; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; z-index: 9; visibility: hidden; aspect-ratio: 1/1; width: 70px; border-radius: 50%; background: #fff; font-family: "Montserrat", sans-serif; color: #242e33; font-size: 12px; font-weight: 500; pointer-events: none; opacity: 0; }
.p-home-case__prev:hover .icon, .p-home-case__next:hover .icon { scale: 1; visibility: visible; opacity: 1; }
.p-home-case__prev { left: 0; }
.p-home-case__next { right: 0; }
.p-home-client { margin-top: 9rem; }
.p-home-client__inner { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; -moz-column-gap: 5rem; column-gap: 5rem; padding-top: 6rem; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-client__head { box-sizing: border-box; width: 25rem; padding-right: 5rem; font-size: 1.4rem; line-height: 1.4; }
.p-home-client__more { margin-top: 1.5rem; }
.p-home-client__list { box-sizing: border-box; display: grid; grid-template-columns: repeat(5, 1fr); -moz-column-gap: 1rem; column-gap: 1rem; row-gap: 4.5rem; flex-grow: 1; max-width: 74rem; padding-left: 4rem; }
.p-home-client__img { box-sizing: border-box; display: block; max-width: 74rem; padding-left: 4rem; }
.p-home-recruit { --sy: 0; color: #fff; overflow: hidden; overflow: clip; position: relative; margin-top: 20rem; padding: 15rem 0; -webkit-clip-path: inset(0 calc(15% - var(--sy) / 2 * 1%) calc(30% - var(--sy) * 1%) round 0.5rem); clip-path: inset(0 calc(15% - var(--sy) / 2 * 1%) calc(30% - var(--sy) * 1%) round 0.5rem); }
.p-home-recruit .p-home-section__sttl { --textcolor: #ffffff; }
.p-home-recruit .ico-sq { --border-color: #ffffff; --bg-color-ov: #ffffff; --arw-color: #ffffff; --arw-color-ov: #83a2b2; }
.p-home-recruit__container { transition: all 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; transition-property: visibility, opacity; visibility: hidden; position: relative; z-index: 1; opacity: 0; }
.p-home-recruit__copy { margin-bottom: 3rem; font-family: "Montserrat", sans-serif; font-size: 10rem; font-weight: 700; line-height: 0.9; letter-spacing: -0.05em; }
.p-home-recruit__txt { font-size: 1.4rem; line-height: 1.72; }
.p-home-recruit__items { transition: border-color 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; margin-top: 8rem; border-top: rgba(255, 255, 255, 0.2) solid 1px; }
.p-home-recruit__items .item { position: relative; z-index: 1; padding-left: calc(100% - 82.5rem); pointer-events: none; }
.p-home-recruit__items .item::before { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; translate: -50% 0; content: ""; display: block; position: absolute; inset: -1px auto 0 50%; width: 102vw; background: rgba(255, 255, 255, 0.1); opacity: 0; }
.p-home-recruit__items .item__link { transition: border-color 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; display: flex; align-items: center; -moz-column-gap: 5rem; column-gap: 5rem; position: relative; z-index: 1; padding-bottom: 5.5rem; border-bottom: rgba(255, 255, 255, 0.2) solid 1px; background: none; font-size: 1.4rem; line-height: 1.72; pointer-events: auto; }
.p-home-recruit__items .item__txt { display: grid; grid-template-columns: 22rem 1fr; flex-grow: 1; padding: 2.5rem 0; }
.p-home-recruit__items .item__ttl { font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif; font-weight: 500; font-feature-settings: "palt" 1; font-size: 2.4rem; line-height: 1.5; }
.p-home-recruit__items .item .ico-sq { flex-shrink: 0; width: 4rem; }
.p-home-recruit__items .item:hover { z-index: 2; }
.p-home-recruit__items .item:hover::before { opacity: 1; }
.p-home-recruit__items .item:hover .item__link { border-bottom-color: rgba(0, 0, 0, 0); }
.p-home-recruit__items .item:has(+ .item:hover) .item__link { border-bottom-color: rgba(0, 0, 0, 0); }
.p-home-recruit__items:has(.item:first-child:hover) { border-top-color: rgba(0, 0, 0, 0); }
.p-home-recruit__more { display: flex; justify-content: flex-end; margin-top: 4rem; }
.p-home-recruit__bg { position: absolute; inset: -100lvh 0; z-index: 0; }
.p-home-recruit__bg::before { content: ""; display: block; position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, calc(0.8 * var(--sy) / 30)); }
.p-home-recruit__video { position: sticky; top: 0; z-index: 0; width: 100%; height: 100lvh; -o-object-fit: cover; object-fit: cover; }
.p-home-recruit.visibled { -webkit-clip-path: none; clip-path: none; }
.p-home-recruit.visibled .p-home-recruit__container { visibility: visible; opacity: 1; }
.p-home-news { overflow: hidden; margin-top: 15rem; }
.p-home-news .p-home-section__ttl { margin-bottom: 0; }
.p-home-news__head { display: flex; align-items: flex-start; -moz-column-gap: 11.5rem; column-gap: 11.5rem; margin-bottom: 4rem; }
.p-home-news__categories { display: flex; align-self: center; -moz-column-gap: 3.5rem; column-gap: 3.5rem; font-size: 1.6rem; line-height: 1.5; }
.p-home-news__categories a { opacity: 0.5; cursor: pointer; }
.p-home-news__categories a.active { font-weight: 600; background-size: 100% var(--linesize); opacity: 1; }
.p-home-news__items { display: none; }
.p-home-news__items.active { display: block; }
.p-home-news__items .item { position: relative; z-index: 1; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-news__items .item::before { transition: opacity 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; animation: home-news-item 3.5s linear 0s infinite normal; animation-play-state: paused; content: ""; translate: -50% 0; display: block; position: absolute; inset: -1px auto -1px 50%; background: linear-gradient(to right, #f2f6f7 0%, #fafafa 25%, #f2f6f7 50%, #fafafa 75%, #f2f6f7 100%) repeat-x left center; background-size: 200% 100%; width: 102vw; opacity: 0; pointer-events: none; }
.p-home-news__items .item:hover { z-index: 2; }
.p-home-news__items .item:hover::before { animation-play-state: running; opacity: 1; }
.p-home-news__items .item__link { display: flex; align-items: flex-start; position: relative; z-index: 1; padding: 3.5rem 0; background: none; }
.p-home-news__items .item__link[href$=".pdf"] .item__ttl::after { content: "PDF"; box-sizing: border-box; display: inline-flex; justify-content: center; align-items: center; position: relative; top: -0.2rem; width: 2.8rem; height: 1.5rem; margin-left: 1rem; padding-top: 0.1em; border-radius: 0.3rem; background: #900; color: #fff; font-family: "Montserrat", sans-serif; font-size: 1rem; font-weight: 700; line-height: 1; vertical-align: middle; }
.p-home-news__items .item__date { flex-shrink: 0; width: 10rem; font-size: 1.2rem; line-height: 1.67; opacity: 0.5; }
.p-home-news__items .item__categories { display: flex; flex-shrink: 0; flex-direction: column; align-items: flex-start; row-gap: 0.5rem; width: 13.5rem; }
.p-home-news__items .item__categories li { box-sizing: border-box; display: flex; align-items: center; height: 2rem; padding: 0 0.5rem; border: #e1e7eb solid 1px; border-radius: 0.5rem; background: #ebf0f2; font-size: 1.2rem; line-height: 1.5; }
.p-home-news__items .item__ttl { flex-grow: 1; margin: -0.3rem 0; font-size: 1.6rem; line-height: 1.63; }
.p-home-news__more { display: flex; justify-content: flex-end; padding-top: 4rem; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-seminar { margin-top: 14rem; padding-bottom: 20rem; }
.p-home-seminar .p-home-section__ttl { margin-bottom: 0; }
.p-home-seminar__head { display: flex; align-items: flex-end; -moz-column-gap: 4rem; column-gap: 4rem; margin-bottom: 4.5rem; font-size: 1.4rem; line-height: 1.72; }
.p-home-seminar__items .splide__list { display: grid !important; grid-template-columns: repeat(3, 1fr); -moz-column-gap: 4rem; column-gap: 4rem; }
.p-home-seminar__items .item__link { display: block; background: none; }
.p-home-seminar__items .item__img { position: relative; aspect-ratio: 1200/800; margin-bottom: 2rem; border-radius: 0.5rem; }
.p-home-seminar__items .item__img img { height: 100%; -o-object-fit: cover; object-fit: cover; }
.p-home-seminar__items .item__status { display: flex; align-items: center; position: absolute; z-index: 1; inset: 0 auto auto 0; height: 2.9rem; padding: 0 1rem; border-bottom-right-radius: 0.5rem; background: #969696; color: #fff; font-size: 1.2rem; font-weight: 600; line-height: 1; }
.p-home-seminar__items .item__status--apply { background: #e54290; }
.p-home-seminar__items .item__date { margin-bottom: 1.5rem; font-size: 1.4rem; line-height: 1.5; }
.p-home-seminar__items .item__ttl { font-size: 2rem; font-weight: 600; line-height: 1.4; }
.p-home-seminar__items .item__categories { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; }
.p-home-seminar__items .item__categories li { box-sizing: border-box; display: flex; align-items: center; height: 2rem; padding: 0 0.5rem; border: #e1e7eb solid 1px; border-radius: 0.5rem; background: #ebf0f2; font-size: 1.2rem; line-height: 1.5; }
.p-home-seminar__more { display: flex; justify-content: flex-end; margin-top: 5rem; padding-top: 4rem; border-top: rgba(131, 162, 178, 0.3) solid 1px; }
.p-home-floating { display: none; }
body.modal-open { overflow: hidden !important; }
.main:not(.main--index) .p-service-wrapper .main__content:first-child .main__breadcrumbs { bottom: calc(100% - 20rem); }
@media only screen and (max-width:1249px){html{font-size:.8vw}}
@media only screen and (min-width:1600px){html{font-size:12.5px}}

/* ---- .page-home 系（トップ固有の色反転・ヘッダー挙動） ---- */
.page-home { transition: color 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; }
.page-home.feature-inview { --textcolor: #ffffff; }
.page-home.feature-inview .p-home-section__ttl, .page-home.feature-inview .p-home-section__sttl { --textcolor: #ffffff; }
.page-home.feature-inview .ico-sq { --border-color: #ffffff; --bg-color: #ffffff; --arw-color: #485b66; --arw-color-ov: #ffffff; }
.page-home.feature-inview .ico-sq.ghost { --bg-color: transparent; --bg-color-ov: #ffffff; --arw-color: #ffffff; --arw-color-ov: #83a2b2; }
.page-home .header:not(.header--scrolled)::after { -o-border-image: linear-gradient(to right, #485b66 0, #485b66 21.5rem, rgba(131, 162, 178, 0.3) 21.5rem); border-image: linear-gradient(to right, #485b66 0, #485b66 21.5rem, rgba(131, 162, 178, 0.3) 21.5rem); border-image-slice: 1; }
.page-home .header--scrolled::after, .page-home .header--scrolled .header__logo, .page-home .header--scrolled .header__nav, .page-home .header--scrolled .header__menu { animation: none; position: absolute; }
html.logo-fit .page-home .header--scrolled::after, html.logo-fit .page-home .header--scrolled .header__logo, html.logo-fit .page-home .header--scrolled .header__nav, html.logo-fit .page-home .header--scrolled .header__menu { animation: home-header-scrolled 0.4s cubic-bezier(0.18, 0.06, 0.23, 1) 0s; position: fixed; }
.page-home .main { z-index: auto; }
.page-home.feature-inview .p-home-bg::before { opacity: 1; }
.page-home.feature-after .p-home-bg { visibility: hidden; opacity: 0; }
.page-home:not(.feature-inview) .p-home-number__items .item { background: #fff; }
.page-home:not(.feature-inview) .p-home-number__items .item::before { background: #ebf0f2; }
