@charset "utf-8";

/* MV */
@media (min-width: 769px) {
  .constmng .in-header {
    margin-bottom: 1rem;
      background-image: url(./sekoukanri/kv_pc.jpg);
  }
}
@media (max-width: 768px) {
  .constmng .in-header {
      background-image: url(./sekoukanri/kv_sp.png);
  }
}



/* リード個所 */
.constmng .interior1 {
  background-color: transparent;
}
.constmng .in1-1 h2 .logo {
  vertical-align: 0;
}
@media (min-width: 769px) {
  .constmng .in1-box__image {
    width: 49.4%;
    max-width: 494px;
  }
}
@media (max-width: 768px) {
  .constmng .in1-box__image {
    width: 100%;
  }
}



/* 課題個所 */
.constmng .interior2 {
  background-color: #DEE9F5;
}
.constmng .interior2 .inner {
  max-width: 1000px;
}
.constmng .interior2 .tab__content {
  padding-top: 0;
}
.constmng .interior2 .tab__area {
  padding-top: 8rem;
  padding-bottom: 12rem;
}
.constmng .interior2 .in2-c1 h3 {
  align-items: flex-end;
}
.constmng .interior2 .in2-c2 h3 .label {
  font-size: 2.8rem;
}
.constmng .interior2 .in2-c2 h3 .label span {
  padding: 0 2.25rem;
  max-width: calc(1000/1100*100%);
}
.constmng .interior2 .in2-c2 h3 .label em {
  color: #004EA2;
  font-size: 3.6rem;
  font-style: normal;
}
.constmng .in2-c2 .list--number {
    gap: 34px 55px;
    max-width: inherit;
}
.constmng .in2-c2 .list--number li {
  padding: 56px 30px 30px 30px;
  border-radius: 1rem;
    width: calc(33.33333% - 37px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.constmng .in2-c2 .list--number li:before {
  left: -35px;
}
.constmng .in2-c3 .btn__headline {
  margin-bottom: 1.5rem;
}
.service .constmng .c-btn--cta {
  margin: 0;
  width: auto;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .constmng .interior2 .in2-c1 h3 {
    position: relative;
  }
  .constmng .interior2 .in2-c1 h3:after {
    position: absolute;
    top: -2rem;
    right: -1rem;
  }
  .constmng .interior2 .tab__area {
    padding-top: 6rem;
    padding-bottom: 8rem;
  }
  .constmng .interior2 .in2-c2 h3 .label {
    font-size: 2rem;
  }
  .constmng .interior2 .in2-c2 h3 .label span {
    padding: 0 2.25rem;
    max-width: inherit;
  }
  .constmng .interior2 .in2-c2 h3 .label em {
    font-size: 2.2rem;
  }
  .constmng .in2-c2 .list--number {
      gap: 2rem 0;
      max-width: inherit;
  }
  .constmng .in2-c2 .list--number li {
    padding: 1rem 0 1rem 7rem;
    border-radius: 100rem;
    width: 100%;
    display: block;
  }
  .constmng .in2-c2 .list--number li:before {
    left: 0;
  }
  .service .constmng .c-btn--cta {
    font-size: 2rem;
  }
}



/* 機能個所 */
.constmng .interior3 {
  border-top: none;
}
.constmng .in3-1 .section__head .label {
  display: inline-block;
  max-width: 524px;
  vertical-align: middle;
}
.constmng .in3-2 h3.label {
  max-width: 408px;
}
.constmng .in3-box {
  max-width: 100rem;
}
.constmng .in3-3 {
  border-radius: 1rem;
}
.constmng .in3-3 h3.label {
  max-width: 345px;
}
.constmng .in3-3:before {
  display: none;
}
.constmng .in3-3 .note {
  margin: 1.5rem auto 0;
  max-width: 840px;
  text-align: right;
  font-size: 1.2rem;
  font-weight: bold;
}
.constmng .in3-box:after {
  display: none;
}
@media (max-width: 768px) {
  .constmng .in3-1 .section__head .label img {
    max-width: 296px;
  }
  .constmng .in3-box {
    margin: 0 1.2rem;
    padding-bottom: 4rem;
    width: auto;
  }
  .constmng .in3-2 .barmenu-group {
    margin: 0 calc(14/375*100vw);
  }
  .constmng .in3-2 h3.label {
    max-width: 408px;
  }
  .constmng .in3-3 {
    margin: 0 calc(12/375*100vw);
    padding: 0 calc(13/375*100vw) 4rem;
    border-radius: 1rem;
    width: auto;
  }
  .constmng .in3-3 h3.label {
    max-width: 345px;
  }
  .constmng .in3-3 .headline br.sp-only {
    display: block !important;
  }
  .constmng .in3-3:before {
    display: none;
  }
  .constmng .in3-3 .note {
      margin: 0 auto 0;
      text-align: center;
  }
}



/* 機能・事例個所 */
.constmng1 {
  padding-top: 13rem;
  padding-bottom: 14rem;
  background-color: #DEE9F5;
}
.co1-1 {
  margin: 0 auto;
  border-radius: 1rem;
  padding: 7.3rem 8rem 9rem;
  max-width: 1000px;
  background-color: #fff;
}
.co1-1 .label {
  margin: 0 auto 1rem;
  max-width: 459px;
}
.co1-1 .headline {
  line-height: 2;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.co1-1 .func {
  margin-top: 6rem;
  position: relative;
}
.co1-1 .func-head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.8rem;
}
.co1-1 .func-num {
  width: 53px;
}
.co1-1 .func-ttl {
  line-height: 1.8333333333333333;
  font-size: 2.4rem;
  font-weight: bold;
}
.co1-1 .func-lead {
  margin: 1.8rem 0 3.5rem;
  line-height: 2;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.co1-1 .func-bomb {
  position: absolute;
  right: 4rem;
  top: 0;
  width: 112px;
}
.co1-1 .func-list {
  padding: 3.2rem 19rem 3.2rem 11rem;
  border: 1px solid #004FA2;
  border-radius: 1rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .8rem 0;
  background-color: #F4F6FA;
}
.co1-1 .func-list li {
  padding-left: 4.5rem;
  line-height: 1.75;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS4zNjMiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNS4zNjMgMjAiPiA8ZyBpZD0i44Kw44Or44O844OXXzE0NjY2IiBkYXRhLW5hbWU9IuOCsOODq+ODvOODlyAxNDY2NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxNCAtNzAyNikiPiA8cmVjdCBpZD0i6ZW35pa55b2iXzM1ODEiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDM1ODEiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjE0IDcwMjYpIiBmaWxsPSIjZmZmIi8+IDxwYXRoIGlkPSLplbfmlrnlvaJfMzU4MV8tX+OCouOCpuODiOODqeOCpOODsyIgZGF0YS1uYW1lPSLplbfmlrnlvaIgMzU4MSAtIOOCouOCpuODiOODqeOCpOODsyIgZD0iTTEsMVYxOUgxOVYxSDFNMCwwSDIwVjIwSDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MTQgNzAyNikiIGZpbGw9IiMwMTRkYTIiLz4gPHBhdGggaWQ9IuODkeOCuV80NDA1NCIgZGF0YS1uYW1lPSLjg5HjgrkgNDQwNTQiIGQ9Ik0xMjc4MS4zMzcsMTc0MjkuNWwtLjMxNS0uNDMyLTQuMTMzLTUuNjc4LjgwOS0uNTksMy44MTcsNS4yNDYsMTYuMjA2LTEzLjU4Ni42NDMuNzY2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEyMTU5IC0xMDM4OCkiIGZpbGw9IiMwMTRkYTIiLz4gPC9nPjwvc3ZnPg==") center left / 2.5rem 2rem no-repeat;
  font-size: 1.6rem;
  font-weight: 500;
}
.co1-1 .func1 .func-list:before {
  content: '';
  display: block;
  position: absolute;
  right: 8rem;
  top: calc(50% - 4.7rem);
  width: 5.9rem;
  height: 9.3rem;
  background: url(./sekoukanri/smartphone_image_pc.svg) 0 0 / contain no-repeat;
}
.co1-1 .func2 .func-list:before {
  content: '';
  display: block;
  position: absolute;
  right: 5rem;
  top: calc(50% - 3.7rem);
  width: 12.6rem;
  height: 7.4rem;
  background: url(./sekoukanri/device_image_pc.svg) 0 0 / contain no-repeat;
}
@media (max-width: 768px) {
  .constmng1 {
    padding-top: 5rem;
    padding-bottom: 9rem;
  }
  .co1-1 {
    padding: 4.5rem calc(12/375*100vw) 7rem;
  }
  .co1-1 .label {
    max-width: 236px;
  }
  .co1-1 .headline {
    font-size: 1.4rem;
  }
  .co1-1 .func {
    margin-top: 5.2rem;
  }
  .co1-1 .func-head {
    justify-content: flex-start;
    gap: .9rem;
  }
  .co1-1 .func-num {
    width: 4.2rem;
  }
  .co1-1 .func-ttl {
    line-height: 1.35;
    font-size: 2rem;
  }
  .co1-1 .func-lead {
    margin: 3rem 0 2rem;
    font-size: 1.4rem;
  }
  .co1-1 .func-bomb {
    right: 0;
    top: -2.8rem;
    width: 8.4rem;
  }
  .co1-1 .func-list {
    padding: 3.2rem 6rem 3.2rem 2rem;
  }
  .co1-1 .func-list li {
    line-height: 2;
    font-size: 1.2rem;
  }
  .co1-1 .func1 .func-list:before {
    right: 1.3rem;
    top: auto;
    bottom: 1.5rem;
    width: 3.6rem;
    height: 5.7rem;
  }
  .co1-1 .func2 .func-list {
    padding-bottom: 5.6rem;
  }
  .co1-1 .func2 .func-list:before {
    right: 1rem;
    top: auto;
    bottom: 1.5rem;
    width: 7rem;
    height: 4.1rem;
  }
}



.co1-2 {
  margin: 11rem auto 0;
  max-width: 1000px;
}
.co1-2 .label {
  margin: 0 0 5.5rem;
}
.co1-2 .cases {
  display: flex;
  justify-content: space-between;
}
.co1-2 .case {
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
.co1-2 .case-cb {
  padding: 4rem 3.2rem 5rem;
  display: flex;
  align-items: center;
  position: relative;
}
.co1-2 .case-problem {
  padding: 1.5rem;
  border: 1px solid #014DA2;
  border-radius: 1rem;
  position: relative;
  line-height: 1.75;
  font-size: 1.6rem;
  font-weight: 500;
}
.co1-2 .case-problem:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -2.2rem;
  right: 5.6rem;
  width: 2.2rem;
  height: 2.2rem;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAACQ0lEQVQ4jWJwqdn1f8+FZ/+pBe48+/RfJXXdfwAAAAD//2La3ezKULf0IsPxG68ZqAYYGBgAAAAA//9iAhFHuzwYsqefZLhw7x11zGZgYAAAAAD//wIbDALnJvowRHQdZrj19BPlpjIwMAAAAAD//4IbDAI3ZvgzuNbuZnj8+itlpjIwMAAAAAD//0IxGAQezgtmMCrYyvD200/yTWVgYAAAAAD//8IwGAReLw1jkE9ey/Dt5x/yTGVgYAAAAAD//8JqMAh8WR3FwBO6nDxTGRgYAAAAAP//wmkwCHxbE8XAFbyUdFMZGBgAAAAA///CazAHGzPDkwUhDCJRK0kzlYGBAQAAAP//wmswCAjxsjNcnOzLIJuwlnhTGRgYAAAAAP//ImgwCEgLczHsa3NlUM/YQJypDAwMAAAAAP//IspgEFCV4mNYXW7PYJC3hbBiBgYGAAAAAP//ItpgENBTFGSYkWXOYFW6Hb9CBgYGAAAAAP//IslgELDQEGVojTVkcK7ejVsRAwMDAAAA//8i2WAQcNSTYCgK0GTwbdqHXQEDAwMAAAD//yLLYBDwNpVhiHdWZgjrPIQpycDAAAAAAP//IttgEAixlmfwMZVmSJhwFFWCgYEBAAAA//+iyGAQiHNSZrBUF2XInHYSIcjAwAAAAAD//6LYYBBI91RjUJPiZSieewYiwMDAAAAAAP//YgTVU9QwHATaVl1mePb2O8PO808ZAAAAAP//ooqLYaAqTJeBn5uN4f9/BgYAAAAA//8DADdmrQXZiQ2HAAAAAElFTkSuQmCC) 0 0 / contain no-repeat;
}
.co1-2 .case-illust {
  position: absolute;
  right: 0.8rem;
  bottom: 1rem;
}
.co1-2 .case-label {
  position: relative;
  color: #fff;
  background-color: #004EA2;
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
}
.co1-2 .case-solution {
  padding: 7rem 4.2rem 5rem;
  border-radius: 0 0 1rem 1rem;
  background: #EFF7FF url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2My45OTciIGhlaWdodD0iMjcuMjM0IiB2aWV3Qm94PSIwIDAgNjMuOTk3IDI3LjIzNCI+IDxwYXRoIGlkPSLlpJrop5LlvaJfODAiIGRhdGEtbmFtZT0i5aSa6KeS5b2iIDgwIiBkPSJNMzIsMCw2NCwyNy4yMzRIMFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYzLjk5NyAyNy4yMzQpIHJvdGF0ZSgxODApIiBmaWxsPSIjMDA0ZWEyIi8+PC9zdmc+") top 1.3rem center / 6.4rem 2.7rem no-repeat;
}
.co1-2 .case-solution dt {
  line-height: 1.6363636363636365;
  color: #004EA2;
  font-size: 2.2rem;
  font-weight: bold;
}
.co1-2 .case-solution dt span {
  text-decoration: underline;
}
.co1-2 .case-solution dd {
  margin-top: 2rem;
  line-height: 1.7;
  font-size: 2rem;
  font-weight: 500;
}
.co1-2 .case-cta {
  margin: 3.4rem 0 0;
  padding: 8.6rem 0 0;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2My45OTciIGhlaWdodD0iMjcuMjM0IiB2aWV3Qm94PSIwIDAgNjMuOTk3IDI3LjIzNCI+IDxwYXRoIGlkPSLlpJrop5LlvaJfODAiIGRhdGEtbmFtZT0i5aSa6KeS5b2iIDgwIiBkPSJNMzIsMCw2NCwyNy4yMzRIMFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYzLjk5NyAyNy4yMzQpIHJvdGF0ZSgxODApIiBmaWxsPSIjMDA0ZWEyIi8+PC9zdmc+") top center / 9.7rem 3.6rem no-repeat;
}
.co1-2 .case-cta .line {
  display: block;
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
}
.co1-2 .case-cta .line:nth-child(1) {
  color: #D7092F;
  font-size: 3rem;
}
.co1-2 .case-cta .line:nth-child(2) {
  margin-top: 2rem;
  font-size: 2.4rem;
}
@media (min-width: 769px) {
  .co1-2 .cases {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30.8%, 1fr));
    grid-template-rows: auto auto;
    gap: 0 3.8%;
    container-type: inline-size;
  }
  .co1-2 .case {
    width: 100%;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  .co1-2 .case-cb {
    grid-row: 1;
  }
  .co1-2 .case-label {
    height: 8rem;
    grid-row: 2;
  }
  .co1-2 .case-label span {
    pointer-events: none;
    opacity: 0;
  }
  .co1-2 .case3 .case-label span {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 100cqw;
    height: 8rem;
    background-color: #004EA2;
    opacity: 1;
  }
  .co1-2 .case-solution {
    grid-row: 3;
  }
}
@media (max-width: 768px) {
  .co1-2 {
    margin-top: 8rem;
    width: calc(325/375*100vw);
  }
  .co1-2 .label {
    margin: 0 0 3.5rem;
  }
  .co1-2 .cases {
    flex-direction: column;
    gap: 2.8rem 0
  }
  .co1-2 .case {
  }
  .co1-2 .case-cb {
    padding: 2.5rem;
    display: block;
  }
  .co1-2 .case-problem {
    line-height: 1.8461538461538463;
    width: calc(182/375*100vw);
    font-size: 1.3rem;
  }
  .co1-2 .case-problem:after {
    bottom: 2.2rem;
    right: -2.2rem;
    width: 2.2rem;
    height: 2.2rem;
    transform: rotate(-90deg) rotateY(180deg);
  }
  .co1-2 .case-illust {
    right: 2rem;
    bottom: 2.5rem;
  }
  .co1-2 .case-label {
    padding: .75rem 0;
    line-height: 1.5;
    font-size: 1.8rem;
  }
  .co1-2 .case-solution {
    padding: 4rem 3rem 2.5rem;
    background-position: top .5rem center;
    background-size: 3.8rem 1.6rem;
  }
  .co1-2 .case-solution dt {
    line-height: 1.4444444444444444;
    font-size: 1.8rem;
  }
  .co1-2 .case-solution dd {
    margin-top: 1.5rem;
    line-height: 1.5714285714285714;
    font-size: 1.4rem;
  }
  .co1-2 .case-cta {
    margin: 1.5rem 0 0;
    padding: 7.6rem 0 0;
  }
  .co1-2 .case-cta .line:nth-child(1) {
    font-size: 2rem;
  }
  .co1-2 .case-cta .line:nth-child(2) {
    margin-top: 1.5rem;
    font-size: 2rem;
  }
}















/* CTA個所 */
.service:has(.constmng) .m-cta__head p {
  margin-top: 30px;
  line-height: 1.5;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
.service:has(.constmng) .m-cta__head p .line {
  display: block;
}
.service:has(.constmng) .m-cta__head p .line + .line {
  color: #D7092F;
  font-size: 3.8rem;
}
@media (max-width: 768px) {
  .service:has(.constmng) .m-cta__head p {
    margin-top: 0;
    font-size: 1.8rem;
  }
  .service:has(.constmng) .m-cta__head p .line:first-child {
    letter-spacing: -0.05em;
  }
  .service:has(.constmng) .m-cta__head p .line + .line {
    padding-top: 4rem;
    font-size: 2rem;
  }
}







/* ヘッダー個所 */
@media (min-width: 769px) {
  body:has(.constmng) .header-nav {
    padding: 0 calc(50% - 550px);
  }
  body:has(.constmng) .header-logo {
    padding: 27px 0;
    width: 238px;
    max-width: inherit;
  }
  body:has(.constmng) .header-under div {
    font-size: 1.6rem;
    font-weight: bold;
  }
  body:has(.constmng) .header-under div>a {
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px 0;
  }
  body:has(.constmng) .header-under div>a:after {
    content: '';
    margin: 0 auto;
    display: block;
    width: 20px;
    height: 11px;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOS42MzIiIGhlaWdodD0iMTAuOTE5IiB2aWV3Qm94PSIwIDAgMTkuNjMyIDEwLjkxOSI+IDxwYXRoIGlkPSLjg5HjgrlfNDA3MzMiIGRhdGEtbmFtZT0i44OR44K5IDQwNzMzIiBkPSJNLjUyOSwxOS4xLS41MjksMTguMDM3LDguMjY0LDkuMjg0LS41MjkuNTMyLjUyOS0uNTMyLDEwLjM5LDkuMjg0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkuMSAwLjUyOSkgcm90YXRlKDkwKSIgZmlsbD0iIzAxNGRhMiIvPjwvc3ZnPg==") 0 0 / contain no-repeat;
  }
}
@media (max-width: 768px) {
  body:has(.constmng) .gnav {
    width: 100%;
  }
  body:has(.constmng) .gnav .header-under {
    margin: 0 calc(30/375*100vw);
  }
  body:has(.constmng) .gnav .header-under > div > a {
    color: #000;
  }
}



/* フッター個所 */
body:has(.constmng) .footer_nav_area {
  justify-content: center;
}
body:has(.constmng) .footer_nav_ttl {
  width: 288px;
}
@media (max-width: 768px) {
  body:has(.constmng) .footer_nav_ttl {
    width: 198px;
  }
}

