@import url("https://fonts.googleapis.com/css2?family=Noto+Nastaliq+Urdu:wght@700&family=Noto+Sans+JP:wght@700&display=swap");
.banner-container {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
}
.banner-container .banner {
  background-color: #009389;
  color: #ffffff;
}
.banner-container.banner-pc {
  display: none;
}
.banner-container.banner-mobile {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  text-align: center;
  margin: 5px 0 60px;
  line-height: 145%;
  font-size: 23px;
}
.banner-container.banner-mobile .banner {
  padding: 1em 0.2em;
}
@media screen and (min-width: 801px) {
  .banner-container.banner-pc {
    display: unset;
  }
  .banner-container.banner-mobile {
    display: none;
  }
}

.bg-h2 {
  font-size: 64px;
  height: 110px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 0.1em;
}
.bg-h2.two-line {
  height: clamp(2.2em, 20vw, 3.8em);
}
.bg-h2.two-line h2 {
  margin: 0 0 0.7em 0;
}
.bg-h2 h2 {
  color: #1677B1;
  letter-spacing: 0.05em;
  margin: 0 auto;
  line-height: 100%;
}

.bg-h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

section.top-landing {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(80px,10vw,120px) 0;
  width: 100%;
  max-width: 100%;
  min-height: 420px;
  background: url(../img/top/landing-catch.svg) left -9px top -9px no-repeat, url(../img/top/landing-sp.webp) center no-repeat;
  background-size: auto 100%, cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  color: #ffffff;
}
section.top-landing .text-container {
  width: 94%;
  max-width: 600px;
  border: 3px solid #ffffff;
  border-radius: 18px;
  padding: 5px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.top-landing .text-container .uptitle {
  display: block;
  font-size: 20px;
  letter-spacing: 0.065em;
  margin: 0px 0 5px;
  border-radius: 18px;
  padding: 10px;
  line-height: 100%;
  background-color: #FCE301;
  color: #009389;
}
section.top-landing .text-container .uptitle .deco {
  margin: 0.2em;
}
section.top-landing .text-container img.h1-text {
  height: clamp(82px,20vw,244px);
  width: auto;
  max-width: 92%;
  -o-object-fit: contain;
     object-fit: contain;
}
section.top-landing .date-container {
  height: clamp(25px,5vw,75px);
  width: auto;
  max-width: 92%;
  margin: clamp(20px,5vw,50px) 0 10px;
}
@media screen and (min-width: 801px) {
  section.top-landing {
    min-height: clamp(800px, 100vh, 1080px);
    background: url(../img/top/landing-catch.svg) left center no-repeat, url(../img/top/landing.webp) center no-repeat;
    background-size: contain, cover;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  section.top-landing .text-container {
    padding: 46px 0;
    width: 66%;
    max-width: 1264px;
    border-right: unset;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-top-right-radius: 34px;
    border-top-left-radius: 34px;
    border-width: 8px;
  }
  section.top-landing .text-container .uptitle {
    display: block;
    font-size: 55px;
    letter-spacing: 0.065em;
    margin: 30px 0 20px;
    border-radius: 18px;
    padding: 10px;
    line-height: 100%;
    background-color: #FCE301;
    color: #009389;
  }
  section.top-landing .text-container .uptitle .deco {
    margin: 0.2em;
  }
  section.top-landing .banner-container {
    margin: 60px 0 10px;
  }
  section.top-landing .banner-container .banner {
    border: 6px solid #ffffff;
    border-right: unset;
    font-size: clamp(24px,2vw,36px);
    padding: 0.2em 3em 0.2em 1em;
    border-top-left-radius: 0.66em;
    border-bottom-left-radius: 0.66em;
    letter-spacing: 0.05em;
  }
  section.top-landing .banner-container .subtitle {
    display: none;
  }
}

section.about {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.about img.pc-img {
  display: none;
}
section.about .left-col {
  width: 84%;
  margin-bottom: 18px;
  max-width: 640px;
}
section.about .left-col .bg-h2 {
  background: url(../img/top/about-h2.svg) left bottom no-repeat;
  background-size: contain;
}
section.about .img-col {
  width: 100%;
  max-width: 600px;
  margin-top: 40px;
}
section.about .img-col img.top-img {
  width: 100%;
  margin-bottom: 5px;
}
section.about .img-col .two-img {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
section.about .img-col .two-img img {
  width: calc(50% - 2.5px);
}
@media screen and (min-width: 801px) {
  section.about {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 150px auto 200px;
  }
  section.about img.pc-img {
    display: unset;
  }
  section.about img.mobile-img {
    display: none;
  }
  section.about .img-col {
    width: 49%;
    max-width: 766px;
    margin: 0 5%;
  }
  section.about .left-col {
    width: 39%;
    max-width: 640px;
    margin-left: 2%;
  }
  section.about .left-col p {
    line-height: 220%;
  }
}
@media screen and (min-width: 2000px) {
  section.about {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

section.points {
  background: url(../img/top/point-bg-sp.webp) center no-repeat;
  background-size: cover;
  padding: 50px 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.points .content-container {
  width: 84%;
  max-width: 572px;
  text-align: center;
  margin-bottom: 26px;
}
section.points .content-container .uptitle {
  color: #1677B1;
  letter-spacing: 0.065em;
  margin: 30px 0 20px;
}
section.points .content-container .uptitle .deco {
  height: 100%;
  width: auto;
  margin: 0.2em;
}
section.points .content-container .uptitle .inner-text p {
  line-height: 60%;
  font-family: "Noto Nastaliq Urdu", "Noto Sans JP", Noto Sans JP, Meiryo, sans-serif;
  font-weight: 700;
  font-size: 30px;
}
section.points .point-container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.points .point-container .point {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  width: clamp(150px,20vw,232px);
  height: clamp(150px,20vw,232px);
  border-radius: 50%;
  border: 2px solid #1677B1;
  margin-bottom: 25px;
  background-color: #ffffff;
  background-image: url(../img/top/point.webp);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
  color: #1677B1;
}
section.points .point-container .point .p-28 {
  margin-top: 1.5em;
}
section.points .point-container .point .p-38 {
  margin-top: 0.6em;
}
section.points .point-container .point .p-25 {
  margin-top: 0.4em;
  line-height: 120%;
}
@media screen and (min-width: 801px) {
  section.points {
    background: url(../img/top/point-bg.webp) center no-repeat;
    background-size: cover;
    padding: 60px 0;
  }
  section.points .content-container {
    margin-bottom: 36px;
  }
  section.points .content-container p.text-block {
    margin-top: 1em;
  }
  section.points .point-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 1000px;
    max-width: 96%;
  }
}

section.company {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1200px;
  max-width: 88%;
  margin: clamp(80px, 20vw,200px) auto clamp(80px,10vw, 160px);
}
section.company .bg-h2 {
  background: url(../img/top/company-h2.svg) left bottom no-repeat;
  background-size: contain;
  margin: 0 auto;
  width: clamp(342px,40vw,530px);
}
section.company .company-schedule {
  width: 100%;
  margin-top: clamp(40px,6vw,60px);
}
section.company .label-col,
section.company .date-col {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
section.company .label-col {
  width: clamp(70px,10vw,100px);
}
section.company .label-col .top-row {
  border-right: 1px solid #40ADC7;
}
section.company .date-col {
  width: calc(100% - clamp(70px,10vw,100px));
}
section.company .date-col .top-row {
  border-left: 1px solid #40ADC7;
  font-size: clamp(15px,2vw,23px);
  font-weight: bold;
}
section.company .date-col .top-row .day-jp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 0.2em;
  font-size: clamp(15px,2vw,18px);
  border-radius: 50%;
  color: #40ADC7;
  background-color: #ffffff;
  width: 1.6em;
  height: 1.6em;
}
section.company .top-row,
section.company .time-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background-color: #40ADC7;
  border: 1.5px solid #D6D6D6;
  color: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
section.company .top-row {
  height: clamp(36px,5vw,50px);
}
section.company .time-label {
  height: 150px;
  font-size: clamp(15px,2vw,18px);
  line-height: 120%;
}
section.company .time {
  overflow-y: scroll;
}
section.company .time-card {
  height: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(12px,2vw,20px) 8% 24px;
  border: 1.5px solid #D6D6D6;
}
section.company .time-card .cat {
  font-size: clamp(14px,2vw,15px);
  border-radius: 1em;
  padding: 0.1em 1.5em;
  color: #ffffff;
  background-color: #40ADC7;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  margin-bottom: 0.1em;
}
section.company .time-card p.annotation {
  text-align: center;
  font-size: clamp(14px,2vw,15px);
  font-weight: bold;
}
section.company .time-card h3.title {
  border-bottom: 1px solid #D6D6D6;
  font-size: clamp(16px,2vw,20px);
  text-align: center;
}
section.company .time-card p.subtitle {
  font-size: clamp(15px,2vw,17px);
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.2em;
}
section.company .time-card img.thumbnail {
  width: 80%;
  margin: 0 auto;
  -ms-flex-item-align: center;
      align-self: center;
}
section.company .time-card h4.excerpt-title {
  font-size: 15px;
  margin: 0.5em 0 0.2em;
}
section.company .time-card p.excerpt {
  font-size: 15px;
  line-height: 140%;
}
section.company .time-card a.vm-btn {
  -ms-flex-item-align: center;
      align-self: center;
  background-color: #40ADC7;
  font-size: 14px;
  font-weight: bold;
  padding: 0.1em 2.5em;
  letter-spacing: 0.1em;
  border-radius: 22px;
  color: #ffffff;
  margin-top: 1em;
  background-image: url(../img/common/vm-arrow-w.svg);
  background-position: right 1em center;
  background-repeat: no-repeat;
  background-size: 0.6em;
}
section.company .control-panel {
  display: none;
}
@media screen and (max-width: 800px) {
  section.company .control-panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 185px;
    margin: 30px auto 0 auto;
  }
  section.company .control-panel button {
    width: 100%;
    text-align: center;
    border: 1px solid #40ADC7;
    color: #40ADC7;
    font-size: 18px;
    font-weight: bold;
    border-radius: 20px;
    background-color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.3em 0;
    margin-bottom: 12px;
  }
  section.company .control-panel button .day-jp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: 0.5em;
    font-size: clamp(15px,2vw,18px);
    border-radius: 50%;
    color: #ffffff;
    background-color: #40ADC7;
    width: 1.6em;
    height: 1.6em;
  }
  section.company .control-panel button.active-btn {
    background-color: #40ADC7;
    color: #ffffff;
  }
  section.company .control-panel button.active-btn .day-jp {
    color: #40ADC7;
    background-color: #ffffff;
  }
  section.company .date-col {
    display: none;
  }
  section.company .date-col.active-col {
    display: unset;
  }
}
@media screen and (min-width: 801px) {
  section.company .date-col {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc((100% - clamp(70px,10vw,100px))/3);
  }
}

section.flow {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1400px;
  max-width: 92%;
}
section.flow .bg-h2 {
  background: url(../img/top/flow-h2.svg) left bottom no-repeat;
  background-size: contain;
  margin: 0 auto;
  width: clamp(200px,30vw,300px);
}
section.flow .card-container {
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 60px auto 0 auto;
}
section.flow .card-container .card {
  max-width: 100%;
  width: clamp(244px,25vw,310px);
  min-height: clamp(251px,50vw,436px);
  border-radius: 18px;
  -webkit-box-shadow: 1px 5px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 1px 5px 12px rgba(0, 0, 0, 0.16);
  padding: 20px 0;
  margin: 0 5px 25px 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
section.flow .card-container .card:last-child {
  margin-bottom: 0;
}
section.flow .card-container .card .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(104px,10vw,164px);
  height: clamp(104px,10vw,164px);
  background-color: #FE9D9D;
  border-radius: 50%;
}
section.flow .card-container .card .icon img {
  width: 61%;
}
section.flow .card-container .card .icon.reduce-width img {
  width: 47%;
}
section.flow .card-container .card p.step {
  font-weight: bold;
  color: #FE9D9D;
  margin: 1em 0 0.4em;
  font-family: "Noto Sans", sans-serif;
}
section.flow .card-container .card h4 {
  line-height: 150%;
}
section.flow .card-container .card p.subtitle {
  margin-top: 0.6em;
  line-height: 150%;
}
section.flow .container-subtitle {
  margin: 1em 1em 0 1em;
  -ms-flex-item-align: start;
      align-self: flex-start;
  max-width: 1052px;
}
@media screen and (min-width: 801px) {
  section.flow .card-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  section.flow .card-container .card {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 auto;
  }
}

section.entry {
  text-align: center;
  background-color: #FCE301;
  margin: 70px 0 80px;
}
section.entry .text-col {
  padding: 42px 0;
  margin: 0 auto;
  color: #009389;
}
section.entry .text-col p.text-block {
  font-size: clamp(18px,3vw,30px);
  max-width: 630px;
  width: 82%;
  margin: 0 auto 1em;
}
section.entry .text-col .a-btn {
  margin: 0 auto;
  border-radius: 44px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.28);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.28);
}
section.entry .text-col h2 {
  font-size: clamp(45px,10vw,109px);
  margin-bottom: 0.1em;
}
@media screen and (min-width: 801px) {
  section.entry {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  section.entry .text-col {
    margin: 0 clamp(50px,10%,150px) 0 auto;
    text-align: start;
  }
  section.entry .text-col p.text-block {
    width: auto;
    margin-bottom: 2em;
    line-height: 155%;
  }
  section.entry .text-col .a-btn {
    margin: 0;
  }
  section.entry .img-col {
    position: relative;
    display: block;
    width: 45%;
    max-width: 808px;
    height: 500px;
    background: url(../img/top/entry-1.webp) center right no-repeat;
    background-size: cover;
  }
}

section.link .bg-h2 {
  background: url(../img/top/link-h2.svg) left bottom no-repeat;
  background-size: contain;
  margin: 0 auto;
  width: clamp(200px,30vw,270px);
}
section.link .flex-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1000px;
  width: 90%;
  margin: 100px auto;
}
section.link .flex-link .link-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media screen and (min-width: 801px) {
  section.link .flex-link .link-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%;
  }
}
/*# sourceMappingURL=top.css.map */