@charset "UTF-8";
.bg-blue {
  background-color: #0A1F44;
}

.bg-blue-2 {
  background-color: #F5F8FA;
}

.bg-gradation {
  background: linear-gradient(98.92deg, rgba(96, 198, 223, 0.3) 10.66%, rgba(255, 255, 255, 0.3) 47.98%, rgba(218, 250, 141, 0.3) 82.22%), #F5F8FA;
}

.text-gradation {
  background: linear-gradient(90deg, #29CDF4 0%, #BBF910 100%);
  padding: 2px;
}

.btn.btn-primary {
  background-color: #DAFA8D;
  color: #0A1F44;
}

header.share .logo {
  display: flex;
  gap: 20px;
  justify-content: flex-start;
  align-items: center;
  width: auto;
}
header.share .logo img {
  vertical-align: top;
}

header.share .logo p.logo-catch {
  font-size: 0.75rem;
  font-weight: 600;
}

.area-kv .inner .title-body {
  padding: 40px 0 67px;
}

@media screen and (min-width: 769px) {
  header.share .logo {
    gap: 30px;
  }
  header.share .logo p.logo-catch {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 1024px) {
  header.share .menu .pages .cv li .btn {
    padding: 0.8em 3rem;
  }
  header.share .logo p.logo-catch {
    font-size: 1rem;
  }
  header.share .menu .others li.corporate a {
    background: url(/asset/img/share/icn-corporate.svg) 0 0 no-repeat;
    background-size: contain;
    padding: 5px 20px 5px 33px;
  }
  .area-kv .inner .title-body {
    padding: 40px 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .area-kv .inner .title-body .title .lead p br {
    display: none;
  }
}
.mv {
  width: 100%;
  margin-bottom: 20px;
}
.mv .title {
  padding: 0 24px !important;
  margin: 0 auto !important;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  justify-content: flex-start;
}
.mv .title h1,
.mv .title p {
  text-align: left;
}
.mv .title h1 {
  font-size: 2.125rem;
}
.mv .title .lead {
  margin: 0 !important;
}
.mv .title p {
  font-size: 0.9375rem;
  margin-bottom: 10px;
}
.mv .title .tag {
  display: flex;
  gap: 8px;
}
.mv .title .tag li {
  border: 1px solid #0A1F44;
  border-radius: 4px;
  padding: 5px 8px;
  font-size: 0.875rem;
  font-weight: 600;
}
.mv .title .btn {
  display: none;
}
.mv .mainimg {
  margin-top: 30px;
  height: 259px;
  overflow: hidden;
}
.mv .mainimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.title-body .btn {
  text-align: center;
}
.title-body .btn a {
  display: inline-block;
  background: #0A1F44;
  color: #fff;
  font-size: 0.875rem;
  padding: 10px 70px;
  border-radius: 100px;
  position: relative;
}
.title-body .btn a:after {
  content: "";
  display: inline-block;
  width: 23px;
  height: 23px;
  background: url(/asset/img/share/arw01.svg) 0 0 no-repeat;
  background-size: contain;
  line-height: 1;
  margin-left: 0.5em;
  margin-right: -0.5em;
  position: absolute;
  top: calc(50% - 12px);
  right: 30px;
}

@media screen and (min-width: 769px) {
  .mv .title .btn {
    display: block;
  }
  .mv .mainimg {
    height: 450px;
    margin-top: 57px;
  }
}
@media screen and (min-width: 1024px) {
  .mv {
    display: grid;
    grid-template-columns: 1fr 55%;
  }
  .mv .title {
    padding: 0 10% !important;
  }
  .mv .title .tag {
    gap: 10px;
  }
  .mv .title .btn {
    display: block;
  }
  .mv .mainimg {
    height: 462px;
    margin: 0;
  }
}
.area-kenpo-limit {
  text-align: center;
  margin: 0 auto;
  padding: 88px 0 44px;
}
.area-kenpo-limit .inner {
  padding: 0 24px;
}
.area-kenpo-limit .c-hl01 .hl {
  margin-bottom: 90px;
  font-size: 1.5rem;
  text-align: left;
}
.area-kenpo-limit .c-hl01 .hl::after {
  left: 24px;
  position: absolute;
  margin-top: 1.5em;
}
.area-kenpo-limit .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.area-kenpo-limit .cards .card {
  background: #fff;
  padding: 25px 24px 30px;
  color: #2C3642;
  border-radius: 6px;
  text-align: left;
}
.area-kenpo-limit .cards .card h3 {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 15px;
}
.area-kenpo-limit .cards .card p {
  font-size: 0.875rem;
}

@media screen and (min-width: 1024px) {
  .area-kenpo-limit {
    padding: 96px 0 120px;
  }
  .area-kenpo-limit .inner {
    max-width: 1116px;
    margin-inline: auto;
    box-sizing: border-box;
  }
  .area-kenpo-limit .c-hl01 .hl {
    margin-bottom: 96px;
    text-align: center;
    font-size: 2rem;
  }
  .area-kenpo-limit .c-hl01 .hl::after {
    left: calc(50% - 35px);
  }
  .area-kenpo-limit .cards {
    grid-template-columns: repeat(3, 1fr);
  }
  .area-kenpo-limit .cards .card {
    padding: 45px 38px 30px;
  }
  .area-kenpo-limit .cards .card h3 {
    margin-bottom: 20px;
  }
}
.area-top-function {
  padding: 80px 0;
}
.area-top-function .inner {
  padding: 0 24px;
}
.area-top-function .function-flow {
  display: block;
  position: relative;
  max-width: 100%;
  margin: auto;
}
.area-top-function .function-flow .flow-item {
  border: 2px solid #DCE5F2;
  background: #F8FAFC;
  padding: 24px;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.area-top-function .function-flow .flow-item .flow-item-text {
  justify-content: space-between;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.area-top-function .function-flow .flow-item .flow-item-text .tag {
  border-radius: 100px;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 2px 30px;
  min-width: 224px;
  border: 1px solid #0A1F44;
  text-align: center;
}
.area-top-function .function-flow .flow-item .flow-item-text .tag.bg-navy {
  background: #0A1F44;
  color: #fff;
}
.area-top-function .function-flow .flow-item .flow-item-text .tag.bg-white {
  background: #fff;
  color: #0A1F44;
}
.area-top-function .function-flow .flow-item .flow-item-text h3 {
  font-weight: 800;
  font-size: 1.25rem;
  text-align: center;
}
.area-top-function .function-flow .flow-item .flow-item-text p {
  font-size: 1rem;
  text-align: center;
}
.area-top-function .function-flow .flow-item .flow-item-text p .text-gradation {
  font-weight: 700;
}
.area-top-function .function-flow .flow-item:first-of-type {
  position: relative;
  gap: 20px;
  margin-bottom: 50px;
}
.area-top-function .function-flow .flow-item:first-of-type:before, .area-top-function .function-flow .flow-item:first-of-type:after {
  content: "";
  position: absolute;
  background: url(../img/prm/kenpo/flow-arrow.svg) no-repeat;
  width: 29px;
  height: 41px;
  bottom: -42px;
  left: calc(50% - 14.5px);
  display: block;
}
.area-top-function .function-flow .flow-item:first-of-type:after {
  display: none;
}
.area-top-function .function-flow .flow-item:first-of-type .flow-item-text {
  align-items: center;
  gap: 10px;
}
.area-top-function .function-flow .flow-item:first-of-type .flow-item-text p {
  font-size: 0.875rem;
}
.area-top-function .function-flow .flow-item:last-of-type {
  margin-top: 17px;
}

@media screen and (min-width: 769px) {
  .area-top-function .function-flow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px 20px;
    position: relative;
    max-width: 687px;
    margin: auto;
  }
  .area-top-function .function-flow .flow-item {
    justify-content: center;
    flex-direction: row;
    align-items: stretch;
  }
  .area-top-function .function-flow .flow-item .flow-item-text {
    justify-content: space-between;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .area-top-function .function-flow .flow-item:first-of-type {
    margin: 0;
    padding: 48px;
    grid-column: 1/3;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 40px;
    flex-direction: row;
  }
  .area-top-function .function-flow .flow-item:first-of-type:before {
    left: calc(25% - 14.5px);
  }
  .area-top-function .function-flow .flow-item:first-of-type:after {
    display: block;
    left: auto;
    right: calc(25% - 14.5px);
  }
  .area-top-function .function-flow .flow-item:first-of-type .flow-item-text {
    align-items: self-start;
  }
  .area-top-function .function-flow .flow-item:first-of-type .flow-item-text h3 {
    text-align: left;
  }
  .area-top-function .function-flow .flow-item:first-of-type .flow-item-text p {
    text-align: left;
  }
  .area-top-function .function-flow .flow-item:last-of-type {
    margin: 0;
  }
}
.area-kanpo-voices .inner {
  padding: 0 24px;
  box-sizing: border-box;
}
.area-kanpo-voices .cards {
  max-width: 816px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.area-kanpo-voices .card {
  display: grid;
  gap: 16px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #DCE5F2;
  padding: 20px 17px 30px;
}
.area-kanpo-voices .card-head {
  display: grid;
  gap: 12px;
}
.area-kanpo-voices .card-logo {
  order: 1;
}
.area-kanpo-voices .card-logo img {
  max-width: 200px;
}
.area-kanpo-voices .card-title {
  order: 2;
}
.area-kanpo-voices .card-title h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 20px;
}
.area-kanpo-voices .card-img {
  order: 3;
  display: none;
}
.area-kanpo-voices .card-img img {
  max-width: 154px;
  border-radius: 6px;
}
.area-kanpo-voices .card-img-sp {
  width: 71px;
  height: 71px;
  float: left;
  margin-bottom: 20px;
}
.area-kanpo-voices .card-img-sp img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.area-kanpo-voices .name {
  display: inline-block;
  margin-left: 12px;
}
.area-kanpo-voices .card-img-wrap {
  display: flex;
  align-items: center;
}
.area-kanpo-voices .card-text p {
  font-size: 0.875rem;
  text-align: justify;
}
.area-kanpo-voices .card-text p strong {
  font-weight: 700;
  background: #DAFA8D;
}

@media (min-width: 769px) {
  .area-kanpo-voices {
    padding: 120px 0 108px;
  }
  .area-kanpo-voices .card {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    padding: 32px 32px 32px 32px;
  }
  .area-kanpo-voices .card-head {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
  }
  .area-kanpo-voices .card-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .area-kanpo-voices .card-title h3 {
    font-size: 1.25rem;
    margin: 0;
  }
  .area-kanpo-voices .card-title .name {
    margin: 0;
    font-size: 0.9375rem;
  }
  .area-kanpo-voices .card-title .name br {
    display: none;
  }
  .area-kanpo-voices .card-logo img {
    max-width: 170px;
  }
  .area-kanpo-voices .card-img {
    display: block;
  }
  .area-kanpo-voices .card-img-sp {
    display: none;
  }
  .area-kanpo-voices .card-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .area-kanpo-voices .card-text p {
    font-size: 0.875rem;
    text-align: justify;
  }
  .area-kanpo-voices .card-text p strong {
    font-weight: 700;
    background: #DAFA8D;
  }
}
/* 共通（promotionに移す） */
.area-top-pioneer .c-hl01 .hl {
  text-align: left;
  font-size: 1.5rem;
  margin-bottom: 72px;
}
.area-top-pioneer .c-hl01 .hl:after {
  left: 24px;
  position: absolute;
  margin-top: 1.2em;
}
.area-top-pioneer .c-hl01 .lead p {
  text-align: left;
}
.area-top-pioneer .c-pioneers .pioneer.pioneer-02 .imgtxt .img {
  margin-bottom: 0;
}
.area-top-pioneer .c-pioneers .pioneer.pioneer-02 .imgtxt .img img {
  width: 267px;
}
.area-top-pioneer .c-pioneers .pioneer .imgtxt .txt p.text-s {
  margin-top: 5px;
  font-size: 0.625rem;
  font-weight: 400;
}
@media (min-width: 769px) {
  .area-top-pioneer .c-hl01 .hl {
    text-align: center;
    font-size: 1.75rem;
    margin-bottom: 54px;
  }
  .area-top-pioneer .c-hl01 .hl:after {
    left: calc(50% - 35px);
    position: absolute;
    margin-top: 0.8em;
  }
  .area-top-pioneer .c-hl01 .lead p {
    text-align: center;
    font-size: 0.875rem;
  }
  .area-top-pioneer .c-pioneers .pioneer.pioneer-02 .imgtxt .img {
    margin-bottom: 16px;
  }
  .area-top-pioneer .c-pioneers .pioneer {
    padding: 0 24px;
  }
}

.area-kenpo-contact {
  padding: 80px 0 0;
}
.area-kenpo-contact .title {
  padding: 0 24px;
  margin-bottom: 43px;
}
.area-kenpo-contact .c-hl04 {
  text-align: left;
}
.area-kenpo-contact .c-hl04 br {
  display: none;
}
.area-kenpo-contact .c-box-contact {
  padding: 0 24px;
}
@media (min-width: 769px) {
  .area-kenpo-contact {
    padding: 80px 0;
  }
  .area-kenpo-contact .c-hl04 {
    text-align: center;
  }
  .area-kenpo-contact .c-hl04 br {
    display: inherit;
  }
  .area-kenpo-contact .c-box-contact {
    padding: 0 36px;
  }
}/*# sourceMappingURL=kenpo.css.map */