@charset "UTF-8";
.l-main, .l-hero { position: relative; }
.l-main p { text-align: left; }
.c-hero__ttl .ttl { font-weight: 600; color: #00669D; line-height: 1.4; }
.c-hero__ttl .ttl span { font-weight: 400; display: block; }
.c-ttl a { position: absolute; right: 0; }
.c-ttl__line { text-align: left; }
.c-team__box { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.c-team__box dt { padding: 1.2em 1.2em 0; }
.c-team__box dd { padding: 1em 1.2em 1em; }
.c-team__box dd p { margin-bottom: 0 !important; }
.c-team__box dd .u-name { text-align: center; }
@media screen and (min-width:768px) {
    .l-main { background: url(../img/bg-kv.webp) no-repeat 0 0 / 100% auto; }
    .l-hero { display: flex; justify-content: space-between; align-items: center; width: 63.75em; margin: 0 auto; padding: 6em 0 1em; }
    .l-hero .c-hero__ttl { width: 27.5em; order: 1; }
    .l-hero picture { width: 32.75em; order: 2; }
    .c-hero__ttl .ttl { font-size: 3.875em; margin-bottom: 0.6em; }
    .c-hero__ttl .ttl span { font-size: 0.435em; }
    .c-hero__ttl .cap { font-size: 1.125em; }
    .c-ttl a { font-size: 0.875em; top: 1.2em; }
    .c-ttl__line { font-size: 1.625em; }
    .l-software .c-inner { transition: all .3s ease; }
    .c-team__list { grid-template-columns: repeat(auto-fit, minmax(15em, 1fr)); }
    .c-team__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(17.5em, 1fr)); grid-gap: 1.5em; }
    .l-news__box a:hover dd { text-decoration: underline; }
    .c-cta-box { margin: 0 }
}
@media screen and (min-width:1680px) {
    .l-software .c-inner { background: #fff; padding: 3em; max-width: 56em; box-shadow: 0px 0px 7px 0px rgba(110, 110, 110, 0.25); border-radius: 0.938em; }
}
@media screen and (min-width:768px) and (max-width:1120px) { }
@media screen and (max-width:767px) {
    .c-ttl__line { font-size: 1.143em; }
    .l-hero { padding: 2em 0; background: url(../img/sp/bg-kv.webp) no-repeat 0 100% / 100% auto; }
    .l-hero img { width: 40%; }
    .c-hero__ttl .ttl { font-size: 2em; margin-bottom: 0.6em; margin-top: 0.5em }
    .c-hero__ttl .ttl span { font-size: 0.571em; }
    .c-hero__ttl .cap { box-shadow: 0px 0px 7px 0px rgba(110, 110, 110, 0.25); border-radius: 0.938em; background: #fff; padding: 1em 1.5em; width: 80%; margin: 0 auto }
    .l-news .u-btn { margin-bottom: 2.5em !important; }
    .c-team__list { display: flex; justify-content: flex-start; align-items: stretch; gap: 1em; flex-wrap: wrap; margin-bottom: 2.5em; font-size: 0.875em }
    .c-team__box { flex: 0 0 calc(50% - 0.5em); }
    .l-team .u-btn {width: 60%; margin: 0 auto;}
    .c-cta-box { margin: 0 }
}
