@charset "UTF-8";
/* Break point
---------------------------------------------------------- */
/* Font
---------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap");
/* Mixin
---------------------------------------------------------- */
/* Animation
---------------------------------------------------------- */
.a-fadeIn {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all 0.8s ease;
  transition: all 0.8s ease;
}
.a-fadeIn.-start {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ==========================================================================//
//
//　変数
//
// ========================================================================== */
:root {
  /* Color
  ---------------------------------------------------------- */
  --color-main: #111FA2;
  --color-sub: #F8DE22;
  --color-sub2: #12C3E8;
  --color-point: #FF6200;
  --color-font: #171717;
  --color-font2: #3C3C3C;
  --color-link: #111FA2;
  --color-red: #D23333;
  /* font
  ---------------------------------------------------------- */
  --font-normal: "IBM Plex Sans JP", sans-serif;
  --font-mplus: "M PLUS 1p", sans-serif;
  --font-en: "Archivo", sans-serif;
  --font-no: "M PLUS 1p", sans-serif;
  --font-l: 300;
  --font-r: 400;
  --font-m: 500;
  --font-b: 700;
  --font-bl: 900;
  --lhS: 1.2;
  --lhM: 1.5;
  --lhL: 1.8;
  --lhLL: 2.3;
  /* width
  ---------------------------------------------------------- */
  --maxWidth: 1200px;
  --maxWidth2: 1000px;
  --sidePadding: 16px;
  --marginTop: 10px;
  --header: 60px;
  --requirement-top: 80px;
}
@media screen and (min-width: 768px) {
  :root {
    --sidePadding: 40px;
  }
}
@media screen and (min-width: 960px) {
  :root {
    --marginTop: 20px;
  }
}
@media screen and (min-width: 960px) {
  :root {
    --header: 80px;
  }
}

@media screen and (min-width: 960px) {
  .c-ttl-1 .-en {
    font-size: 23px;
    font-size: 1.4375rem;
  }
}
@media screen and (min-width: 960px) {
  .c-ttl-1 .-main {
    font-size: 50px;
    font-size: 3.125rem;
  }
}

.l-top-mv {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: var(--sidePadding);
  padding-left: var(--sidePadding);
}
@media screen and (min-width: 768px) {
  .l-top-mv {
    padding: 10px 30px 0;
    max-width: 1460px;
    margin: auto;
  }
}
.l-top-mv__slide {
  --slide-size: 100%;
  margin-inline: auto;
  position: relative;
}
.l-top-mv__slide__viewport {
  overflow: hidden;
}
.l-top-mv__slide__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.l-top-mv__slide__item {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 var(--slide-size);
      -ms-flex: 0 0 var(--slide-size);
          flex: 0 0 var(--slide-size);
  min-width: 0;
  height: 300px;
}
@media screen and (min-width: 960px) {
  .l-top-mv__slide__item {
    height: 350px;
  }
}
@media screen and (min-width: 960px) {
  .l-top-mv__slide__item {
    height: 560px;
  }
}
.l-top-mv__slide__item picture {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  border: 2px solid #D9D9D9;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .l-top-mv__slide__item picture {
    border-width: 4px;
  }
}
.l-top-mv__slide__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-top-mv__slide__dots {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  height: 30px;
  position: absolute;
  bottom: 30px;
  right: 15px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-top-mv__slide__dots {
    gap: 10px;
    top: calc(100% + 10px);
    right: 10px;
    bottom: auto;
  }
}
.l-top-mv__slide__dot {
  --dot-size: 8px;
  --dot-circle-size: 12px;
  --dot-current-padding: 3px;
  --dot-circle-deg: 0deg;
  width: var(--dot-size);
  height: var(--dot-size);
  background: #CACACA;
  padding: 0;
  border-radius: 50%;
  -webkit-transition: width 0.3s, height 0.3s;
  transition: width 0.3s, height 0.3s;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-top-mv__slide__dot {
    --dot-size: 10px;
    --dot-circle-size: 12px;
  }
}
.l-top-mv__slide__dot::before {
  display: block;
  -webkit-mask-image: -webkit-radial-gradient(circle, transparent calc(68% - 2px), #000 calc(73% - 2px));
          mask-image: radial-gradient(circle, transparent calc(68% - 2px), #000 calc(73% - 2px));
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.l-top-mv__slide__dot::before {
  width: calc(var(--dot-size) + var(--dot-circle-size));
  height: calc(var(--dot-size) + var(--dot-circle-size));
  background-image: conic-gradient(var(--color-point) var(--dot-circle-deg), #CACACA var(--dot-circle-deg));
}
.l-top-mv__slide__dot.-current {
  background: var(--color-point);
  width: calc(var(--dot-size) + 2px);
  height: calc(var(--dot-size) + 2px);
  margin: 0 var(--dot-current-padding);
}
.l-top-mv__slide__dot.-current::before {
  content: "";
}
@media screen and (min-width: 768px) {
  .l-top-mv__txtBox {
    max-width: 1210px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 30px;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
    margin: auto;
  }
}
.l-top-mv__ttl {
  margin-top: -12px;
  padding: 0 var(--sidePadding);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-top-mv__ttl {
    margin-top: -30px;
    padding: 0;
  }
}
.l-top-mv__txt {
  font-family: var(--font-mplus);
  font-size: 16px;
  font-size: 1rem;
  font-weight: 800;
  color: var(--color-point);
  margin-top: 13px;
  line-height: var(--lhL);
  padding: 0 var(--sidePadding);
}
@media screen and (min-width: 768px) {
  .l-top-mv__txt {
    margin-top: 0;
    padding: 45px 0 0;
  }
}
@media screen and (min-width: 960px) {
  .l-top-mv__txt {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.l-top-news {
  margin-top: 35px;
}
@media screen and (min-width: 960px) {
  .l-top-news {
    margin-top: 45px;
  }
}
.l-top-news .c-bg-stripe-yellow {
  border-radius: 16px;
  padding: 30px var(--sidePadding) 20px;
}
@media screen and (min-width: 768px) {
  .l-top-news .c-bg-stripe-yellow {
    padding: 40px 50px 15px;
  }
}
.l-top-news .l-top-news__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.l-top-news .l-top-news__list + .c-link-1 {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .l-top-news .l-top-news__list + .c-link-1 {
    margin-top: 15px;
  }
}

.l-top-message {
  margin-top: 55px;
}
@media screen and (min-width: 768px) {
  .l-top-message {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 960px) {
  .l-top-message {
    gap: 80px;
  }
}
.l-top-message__img {
  height: 540px;
}
@media screen and (min-width: 768px) {
  .l-top-message__img {
    height: 100%;
  }
}
.l-top-message__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-top-message__txtBox {
  margin-top: 40px;
  padding: 0 var(--sidePadding);
}
@media screen and (min-width: 768px) {
  .l-top-message__txtBox {
    padding: 0 var(--sidePadding) 0 0;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 960px) {
  .l-top-message__txtBox {
    margin-bottom: 80px;
    max-width: 800px;
    margin-right: auto;
  }
}
.l-top-message__txtBox .c-ttl-1 {
  margin-bottom: 30px;
}
.l-top-message__txtBox p {
  line-height: var(--lhL);
}
@media screen and (min-width: 768px) {
  .l-top-message__txtBox p {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 960px) {
  .l-top-message__txtBox p {
    font-size: 16px;
    font-size: 1rem;
  }
}
.l-top-message__txtBox p + p {
  margin-top: 25px;
}
.l-top-message__txtBox p .-blue {
  font-weight: var(--font-b);
  color: var(--color-main);
}
.l-top-message__txtBox .c-btn-1 {
  margin-top: 40px;
}

.l-top-about {
  margin-top: 90px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 88, 188, 0.7)), to(rgba(0, 88, 188, 0.2))), url("../../images/bg-about.webp") no-repeat center center/cover;
  background: -webkit-linear-gradient(top, rgba(0, 88, 188, 0.7) 0%, rgba(0, 88, 188, 0.2) 100%), url("../../images/bg-about.webp") no-repeat center center/cover;
  background: linear-gradient(180deg, rgba(0, 88, 188, 0.7) 0%, rgba(0, 88, 188, 0.2) 100%), url("../../images/bg-about.webp") no-repeat center center/cover;
  padding-top: 90px;
  padding-bottom: 140px;
}
@media screen and (min-width: 768px) {
  .l-top-about {
    margin-top: 0;
  }
}
@media screen and (min-width: 960px) {
  .l-top-about {
    padding-top: 180px;
    padding-bottom: 150px;
  }
}
.l-top-about .c-ttl-1 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.l-top-about .c-ttl-1 .-main {
  color: #fff;
}
.l-top-about .c-btn-1 {
  margin-top: 70px;
}
@media screen and (min-width: 768px) {
  .l-top-about .c-btn-1 {
    margin-top: 60px;
  }
}

.l-top-dev .c-bg-dots {
  padding-top: 70px;
}
.l-top-dev .c-bg-dots .c-ttl-1 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 0 var(--sidePadding);
}
.l-top-dev .c-bg-dots .-read {
  margin-top: 25px;
  text-align: center;
  padding: 0 var(--sidePadding);
  line-height: var(--lhL);
}
.l-top-dev__list {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  width: 1200px;
  padding: 0 var(--sidePadding);
}
@media screen and (min-width: 960px) {
  .l-top-dev__list {
    width: calc(100% - var(--sidePadding) * 2);
    padding: 0;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 1280px) {
  .l-top-dev__list {
    width: 100%;
  }
}
.l-top-dev__list__outer {
  overflow-x: auto;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .l-top-dev__list__outer {
    overflow: visible;
  }
}
.l-top-dev__list__item {
  --bar-height: 230px;
  --bar-plus-height: 70px;
  display: grid;
  grid-template-rows: auto auto;
  gap: 100px;
}
.l-top-dev__list__item .-colorBox {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  color: #fff;
  text-align: center;
  height: var(--bar-height);
  border-radius: 16px 16px 0 0;
  position: relative;
}
.l-top-dev__list__item .-colorBox .-time {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: var(--font-b);
  padding: 5px 20px 4px;
  border: 1px solid #fff;
  border-radius: 9999px;
}
.l-top-dev__list__item .-colorBox .-ttl {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: var(--font-b);
}
.l-top-dev__list__item .-colorBox .-img {
  width: 60%;
  position: absolute;
  bottom: calc(100% - 45px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.l-top-dev__list__item .-colorBox .-img img {
  width: 100%;
}
.l-top-dev__list__item .-txt {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #FFF8C0;
  padding: 10px;
  min-height: 100px;
  border-radius: 15px;
  font-size: 14px;
  font-size: 0.875rem;
}
.l-top-dev__list__item:nth-child(1) .-colorBox {
  background: #00AAFF;
}
.l-top-dev__list__item:nth-child(2) .-colorBox {
  height: calc(var(--bar-height) + var(--bar-plus-height));
  background: #067CE0;
}
.l-top-dev__list__item:nth-child(3) .-colorBox {
  height: calc(var(--bar-height) + var(--bar-plus-height) * 2);
  background: #0B4DC1;
}
.l-top-dev__list__item:nth-child(4) .-colorBox {
  height: calc(var(--bar-height) + var(--bar-plus-height) * 3);
  background: #2432B3;
}
.l-top-dev .c-bg-stripe-white {
  --color-bg: #003EC5;
  padding-top: 70px;
  padding-bottom: 90px;
}
@media screen and (min-width: 768px) {
  .l-top-dev .c-bg-stripe-white {
    padding-top: 80px;
  }
}
.l-top-dev__system__ttl {
  font-size: 32px;
  font-size: 2rem;
  font-family: var(--font-mplus);
  font-weight: 800;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .l-top-dev__system__ttl {
    font-size: 42px;
    font-size: 2.625rem;
  }
}
.l-top-dev__system__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 10px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .l-top-dev__system__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.l-top-dev__system__list__item {
  background: #fff;
  padding: 30px 20px;
  border-radius: 10px;
}
@media screen and (min-width: 960px) {
  .l-top-dev__system__list__item {
    padding: 40px 40px 30px;
  }
}
.l-top-dev__system__list__item .-ttl {
  color: var(--color-main);
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: var(--font-b);
  margin-bottom: 10px;
}
.l-top-dev__system__list__item p {
  font-weight: var(--font-r);
  line-height: var(--lhL);
}
.l-top-dev__system__list + .c-btn-1 {
  margin-top: 50px;
}

.l-top-secImg {
  width: 100%;
  aspect-ratio: 40/27;
}
@media screen and (min-width: 768px) {
  .l-top-secImg {
    height: 400px;
    aspect-ratio: auto;
  }
}
.l-top-secImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-top-interview {
  padding-top: 70px;
  padding-bottom: 90px;
}
@media screen and (min-width: 768px) {
  .l-top-interview {
    padding-top: 90px;
    padding-bottom: 120px;
  }
}
.l-top-interview .c-ttl-1 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.l-top-interview .-read {
  margin-top: 25px;
}
@media screen and (min-width: 768px) {
  .l-top-interview .-read {
    text-align: center;
  }
}
.l-top-interview .l-interview__list {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .l-top-interview .l-interview__list {
    margin-top: 50px;
  }
}
.l-top-interview .c-btn-1 {
  margin-top: 50px;
}

.l-top-welfare {
  padding-top: 70px;
  padding-bottom: 90px;
}
@media screen and (min-width: 768px) {
  .l-top-welfare {
    padding-top: 90px;
    padding-bottom: 70px;
  }
}
.l-top-welfare .c-ttl-1 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.l-top-welfare .-read {
  margin-top: 25px;
  line-height: var(--lhL);
}
@media screen and (min-width: 768px) {
  .l-top-welfare .-read {
    margin-top: 35px;
    text-align: center;
  }
}
.l-top-welfare__list {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .l-top-welfare__list {
    margin-top: 40px;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 960px) {
  .l-top-welfare__list {
    gap: 25px;
  }
}
.l-top-welfare__list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background: #fff;
  border-radius: 8px;
  text-align: center;
  padding: 20px 10px;
}
@media screen and (min-width: 768px) {
  .l-top-welfare__list > li {
    border-radius: 10px;
    padding: 35px 10px 30px;
  }
}
.l-top-welfare__list > li > .-num {
  margin-top: auto;
}
.l-top-welfare__list > li .-icon {
  width: 28px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-top-welfare__list > li .-icon {
    width: 37px;
    margin-bottom: 15px;
  }
}
.l-top-welfare__list > li .-ttl {
  color: var(--color-main);
  font-size: 16px;
  font-size: 1rem;
  font-weight: var(--font-b);
}
@media screen and (min-width: 960px) {
  .l-top-welfare__list > li .-ttl {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.l-top-welfare__list > li .-ttl > span {
  display: inline-block;
}
.l-top-welfare__list > li .-ttl:not(:has(+ .-num)) {
  margin-bottom: 10px;
}
.l-top-welfare__list > li .-num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: var(--font-b);
}
@media screen and (min-width: 960px) {
  .l-top-welfare__list > li .-num {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.l-top-welfare__list > li .-num .-num {
  font-family: var(--font-no);
  font-size: 47px;
  font-size: 2.9375rem;
  color: var(--color-point);
  font-weight: 800;
}
@media screen and (min-width: 960px) {
  .l-top-welfare__list > li .-num .-num {
    font-size: 65px;
    font-size: 4.0625rem;
  }
}
.l-top-welfare__list > li .-txt {
  font-size: 12px;
  font-size: 0.75rem;
  color: var(--color-font2);
  font-weight: var(--font-r);
}
@media screen and (min-width: 960px) {
  .l-top-welfare__list > li .-txt {
    font-size: 16px;
    font-size: 1rem;
    margin-top: 10px;
  }
  .l-top-welfare__list > li .-txt span {
    display: inline-block;
  }
}
.l-top-welfare .c-btn-1 {
  margin-top: 50px;
}
.l-top-welfare__photo {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-top-welfare__photo {
    margin-top: 90px;
  }
}
.l-top-welfare__photo__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  padding: 0 5px;
}
@media screen and (min-width: 768px) {
  .l-top-welfare__photo__list {
    grid-template-columns: repeat(5, 1fr);
  }
}
.l-top-welfare__photo__list > li {
  aspect-ratio: 1/1;
}
.l-top-welfare__photo__list > li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-top-welfare__photo__list > li:last-child {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-top-welfare__photo__list > li:last-child {
    display: block;
  }
}
.l-top-welfare__photo .c-link-2 {
  margin-top: 20px;
  text-align: right;
  padding: 0 var(--sidePadding);
}

.l-top-parent {
  padding-top: 45px;
  padding-bottom: calc(80px + var(--requirement-top));
  line-height: var(--lhL);
  color: #fff;
  background: #1643B3;
}
@media screen and (min-width: 768px) {
  .l-top-parent {
    padding-top: 100px;
    padding-bottom: calc(100px + var(--requirement-top));
  }
}
@media screen and (min-width: 960px) {
  .l-top-parent__wrap {
    display: grid;
    grid-template-columns: 1fr 38%;
    gap: 55px;
  }
}
.l-top-parent__ttl {
  display: grid;
  grid-template-columns: auto auto;
  gap: 10px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: var(--font-b);
  font-family: var(--font-mplus);
}
@media screen and (min-width: 960px) {
  .l-top-parent__ttl {
    font-size: 45px;
    font-size: 2.8125rem;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
.l-top-parent__ttl .-icon {
  width: 37px;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 960px) {
  .l-top-parent__ttl .-icon {
    width: 44px;
  }
}
.l-top-parent__ttl .-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-top-parent .-read {
  margin-top: 45px;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .l-top-parent .-read {
    margin-top: 20px;
  }
}
.l-top-parent__list {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .l-top-parent__list {
    margin-top: 20px;
  }
}
.l-top-parent__list > li {
  padding: 15px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  font-weight: var(--font-r);
}
@media screen and (min-width: 768px) {
  .l-top-parent__list > li {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.l-top-parent__list > li .-ttl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: var(--font-b);
  position: relative;
}
@media screen and (min-width: 960px) {
  .l-top-parent__list > li .-ttl {
    gap: 10px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.l-top-parent__list > li .-ttl + * {
  margin-top: 2px;
}
.l-top-parent__list > li .-ttl::before, .l-top-parent__list > li .-ttl::after {
  content: "";
  display: inline-block;
}
.l-top-parent__list > li .-ttl::before {
  width: 1em;
  aspect-ratio: 1/1;
  border-radius: 2px;
  background: #fff;
}
.l-top-parent__list > li .-ttl::after {
  width: 0.25em;
  height: 0.5em;
  border-right: 2px solid var(--color-point);
  border-bottom: 2px solid var(--color-point);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  position: absolute;
  top: calc(50% - 0.08em);
  left: 0.5em;
}
.l-top-parent__img {
  display: none;
}
@media screen and (min-width: 960px) {
  .l-top-parent__img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
  }
}
.l-top-parent__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
