@charset "UTF-8";/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::after,
::before {box-sizing:border-box;border-style:solid;border-width:0
}

html {line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent
}

body {margin:0
}

main {display:block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {margin:0
}

h1,
h2,
h3,
h4,
h5,
h6 {font-size:inherit;font-weight:inherit;margin:0
}

ol,
ul {margin:0;padding:0;list-style:none
}

dt {font-weight:700
}

dd {margin-left:0
}

hr {box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit
}

pre {font-family:monospace,monospace;font-size:inherit
}

address {font-style:inherit
}

a {background-color:transparent;text-decoration:none;color:inherit
}

abbr[title] {-webkit-text-decoration:underline dotted;text-decoration:underline dotted
}

b,
strong {font-weight:bolder
}

code,
kbd,
samp {font-family:monospace,monospace;font-size:inherit
}

small {font-size:80%
}

sub,
sup {font-size:75%;line-height:0;position:relative;vertical-align:baseline
}

sub {bottom:-.25em
}

sup {top:-.5em
}

embed,
iframe,
img,
object,
svg {vertical-align:bottom
}

button,
input,
optgroup,
select,
textarea {-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:0 0;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit
}

[type=button],
[type=reset],
[type=submit],
button {cursor:pointer
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {cursor:default
}

:-moz-focusring {outline:auto
}

select:disabled {opacity:inherit
}

option {padding:0
}

fieldset {margin:0;padding:0;min-width:0
}

legend {padding:0
}

progress {vertical-align:baseline
}

textarea {overflow:auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {height:auto
}

[type=search] {outline-offset:-2px
}

[type=search]::-webkit-search-decoration {-webkit-appearance:none
}

::-webkit-file-upload-button {-webkit-appearance:button;font:inherit
}

[type=number] {-moz-appearance:textfield
}

label[for] {cursor:pointer
}

details {display:block
}

summary {display:list-item
}

[contenteditable]:focus {outline:auto
}

table {border-color:inherit;border-collapse:collapse
}

caption {text-align:left
}

td,
th {vertical-align:top;padding:0
}

th {text-align:left;font-weight:700
}

html {font-size:62.5%;font-family:"Noto Sans JP",sans-serif;width:100%
}

h1 {font-size:8.8rem;font-weight:700;color:#fff
}

@media screen and (max-width: 1080px) {

h1 {font-size:6rem
}
}

h2 {font-size:3.8rem;font-weight:700;text-align:center;margin-bottom:6.4rem
}

@media screen and (max-width: 1080px) {

h2 {font-size:2.2rem;line-height:1.5;margin-bottom:5.2rem
}
}

h2:has(+.heading-lead) {margin-bottom:1.6rem
}

h2 span {font-size:1.6rem;font-family:Lato,sans-serif;display:block;color:#ffa229;letter-spacing:.1em;margin-bottom:.8rem
}

@media screen and (max-width: 1080px) {

h2 span {font-size:1.4rem
}
}

.heading-h4 {font-size:1.8rem;line-height:1.5;font-weight:700;margin-bottom:1.6rem
}

.heading-lead {text-align:center;margin:0 auto 6.4rem auto
}

@media screen and (max-width: 1080px) {

.heading-lead {margin-bottom:5.2rem
}
}

p {font-size:1.6rem;line-height:1.75
}

@media screen and (max-width: 1080px) {

p {font-size:1.5rem;line-height:1.7
}
}

.hide-pc {display:none
}

@media screen and (max-width: 1080px) {

.hide-pc {display:block
}
}

:root {scrollbar-gutter:stable
}

swiper-container {width:100%;height:100%
}

swiper-slide {background-position:center;background-size:cover
}

swiper-slide img {display:block;width:100%
}

.card-layout {display:flex;gap:40px;flex-wrap:wrap
}

@media screen and (max-width: 1080px) {

.card-layout {flex-direction:column
}
}

.card-layout__item {width:calc((100% - 40px)/ 2);background-color:#fff;display:flex;flex-direction:column
}

@media screen and (max-width: 1080px) {

.card-layout__item {width:100%
}
}

.card-layout__item>a,
.card-layout__item>button {display:flex;flex-direction:column;height:100%;transition:all .2s linear
}

.card-layout__item>a:hover,
.card-layout__item>button:hover {color:#0069c1
}

.card-layout__item>a:hover .btn>span,
.card-layout__item>button:hover .btn>span {background-color:#0069c1;color:#fff
}

.card-layout__image-wrap img {width:100%
}

.card-layout__content {padding:2.4rem;display:flex;flex-direction:column;flex:1;gap:1.6rem
}

.card-layout__title {font-size:1.8rem;line-height:1.5;font-weight:700
}

.card-layout .btn {text-align:right;margin-top:auto
}

@media screen and (max-width: 1080px) {

.card-layout .btn {text-align:center;margin-top:.8rem
}
}

.card-layout .btn>a,
.card-layout .btn>span {display:inline-block;border:solid 1px #0069c1;border-radius:4px;padding:.6rem 2.8rem;font-size:1.6rem;font-weight:700;color:#0069c1;line-height:1.75;transition:all .2s linear
}

@media screen and (max-width: 1080px) {

.card-layout .btn>a,
.card-layout .btn>span {width:100%
}
}

.card-layout .btn>a:hover {background-color:#0069c1;color:#fff
}

.strength__items {display:flex;gap:2.5rem
}

@media screen and (max-width: 1080px) {

.strength__items {flex-direction:column;gap:5.2rem
}
}

.strength__item {width:calc((100% - 50px)/ 3);padding:0 2.8rem;text-align:center;display:flex;flex-direction:column;gap:2.4rem
}

@media screen and (max-width: 1080px) {

.strength__item {width:100%;gap:1.6rem;padding:0 2.5rem
}
}

.strength__icon-wrap img {width:100%
}

.analysis__item {text-align:center;position:relative;display:flex;flex-direction:column
}

.analysis__item:last-of-type::after {display:none
}

.analysis__item::after {content:"";display:inline-block;position:absolute;top:50%;right:-4.5rem;transform:translateY(-50%);width:12px;height:19px;background:url(/service/catmodel/shared/img/icon_triangle.svg) no-repeat center center;background-size:contain
}

@media screen and (max-width: 1080px) {

.analysis__item::after {top:auto;left:50%;transform:translateX(-50%) rotate(90deg);right:auto;bottom:-3.5rem
}
}

.analysis__contents {display:flex;flex-direction:column;gap:2.4rem;height:100%
}

@media screen and (max-width: 1080px) {

.analysis__contents {display:grid;grid-template-columns:max-content 1fr;grid-template-areas:"images content";gap:2.4rem
}
}

.analysis__image-wrapper {grid-area:images
}

@media screen and (max-width: 1080px) {

.analysis__image-wrapper {width:29.8vw;min-width:112px;max-width:180px
}
}

.analysis__image-wrapper img {width:100%
}

.analysis__content {grid-area:content;margin-top:auto
}

.analysis__content .heading-h4 {margin-bottom:.8rem
}

@media screen and (max-width: 1080px) {

.analysis__content .heading-h4 {text-align:left;line-height:1.7
}
}

.analysis__desc {text-align:left
}

.contact__info {display:flex;color:#fff;justify-content:center;position:relative
}

@media screen and (max-width: 1080px) {

.contact__info {flex-direction:column;gap:0
}
}

.contact__info::after {content:"";display:inline-block;position:absolute;width:1px;background-color:#fff;top:0;left:50%;bottom:0;transform:translateX(-50%)
}

@media screen and (max-width: 1080px) {

.contact__info::after {display:none
}
}

.contact__info-item {width:50%;text-align:center
}

@media screen and (max-width: 1080px) {

.contact__info-item {width:100%
}
}

.contact__info-item h3 {color:#fff
}

.contact__info-item span {display:block
}

@media screen and (max-width: 1080px) {

.contact__info-item .btn {margin-top:1.6rem;margin-bottom:4rem
}
}

.contact__info-item .btn a {max-width:275px;width:100%;position:relative;margin:auto;display:block;background:linear-gradient(44deg,#e0efff 0,#fff 90%);font-size:1.8rem;font-weight:700;line-height:1.5;color:#002d59;padding:1.6rem 1rem;border-radius:4px;transition:all .2s linear;overflow:hidden;z-index:1
}

@media screen and (max-width: 1080px) {

.contact__info-item .btn a {max-width:none
}
}

.contact__info-item .btn a::before {content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#002d59;opacity:0;transition:all .2s linear;border-radius:3px;z-index:-1
}

.contact__info-item .btn a:hover {color:#fff
}

.contact__info-item .btn a:hover::before {opacity:1
}

.contact__info-tel {font-size:3.8rem;font-weight:700;font-family:Lato,sans-serif;line-height:1.12;letter-spacing:.1em
}

.contact__info-tel span {font-family:"Noto Sans JP",sans-serif;display:block;margin-top:.8rem;font-size:1.6rem;line-height:1.75;font-weight:300;letter-spacing:normal
}

@media screen and (max-width: 1080px) {

.contact__info-tel span {line-height:1.5;font-size:1.4rem
}
}

.kv__slider {width:100%;height:50rem;position:relative;overflow:hidden
}

@media screen and (max-width: 1080px) {

.kv__slider {height:57rem
}
}

.kv__title-wrap {width:auto;text-align:center;position:absolute;top:7.2rem;left:50%;transform:translateX(-135%);z-index:2
}

@media screen and (min-width: 1081px) and (max-width: 1230px) {

.kv__title-wrap {left:4rem;transform:none
}
}

@media screen and (max-width: 1080px) {

.kv__title-wrap {width:100%;left:50%;transform:translateX(-50%)
}
}

.kv__latotitle {font-family:Lato,sans-serif
}

.kv__subtitle {display:block;position:relative;margin-top:.8rem;line-height:1.79;letter-spacing:.2em;font-size:2.4rem;display:block
}

@media screen and (max-width: 1080px) {

.kv__subtitle {font-size:1.6rem
}
}

.kv__subtitle::after,
.kv__subtitle::before {content:"";display:inline-block;width:9rem;height:2px;background-color:#fff;vertical-align:middle;margin-right:2rem
}

.kv__subtitle::after {margin-right:auto;margin-left:2rem
}

.kv__tagline {font-size:2.4rem;display:block;margin-top:.8rem;line-height:1.79;letter-spacing:.1em
}

@media screen and (max-width: 1080px) {

.kv__tagline {font-size:1.6rem
}
}

.kv__desc {position:absolute;bottom:0;left:0;z-index:2;background:linear-gradient(118deg,#002d59 30%,#0051a0 100%);color:#fff;right:51.3vw;display:flex;align-items:center;padding:2.4rem 4rem
}

@media screen and (max-width: 1080px) {

.kv__desc {position:static;padding:2.4rem 2rem
}
}

.kv__desc-inner {max-width:50rem;margin-left:auto
}

@media screen and (max-width: 1080px) {

.kv__desc-inner {margin-left:0;padding-right:0
}
}

@media screen and (max-width: 1080px) {

.kv__desc-inner p {line-height:1.75
}
}

.kv__desc-title {border-bottom:solid 1px #0069c1;padding-bottom:8px
}

.kv__desc-title+* {margin-top:.8rem
}

.kv-area {position:relative;overflow:hidden
}

.kv-area__inner {padding-bottom:100px
}

@media screen and (max-width: 1080px) {

.kv-area__inner {padding-bottom:0
}
}

.analysis-area,
.contact-area,
.research-area,
.service-area,
.strength-area,
.type-area {padding:10rem 0
}

@media screen and (max-width: 1080px) {

.analysis-area,
.contact-area,
.research-area,
.service-area,
.strength-area,
.type-area {padding:6.4rem 0
}
}

.analysis-area__inner,
.contact-area__inner,
.research-area__inner,
.service-area__inner,
.strength-area__inner,
.type-area__inner {max-width:1170px;padding:0 20px;margin:auto
}

.research-area,
.service-area {background-color:#f2f3f5
}

.contact-area {padding:6rem 0;background:url(/service/catmodel/shared/img/bg_contact.webp) no-repeat center center;background-size:cover
}

@media screen and (max-width: 1080px) {

.contact-area {padding:6.4rem 0;background:url(/service/catmodel/shared/img/bg_contact_sp.webp) no-repeat center center;background-size:cover
}
}

.contact-area__inner {max-width:1040px
}

.contact-area h2 {color:#fff
}

.contact-area h2 span {color:#fff
}

.service-area__inner section {border:solid 2px #dbdee3;padding:5.6rem 4.5rem
}

.service-area__inner section+section {margin-top:6.4rem
}

@media screen and (max-width: 1080px) {

.service-area__inner section+section {margin-top:5.2rem
}
}

@media screen and (max-width: 1080px) {

.service-area__inner section {padding:0;border:none
}
}

.analysis-area {padding-bottom:0
}

@media screen and (max-width: 1080px) {

.analysis-area {position:relative;padding-bottom:5.2rem
}

.analysis-area::after {content:"";display:block;position:absolute;width:calc(100% - 40px);height:1px;left:20px;bottom:0;background-color:#dbdee3
}
}

.analysis-area__inner {position:relative;padding-bottom:6.4rem
}

.analysis-area__inner::after {content:"";display:block;position:absolute;width:calc(100% - 40px);height:1px;left:20px;bottom:0;background-color:#dbdee3
}

@media screen and (max-width: 1080px) {

.analysis-area__inner::after {display:none
}
}

@media screen and (max-width: 1080px) {

.analysis-area__inner {padding-bottom:0
}
}

@media screen and (max-width: 1080px) {

.type-area {padding-top:5.2rem
}
}

.type-area .card-layout {gap:2.5rem
}

@media screen and (max-width: 1080px) {

.type-area .card-layout {gap:4rem
}
}

.type-area .card-layout__item {width:calc((100% - 50px)/ 3);border:solid 1px #dbdee3
}

@media screen and (max-width: 1080px) {

.type-area .card-layout__item {width:100%
}
}

.research-area__inner {max-width:none;padding:0
}

.research-area .heading-lead,
.research-area h2 {padding:0 20px
}

.back-to-top-area {max-width:1170px;padding:3.4rem 20px;margin:auto
}

@media screen and (max-width: 1080px) {

.back-to-top-area {padding:3.2rem 20px
}
}

.back-to-top-area a {text-align:left;color:#0051ac;padding-left:1.7rem;position:relative
}

.back-to-top-area a::before {content:"";position:absolute;top:2px;left:0;display:inline-block;width:7px;height:7px;border-bottom:2px solid #005bac;border-right:2px solid #005bac;top:45%;transform:rotate(-45deg) translateY(-50%)
}

.group-header {border-bottom:none;overflow:visible!important;font-family:"Noto Sans JP","メイリオ",Meiryo,"ヒラギノ角ゴProN W3","Hiragino Kaku Gothic ProN","MS PGothic",Arial,sans-serif;z-index:99
}

@media screen and (max-width: 1080px) {

.group-header__body {padding:0;height:calc(100vh - 128px);gap:0;overflow:scroll
}
}

.group-header__logoImg {max-width:302px
}

@media screen and (max-width: 1080px) {

.group-header__logoImg {max-width:255px
}
}

.group-header__inner {background-color:#fff
}

.group-header__logo {padding:20px 0
}

.group-header__gloNav {display:flex;margin:auto;gap:7.6rem;padding-bottom:1.6rem
}

@media screen and (max-width: 1080px) {

.group-header__gloNav {width:100%;flex-direction:column;gap:0;background-color:#fff;padding-bottom:0
}
}

.group-header__gloNav ul {display:flex;align-items:center;gap:2.4rem;font-size:1.6rem
}

@media screen and (max-width: 1080px) {

.group-header__gloNav ul {flex-direction:column;gap:0
}
}

@media screen and (max-width: 1080px) {

.group-header__gloNav ul li {width:100%;padding:0;border-bottom:solid 1px #dbdee3
}
}

.group-header__gloNav ul a {text-decoration:none
}

@media screen and (max-width: 1080px) {

.group-header__gloNav ul a {display:block;width:100%;padding:24px 20px
}
}

.group-header__gloNav ul a:hover {color:#0069c1
}

.group-header__gloNav .group-header__contact {display:none
}

@media screen and (max-width: 1080px) {

.group-header__gloNav .group-header__contact {display:block;padding:3.2rem 2rem
}
}

.group-header__gloNav .group-header__contact .btn a {padding:1.4rem 0;justify-content:center
}

.group-header__gloNav .group-header__contact-title {font-size:1.5rem;font-weight:700;color:#002d59;text-align:center;margin-top:2.4rem
}

@media screen and (min-width: 1081px) {

.group-header__layout {grid-template-areas:"logo subContents" "gloNav header-contact";grid-template-columns:auto max-content
}
}

.group-header__layout::before {border-bottom:none
}

.group-header__contact {grid-area:header-contact;display:flex;gap:1.6rem;padding-bottom:1.6rem
}

@media screen and (max-width: 1080px) {

.group-header__contact {display:none
}
}

.group-header__contact .btn a {display:flex;align-items:center;height:100%;padding:0 2.4rem;background-color:#0069c1;color:#fff;font-size:1.6rem;font-weight:700;border-radius:4px;transition:all .2s linear;box-sizing:border-box;border:solid 2px #0069c1
}

.group-header__contact .btn a:hover {background-color:#fff;color:#0069c1;border:solid 2px #0069c1
}

.group-header__tel {font-size:2.2rem;font-weight:700;color:#002d59;text-align:center;line-height:1.5
}

@media screen and (max-width: 1080px) {

.group-header__tel {line-height:2
}
}

.group-header__tel .icon-tel {display:inline-block;position:relative;padding-left:2.4rem;line-height:1.27
}

@media screen and (max-width: 1080px) {

.group-header__tel .icon-tel {line-height:1.16
}
}

.group-header__tel .icon-tel::before {content:"";display:inline-block;position:absolute;width:2.6rem;height:2.6rem;background:url(/service/catmodel/shared/img/icon_tel.svg) no-repeat center center;background-size:contain;position:absolute;left:0;top:.3rem
}

.group-header__telTime {display:block;font-size:1.3rem;color:#979ca1;line-height:1;font-weight:400
}

@media screen and (max-width: 1080px) {

.group-header__telTime {line-height:1.5
}
}

.group-footer__copyArea {max-width:1130px;margin:auto;width:100%
}

.group-header__gloNav::before {background-color:#fff
}
