.p-top_mv {
  position: relative;
}
.slider li {
  width: 100%;
  object-fit: cover;
}
.p-mv_box01 {
  background: url(../img/top_mv01.webp) no-repeat;
  aspect-ratio: 1920/970;
  background-size: cover;
}
.p-mv_box02 {
  background: url(../img/top_mv02.webp) no-repeat;
  background-size: cover;
  aspect-ratio: 1920/970;
}
.p-mv_box03 {
  background: url(../img/top_mv03.webp) no-repeat;
  background-size: cover;
  aspect-ratio: 1920/970;
}
.p-bg {
  position: relative;
}
.p-bg::before {
  content: "";
  background-color: #f4f4f4;
  clip-path: polygon(0 0, 16% 0, 50% 100%, 0% 100%);
  height: calc(1375 / 1920 * 100vw);
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  top: calc(-100 / 1920 * 100vw);
}
.p-top__ttl {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: calc(122 / 1920 * 100vw);
}
.p-top__ttl h1 {
  font-size: min(calc(60 / 1920 * 100vw), 6rem);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.9rem;
  line-height: 1.6;
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
  margin-bottom: calc(10 / 1920 * 100vw);
}
.p-top__ttl p {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  color: #fff;
  text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}
.p-top__news {
  margin: calc(100 / 1920 * 100vw) auto;
}
.p-top__news .c-top__ttl {
  width: calc(1280 / 1920 * 100vw);
  margin: 0 auto;
}
.p-top__news p {
  text-align: center;
}
.p-top__news--lead {
  margin: calc(40 / 1920 * 100vw) 0 0;
  font-weight: 700;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
}
.t-news__list ul {
  max-width: calc(1600 / 1920 * 100vw);
  margin: calc(80 / 1920 * 100vw) auto calc(70 / 1920 * 100vw) auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(20 / 1920 * 100vw);
}
.t-news__list li {
  width: calc(516 / 1920 * 100vw);
}

.date {
  font-size: min(calc(22 / 1920 * 100vw), 2.2rem);
  color: #266ead;
  text-align: left !important;
}
.news-title {
  color: #333;
  text-align: left !important;
}
.view {
  color: #333;
  text-align: right !important;
}
.t-news__list img {
  width: calc(516 / 1920 * 100vw);
  width: 100%;
  height: auto;
  object-fit: cover;
}
.t-concept__box {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
}
.t-concept__box img {
  width: calc(988 / 1920 * 100vw);
}
.t-concept__lead {
  background-color: #fff;
  box-shadow: 0 4px 4px rgb(0, 0, 0, 0.5);
  width: calc(918 / 1920 * 100vw);
  padding: calc(30 / 1920 * 100vw) calc(60 / 1920 * 100vw);
  position: absolute;
  left: calc(120 / 1920 * 100vw);
  top: calc(270 / 1920 * 100vw);
}
.t-concept__lead .c-top__ttl {
  border-bottom: solid #333 1px;
  padding: 0 0 calc(20 / 1920 * 100vw);
	width:100%;
}
.t-concept__lead .c-btn {
  margin-top: calc(40 / 1920 * 100vw);
}
.t-concept_bold {
  font-weight: 700;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  padding: calc(20 / 1920 * 100vw) 0 calc(10 / 1920 * 100vw);
}
.p-top__school {
  margin: calc(226 / 1920 * 100vw) 0;
}

.t-school__lead {
  width: calc(1080 / 1920 * 100vw);
  margin: calc(80 / 1920 * 100vw) auto calc(70 / 1920 * 100vw);
}

.t-school__bold {
  font-weight: 700;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  margin-bottom: calc(10 / 1920 * 100vw);
}
.t-school__box {
  display: flex;
  /* max-width: calc(1490 / 1920 * 100vw); */
  margin: 0 auto calc(100 / 1920 * 100vw);
  justify-content: center;
  gap: calc(35 / 1920 * 100vw);
}
.t-school__01,
.t-school__02 {
  position: relative;
  color: #fff;
}
.t-school__time {
  position: absolute;
  top: calc(10 / 1920 * 100vw);
  left: calc(20 / 1920 * 100vw);
  text-align: center;
}
.t-school__txt {
  position: absolute;
  bottom: calc(50 / 1920 * 100vw);
  left: calc(80 / 1920 * 100vw);
}
.t-school__box02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: calc(720 / 1920 * 100vw);
}
.t-school__time p {
  font-size: min(calc(15 / 1920 * 100vw), 1.5rem);
  color: #fff;
}
.t-school__time h1 {
  font-size: min(calc(52 / 1920 * 100vw), 5.2rem);
}
.t-school__01 img {
  width: calc(731 / 1920 * 100vw);
}
.t-school__box02 .t-school__txt {
  left: calc(20 / 1920 * 100vw);
  bottom: calc(30 / 1920 * 100vw);
}
.t-school__txt p {
  color: #fff;
}
.t-school__box02 img {
  width: calc(350 / 1920 * 100vw);
}

.p-top__school .c-btn {
  width: calc(283 / 1920 * 100vw);
}

.p-top__qa .c-top__ttl {
  justify-content: center;
}
.p-top__qa p {
  text-align: center;
}
.p-top__qa--txt {
  margin-top: calc(60 / 1920 * 100vw);
}
.accordion-container {
  margin: calc(60 / 1920 * 100vw) 0 calc(70 / 1920 * 100vw);
}
.accordion-content {
  padding: calc(40 / 1920 * 100vw) calc(35 / 1920 * 100vw)
    calc(40 / 1920 * 100vw) 0px;
}
.accordion-content p {
  font-size: min(calc(20 / 1920 * 100vw), 2rem);
  text-align: left;
  font-weight: 400;
}
.accordion-item {
  margin-bottom: 10px;
  width: calc(1280 / 1920 * 100vw);
  margin: 0 auto;
}
/* 矢印 */
.accordion-title {
  position: relative;
  display: block;
  position: relative;
  color: #313e4e;
  cursor: pointer;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  padding: calc(26 / 1920 * 100vw) calc(55 / 1920 * 100vw);
  font-weight: 500;
  background-color: #dae7f6;
}
.accordion-title::before {
  position: absolute;
  left: calc(20 / 1920 * 100vw);
  content: "Q";
  font-size: min(calc(30 / 1920 * 100vw), 3rem);
  top: 50%;
  transform: translate(0, -50%);
  color: #266ead;
}
.accordion-item .btn {
  position: absolute;
  top: 53%;
  right: 5%;
  width: calc(40 / 1920 * 100vw);
  transform-origin: center center;
  transition-duration: 0.2s;
}
.answer {
  display: block;
  padding: 0 calc(20 / 1920 * 100vw) 0 calc(60 / 1920 * 100vw);
  position: relative;
  line-height: 1.5;
}
.answer::before {
  position: absolute;
  left: calc(30 / 1920 * 100vw);
  content: "A";
  top: 50%;
  transform: translate(0, -50%);
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  color: #e71f29;
}

.p-top__qa .c-btn {
  width: calc(267 / 1920 * 100vw);
  margin: 0 auto calc(220 / 1920 * 100vw);
}

.p-top__about {
  padding: calc(100 / 1920 * 100vw) 0;
  background-color: #e6f3ff;
}
.p-top__about .c-top__ttl {
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.p-top__about--center {
  text-align: center;
  font-weight: 700;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  margin-bottom: calc(40 / 1920 * 100vw);
}
.t-about__box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: calc(122 / 1920 * 100vw);
  position: relative;
}
.t-about__box02 .t-about__lead {
  position: absolute;
  top: calc(20 / 1920 * 100vw);
  right: calc(170 / 1920 * 100vw);
}
.t-about__lead {
  background-color: #fff;
  padding: calc(20 / 1920 * 100vw) calc(40 / 1920 * 100vw)
    calc(40 / 1920 * 100vw);
  width: calc(900 / 1920 * 100vw);
  margin: calc(20 / 1920 * 100vw) calc(-20 / 1920 * 100vw) 0 0;
  position: relative;
}
.t-about__lead h1,
.t-about__lead h3 {
  color: #e71f29;
}

.t-about__lead h1 {
  font-size: min(calc(40 / 1920 * 100vw), 4rem);
}
.t-about__lead h3 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  line-height: 2;
  margin: calc(58 / 1920 * 100vw) 0 0;
}
.t-about__box img {
  width: calc(840 / 1920 * 100vw);
}
.p-top__company {
  padding: calc(100 / 1920 * 100vw) 0 0;
}
.t-company__txt {
  width: calc(982 / 1920 * 100vw);
  margin: calc(60 / 1920 * 100vw) auto calc(40 / 1920 * 100vw);
}
.t-company__txt h3 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  margin-bottom: calc(20 / 1920 * 100vw);
}
.t-comoany__box {
  display: flex;
  justify-content: center;
  gap: calc(60 / 1920 * 100vw);
  font-size: min(calc(18 / 1920 * 100vw), 1.8rem);
}

.t-company__list dl {
  display: flex;
  align-items: center;
  border-bottom: solid 1px #333;
}
.t-company__list dt {
  width: calc(156 / 1920 * 100vw);
  padding: calc(20 / 1920 * 100vw) 0;
}
.t-company__sns {
  display: flex;
  margin-top: calc(45 / 1920 * 100vw);
}
.t-company__sns ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / 1920 * 100vw);
}
.t-facebook img {
  width: calc(24 / 1920 * 100vw);
}
.t-instagram img {
  width: calc(46 / 1920 * 100vw);
}
.t-google img {
  width: calc(34 / 1920 * 100vw);
}

.t-company__sns .c-btn {
  margin: 0 0 0 auto;
}

.p-top__company .map {
  width: calc(727 / 1920 * 100vw);
  aspect-ratio: 727/558;
}

.t-company__box {
  display: flex;
  justify-content: center;
  gap: calc(20 / 1920 * 100vw);
  margin: calc(254 / 1920 * 100vw) auto;
  align-items: flex-start;
}

.t-company__box img {
  width: calc(752 / 1920 * 100vw);
}
.t-company__lead {
  width: calc(654 / 1920 * 100vw);
}
.t-company__lead h3 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  line-height: 2;
  margin-bottom: calc(10 / 1920 * 100vw);
}
.t-company__lead .c-btn {
  margin-top: calc(100 / 1920 * 100vw);
}

.p-top__contact {
  background: url(../img/contact_bg.webp) no-repeat;
  aspect-ratio: 1920/700;
  background-size: contain;
  padding: calc(80 / 1920 * 100vw) 0 0;
}
.p-top__contact .c-top__ttl {
  flex-direction: column;
  align-items: center;
}
.p-top__contact .c-top__ttl h1 {
  color: #fff;
}
.t-contact__box {
  display: flex;
  justify-content: center;
  gap: calc(120 / 1920 * 100vw);
  margin-top: calc(80 / 1920 * 100vw);
}
.t-contact__box p {
  color: #fff;
  width: calc(730 / 1920 * 100vw);
}
.t-contact__right {
  width: calc(380 / 1920 * 100vw);
}

.t-contact__btn {
  width: calc(374 / 1920 * 100vw);
  padding: calc(20 / 1920 * 100vw) 0;
}
.t-contact__btn a {
  display: flex;
  justify-content: center;
  color: #fff;
}
.tel img {
  width: calc(45 / 1920 * 100vw);
}
.mail img {
  width: calc(37 / 1920 * 100vw);
}
.tel {
  background-color: #266ead;
  margin-bottom: calc(40 / 1920 * 100vw);
}
.tel a {
  font-size: min(calc(30 / 1920 * 100vw), 3rem);
  font-weight: 700;
  letter-spacing: 0.2rem;
}
.mail {
  background-color: #e71f29;
}
.mail a {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
}
@media screen and (max-width: 768px) {
  .p-mv_box01 {
    background: url(../img/top_mv01_sp.webp) no-repeat;
    aspect-ratio: 430/877;
    background-size: cover;
  }
  .p-mv_box02 {
    background: url(../img/top_mv02_sp.webp) no-repeat;
    background-size: cover;
    aspect-ratio: 430/877;
  }
  .p-mv_box03 {
    background: url(../img/top_mv03_sp.webp) no-repeat;
    background-size: cover;
    aspect-ratio: 430/877;
  }
  .p-top__ttl {
    top: 500px;
  }
  .p-top__ttl h1 {
    font-size: 2.4rem;
  }
  .p-top__ttl p {
    font-size: 1.8rem;
  }
  .p-top__news {
    margin: 100px 4%;
  }
  .c-top__ttl h1 {
    font-size: 3rem;
  }
  .p-top__news p {
    text-align: left;
  }
  .p-top__news--lead {
    font-size: 1.6rem;
  }
  .t-concept__lead {
    position: static;
  }
  .p-top__news .c-top__ttl {
    width: auto;
  }
  .t-news__list ul {
    max-width: unset;
    margin: 60px 0;
    display: block;
  }
  .t-news__list li {
    width: auto;
    margin-bottom: 40px;
  }
  .t-news__list img {
    width: auto;
  }
  .date {
    font-size: 1.6rem;
  }
  .view {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .t-concept__box {
    flex-direction: column-reverse;
  }
  .t-concept__lead {
    width: auto;
    margin: -60px 4% 0;
  }
  .t-concept__box img {
    width: auto;
  }
  .t-concept__lead .c-top__ttl {
    text-align: center;
    padding-bottom: 20px;
  }
  .t-concept__lead p {
    line-height: 1.6;
  }
  .t-concept_bold {
    padding: 20px 0 10px;
    font-size: 2rem;
  }
  .t-concept__lead .c-btn {
    margin: 40px auto;
  }
  .p-top__school {
    margin: 200px 4% 0;
  }
  .t-school__lead {
    width: auto;
    margin: 40px 0;
  }
  .t-school__txt {
    left: 0;
    padding: 0 4%;
  }
  .t-school__bold {
    font-size: 2rem;
  }
  .t-school__box {
    display: block;
  }
  .t-school__01 img {
    width: auto;
  }
  .t-school__time p {
    font-size: 1.6rem;
  }
  .t-school__time h1 {
    font-size: 4rem;
  }
  .t-school__01,
  .t-school__02 {
    margin-bottom: 20px;
  }
  .t-school__box02 {
    display: block;
    width: auto;
  }
  .t-school__box02 img {
    width: auto;
  }
  .p-top__school .c-btn {
    width: 244px;
  }
  .p-top__qa {
    max-width: unset !important;
    margin: 200px 4% 100px !important;
  }
  .p-top__qa .c-top__ttl {
    text-align: center;
  }
  .p-top__qa p {
    text-align: left;
    margin: 40px 0;
  }
  .accordion-item {
    width: auto;
  }
  .accordion-title {
    padding: 20px 10px 20px 30px;
    font-size: 1.6rem;
  }
  .accordion-title::before {
    left: 10px;
    font-size: 2rem;
  }
  .accordion-content .answer {
    margin: 0;
  }
  .accordion-content p {
    font-size: 1.6rem;
  }
  .answer::before {
    font-size: 2rem;
    left: 10px;
  }
  .answer {
    padding: 10px 10px 10px 30px;
  }
  .p-top__qa .c-btn {
    width: 267px;
  }
  .p-top__about {
    padding: 80px 0% 40px;
  }
  .p-top__about .c-top__ttl {
    text-align: center;
  }
  .p-top__about--center {
    text-align: left;
    padding: 0 4% 40px;
    font-size: 2rem;
  }
  .t-about__box {
    flex-direction: column-reverse;
    margin-bottom: 40px;
  }
  .t-about__lead {
    width: auto;
    padding: 20px 4%;
    margin: -40px 4% 0;
  }
  .t-about__box img {
    width: auto;
  }
  .t-about__box02 .t-about__lead {
    position: static;
  }
  .t-about__lead h1 {
    font-size: 3rem;
  }
  .t-about__lead h3 {
    font-size: 2rem;
    margin: 20px 0;
  }
  .p-top__company {
    padding: 60px 4%;
  }
  .t-company__txt h3 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .t-company__txt {
    width: auto;
    margin: 60px 0;
  }
  .t-comoany__box {
    display: block;
  }
  .t-company__list dl {
    font-size: 1.6rem;
    display: block;
    text-align: left;
  }
  .t-company__list dt {
    width: 100%;
    padding: 15px 0;
    border-bottom: solid 1px #333;
  }
  .t-company__list dd {
    width: 100%;
    padding: 15px 0;
  }
  .t-company__sns {
    margin: 40px 0;
    display: block;
  }
  .t-company__sns ul {
    gap: 20px;
  }
  .t-facebook img {
    width: 20px;
  }
  .t-instagram img {
    width: 36px;
  }
  .t-google img {
    width: 26px;
  }
  .t-company__sns .c-btn {
    margin: 40px auto;
  }
  .p-top__company .map {
    width: auto;
    aspect-ratio: 430/442;
  }
  .t-company__box {
    flex-direction: column;
    margin: 40px 0;
  }
  .t-company__box img {
    width: auto;
  }
  .t-company__lead {
    width: auto;
  }
  .t-company__lead h3 {
    font-size: 2rem;
    margin: 20px 0;
  }
  .t-company__lead .c-btn {
    margin: 40px auto 0;
  }
  .p-top__contact {
    background: url(../img/contact_bg_sp.webp) no-repeat;
    background-size: cover;
    padding: 40px 4%;
  }
  .p-top__contact .c-top__ttl {
    text-align: center;
  }
  .t-contact__box {
    display: block;
    margin-top: 40px;
  }
  .t-contact__box p {
    width: auto;
  }
  .t-contact__right {
    width: auto;
    margin: 40px 0 20px;
  }
  .t-contact__btn {
    width: auto;
    padding: 20px 0;
  }
  .t-contact__btn a {
    align-items: center;
  }
  .tel {
    margin-bottom: 20px;
  }
  .tel a {
    font-size: 2rem;
    gap: 20px;
  }
  .tel img {
    width: 45px;
  }
  .mail a {
    font-size: 2rem;
    gap: 20px;
  }
  .mail img {
    width: 37px;
  }
}
/* --------------
concept
---------------------*/
.p-mv {
  position: relative;
}
.mv {
  aspect-ratio: 1920/515;
  background: url(../img/mv.webp) no-repeat center;
  background-size: cover;
}
.p-mv_ttl {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-mv_ttl h1 {
  color: #fff;
  font-size: min(calc(60 / 1920 * 100vw), 6rem);
  white-space: nowrap;
  font-weight: 500;
  text-align: center;
  letter-spacing: 1.2rem;
}
.p-mv_ttl h3 {
  color: #fff;
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  font-weight: 400;
  text-align: center;
}
.p-ttl {
  background: url(../img/ttl_bg.webp) no-repeat;
  background-size: contain;
  width: calc(1280 / 1920 * 100vw);
  margin: calc(90 / 1920 * 100vw) auto calc(40 / 1920 * 100vw);
  position: relative;
  aspect-ratio: 1280/211;
}
.p-ttl h1 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: min(calc(48 / 1920 * 100vw), 4.8rem);
  font-weight: 700;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.p-concept__flex {
  display: flex;
  justify-content: end;
  align-items: center;
}

.p-concept__lead {
  background-color: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.5);
  padding: calc(20 / 1920 * 100vw) calc(60 / 1920 * 100vw);
  width: calc(922 / 1920 * 100vw);
  margin-top: calc(190 / 1920 * 100vw);
  margin-right: calc(-383 / 1920 * 100vw);
  position: relative;
}
.p-concept__lead h3 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  font-weight: 700;
  padding: calc(20 / 1920 * 100vw) 0;
}
.p-concept .c-top__ttl {
  border-bottom: solid #333 1px;
  padding: calc(20 / 1920 * 100vw) 0;
	width:100%;
}
.p-concept__bg {
  position: relative;
}
.p-concept__bg::before {
  content: "";
  background-color: #f4f4f4;
  /* height: calc(2780 / 1920 * 100vw); */
  clip-path: polygon(20% 0, 0% 0%, 0% 100%, 100% 100%);
  width: 100%;
  z-index: -1;
  position: absolute;
  top: calc(510 / 1920 * 100vw);
  left: 0;
  aspect-ratio: 1920 / 5113;
}
.p-concept__box {
  margin: calc(90 / 1920 * 100vw) 0 calc(200 / 1920 * 100vw);
}
.p-concept__box img {
  width: calc(1149 / 1920 * 100vw);
}
.concept__ttl {
  color: #266ead;
  text-align: center;
}
.concept__ttl h1 {
  font-size: min(calc(80 / 1920 * 100vw), 8rem);
}
.concept__ttl h3 {
  font-size: min(calc(30 / 1920 * 100vw), 3rem);
  margin: calc(40 / 1920 * 100vw) 0 calc(70 / 1920 * 100vw);
}
.p-concept__list {
  margin-bottom: calc(100 / 1920 * 100vw);
}
.p-concept__list .p-concept__flex {
  justify-content: center;
  align-items: flex-start;
  gap: calc(75 / 1920 * 100vw);
}
.p-concept__list img {
  width: calc(600 / 1920 * 100vw);
}
.p-concept__list p {
  width: calc(600 / 1920 * 100vw);
  text-align: left;
}

.p-concept__txt {
  width: calc(1200 / 1920 * 100vw);
  margin: 0 auto calc(200 / 1920 * 100vw);
}

.p-concept__table {
  max-width: calc(1280 / 1920 * 100vw);
  margin: calc(100 / 1920 * 100vw) auto calc(40 / 1920 * 100vw);
}
.p-concept__table table {
  margin: calc(40 / 1920 * 100vw) 0;
  border: solid 1px #333;
}
.p-concept__table th {
  font-size: min(calc(16 / 1920 * 100vw), 1.6rem);
  font-weight: 400;
  padding: calc(20 / 1920 * 100vw);
  width: calc(137 / 1920 * 100vw);
  border-bottom: solid 1px #333;
  border-right: solid #333 1px;
}
.p-concept__table td {
  font-size: min(calc(16 / 1920 * 100vw), 1.6rem);
  font-weight: 400;
  padding: calc(20 / 1920 * 100vw);
  border-right: 1px #333 solid;
  border-bottom: solid 1px #333;
}
td:nth-of-type(odd) {
  background-color: #e6f3ff;
}
.p-concept__white {
  background-color: #fff !important;
}
.p-concept__blue {
  background-color: #e6f3ff !important;
}
.p-concept__table li {
  font-size: min(calc(16 / 1920 * 100vw), 1.6rem);
  margin-bottom: calc(10 / 1920 * 100vw);
}
.p-top__qa {
  max-width: calc(1280 / 1920 * 100vw);
  margin: calc(250 / 1920 * 100vw) auto 0;
}
.p-top__qa h3 {
}
.p-concept__qa--txt {
  width: calc(1150 / 1920 * 100vw);
  margin: calc(40 / 1920 * 100vw) auto;
}
.p-concept__qa--txt,
.p-concept__qa--txt p {
  text-align: left !important;
}
.p-concept .p-top__qa h3 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  font-weight: 700;
}
.p-top__qa .answer {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .mv {
    aspect-ratio: 430/890;
    background: url(../img/mv_sp.webp) no-repeat center;
    background-size: cover;
  }
  .p-mv_ttl h1 {
    font-size: 4rem;
  }
  .p-mv_ttl h3 {
    font-size: 2rem;
  }
  .p-mv_ttl {
    top: 50%;
  }
  .p-concept__box {
    margin: 40px 4%;
  }
  .p-concept__flex {
    flex-direction: column-reverse;
  }
  .p-concept__lead {
    width: auto;
    margin: 0;
    padding: 20px 4%;
    margin: -40px 4% 0;
  }
  .p-concept__box img {
    width: auto;
  }
  .p-concept__lead h3 {
    font-size: 2rem;
    padding: 20px 0 10px;
  }
  .p-concept__list {
    padding: 0 4%;
  }
  .concept__ttl h1 {
    font-size: 3rem;
  }
  .concept__ttl h3 {
    font-size: 1.8rem;
    margin: 20px 0;
  }
  .p-concept__list .p-concept__flex {
    flex-direction: column;
  }
  .p-concept__list img,
  .p-concept__list p {
    width: auto;
  }
  .p-concept__txt {
    width: auto;
    margin: 0 4% 40px;
  }
  .p-concept__table {
    max-width: unset;
    margin: 40px 4%;
  }
  .p-concept__table table {
    margin: 40px 0 0;
  }
  .p-concept__table th {
    font-size: 1.6rem;
    padding: 10px;
    white-space: nowrap;
  }
  .table__box {
    overflow-x: auto;
    display: block;
  }
  .p-concept__table td {
    font-size: 1.6rem;
    white-space: nowrap;
    padding: 10px;
  }
  .p-concept__table ul {
    margin: 40px 0 0;
  }
  .p-concept__table li {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .p-concept .p-top__qa {
    margin: 60px 4% !important;
  }
  .p-concept .p-top__qa h3 {
    font-size: 1.6rem;
  }
  .p-concept__qa--txt,
  .p-concept__qa--txt p {
    width: auto;
    margin: 20px 0;
  }
}
/* --------------
company
-----------------*/
.p-company__bg {
  position: relative;
}
.p-company__bg::before {
  content: "";
  background-color: #f4f4f4;
  clip-path: polygon(20% 0%, 0% 0, 0% 100%, 100% 100%);
  aspect-ratio: 1920/4800;
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  top: calc(-100 / 1920 * 100vw);
}
.p-company {
  max-width: calc(1280 / 1920 * 100vw);
  margin: calc(90 / 1920 * 100vw) auto calc(207 / 1920 * 100vw);
  position: relative;
}
.p-company__lead {
  margin: calc(122 / 1920 * 100vw) 0;
}
.p-company__lead h3 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  font-weight: 700;
}
.p-company__center {
  text-align: center;
  margin: calc(60 / 1920 * 100vw) 0 calc(80 / 1920 * 100vw);
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
}
.p-company .map {
  width: calc(640 / 1920 * 100vw);
  aspect-ratio: 640/733;
}
.p-company .t-company__list {
  width: calc(568 / 1920 * 100vw);
}
.p-company__related {
  margin: calc(122 / 1920 * 100vw) 0;
}
.p-company__related--list {
  margin: calc(50 / 1920 * 100vw) 0;
}

.p-company__related--list ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(80 / 1920 * 100vw) calc(20 / 1920 * 100vw);
}
.p-company__related--list li {
  width: calc(410 / 1920 * 100vw);
  position: relative;
}
.p-related__txt {
  font-size: min(calc(16 / 1920 * 100vw), 1.6rem);
  background-color: #266ead;
  position: absolute;
  top: 0;
  right: 0;
  padding: calc(5 / 1920 * 100vw) calc(10 / 1920 * 100vw);
}
.p-related__txt p {
  color: #fff;
}
.p-company__related--list li h4 {
  background-color: #dbedff;
  padding: calc(20 / 1920 * 100vw);
  text-align: left;
  color: #333;
  line-height: 1.6;
}
.p-privacy {
  margin: calc(40 / 1920 * 100vw) 0;
}
.p-privacy__box {
  width: calc(1060 / 1920 * 100vw);
  margin: calc(100 / 1920 * 100vw) auto;
}
.p-privacy__lead {
  margin: calc(40 / 1920 * 100vw) 0;
}
.p-privacy__lead h3 {
  font-size: min(calc(20 / 1920 * 100vw), 2rem);
}


@media screen and (max-width: 768px) {
  .p-company__bg::before {
    clip-path: polygon(16% 0%, 0% 0, 0% 100%, 100% 100%);
    top: -60px;
    aspect-ratio: 430 / 5166;
  }
  .p-company {
    margin: 60px 4%;
    max-width: unset;
  }
  .p-company__lead h3 {
    font-size: 2rem;
    margin-bottom: 10px;
  }
  .p-company__center {
    font-size: 2rem;
  }
  .p-company .t-company__list {
    width: auto;
  }
  .p-company .map {
    width: auto;
  }
  .p-company__related {
    margin: 40px 0;
  }
  .p-company__related--list ul {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-company__related--list li {
    width: auto;
    margin-bottom: 10px;
  }
  .p-related__txt p {
    font-size: 1.2rem;
  }
  .p-company__related--list li h4 {
    font-size: 1.4rem;
  }
  .p-privacy {
    margin: 40px 0;
  }

  .p-privacy__box {
    width: auto;
    margin: 40px 0;
  }
  .p-privacy__lead {
    margin: 20px 0;
  }
  .p-privacy__lead h3 {
    font-size: 1.5rem;
  }
}
/* ------------
dorone
-----------------*/
.p-drone__inner {
  max-width: calc(1280 / 1920 * 100vw);
  margin: calc(90 / 1920 * 100vw) auto calc(207 / 1920 * 100vw);
}

.p-drone__sub-ttl {
  color: #266ead;
  background-color: #e6f3ff;
  padding: calc(20 / 1920 * 100vw) 0;
  text-align: center;
  width: calc(577 / 1920 * 100vw);
  margin: calc(70 / 1920 * 100vw) auto calc(100 / 1920 * 100vw);
  letter-spacing: 0.2rem;
}

.p-drone__flex {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(20 / 1920 * 100vw);
}
.p-drone__txt {
  width: calc(666 / 1920 * 100vw);
}
.p-drone__txt img {
  width: calc(420 / 1920 * 100vw);
  margin: 0 auto;
}
.p-drone__txt h3 {
  color: #266ead;
  text-align: center;
  margin-top: calc(20 / 1920 * 100vw);
}
.p-drone__txt p {
  margin: calc(60 / 1920 * 100vw) 0 calc(40 / 1920 * 100vw);
  letter-spacing: 0.1rem;
}


.p-drone__lead {
  border: solid 1px #333;
  background-color: #fff;
  padding: calc(10 / 1920 * 100vw);
  position: relative;
}

.p-drone__lead h3 {
  text-align: center;
  color: #333;
}
.red {
  color: #e71f29;
}
.p-drone__lead img {
  width: calc(245 / 1920 * 100vw);
  position: absolute;
  top: calc(-80 / 1920 * 100vw);
  right: calc(-220 / 1920 * 100vw);
  z-index: 99;
}
.p-drone__lead p {
  margin: calc(40 / 1920 * 100vw) 0 0;
}
.p-drone__img01 {
  width: calc(593 / 1920 * 100vw);
}
.p-drone__lead02 {
  margin: calc(110 / 1920 * 100vw) 0;
}
.p-point ul {
  display: flex;
  gap: calc(30 / 1920 * 100vw);
}
.p-point li {
  width: calc(360 / 1920 * 100vw);
  border: solid #e6f3ff 13px;
  position: relative;
  background-color: #fff;
  padding: calc(60 / 1920 * 100vw) calc(20 / 1920 * 100vw);
}
.p-point li::before {
  content: "";
  background: url(../img/point_01.webp) no-repeat;
  background-size: contain;
  width: calc(80 / 1920 * 100vw);
  aspect-ratio: 80/80;
  position: absolute;
  top: calc(-54 / 1920 * 100vw);
  left: 50%;
  transform: translate(-50%, 0);
}
.p-point h2 {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  text-align: center;
}
.p-point li img {
  margin: calc(20 / 1920 * 100vw) 0 calc(30 / 1920 * 100vw);
}

.p-point li:nth-of-type(2)::before {
  background: url(../img/point_02.webp) no-repeat;
  background-size: contain;
}
.p-point li:nth-of-type(3)::before {
  background: url(../img/point_03.webp) no-repeat;
  background-size: contain;
}
.p-drone__check {
  background-color: #dae7f6;
  margin: calc(120 / 1920 * 100vw) 0 0;
  padding: calc(30 / 1920 * 100vw) 0;
}

.p-drone__check01 {
  background-color: #fff;
  padding: calc(20 / 1920 * 100vw) calc(40 / 1920 * 100vw);
  margin-bottom: calc(100 / 1920 * 100vw);
}
.p-drone__check01 .p-drone__flex {
  justify-content: center;
  gap: calc(60 / 1920 * 100vw);
  margin: calc(60 / 1920 * 100vw) 0 calc(40 / 1920 * 100vw);
  align-items: center;
}
.p-drone__h3 h3 {
  background-color: #266ead;
  padding: calc(10 / 1920 * 100vw);
  text-align: center;
  color: #fff;
  font-size: min(calc(30 / 1920 * 100vw), 3rem);
}

.p-drone__check01 img {
  width: calc(512 / 1920 * 100vw);
}

.p-drone__check--txt {
  width: calc(580 / 1920 * 100vw);
}
.p-drone__check--txt ul {
  margin-top: calc(40 / 1920 * 100vw);
}
.p-drone__check--txt ul li {
  display: flex;
  gap: calc(20 / 1920 * 100vw);
  align-items: center;
  justify-content: flex-start;
  margin-bottom: calc(20 / 1920 * 100vw);
}
.p-drone__check--txt ul li img {
  width: calc(20 / 1920 * 100vw);
}
.p-drone__check--txt01 {
  width: calc(580 / 1920 * 100vw) !important;
  margin: 0 auto;
}
.p-drone__check--txt02 {
  width: calc(331 / 1920 * 100vw);
  margin: 0 auto;
}
.p-advance__box {
  margin-top: calc(20 / 1920 * 100vw);
}
.p-advance__box h2 {
  font-size: min(calc(22 / 1920 * 100vw), 2.2rem);
  margin-bottom: calc(60 / 1920 * 100vw);
}
.p-advance__box dl {
  font-size: min(calc(24 / 1920 * 100vw), 2.4rem);
  background-color: #fff;
  border: solid 1px #333;
  display: flex;
  /* height: calc(432 / 1920 * 100vw); */
  margin-bottom: calc(64 / 1920 * 100vw);
}
.p-advance__box dt {
  background-color: #e6f3ff;
  width: calc(164 / 1920 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-advance__box dd {
  padding: calc(30 / 1920 * 100vw) calc(10 / 1920 * 100vw) calc(20 / 1920 * 100vw)
    calc(60 / 1920 * 100vw);
}
.p-advance__box h3 {
  margin-bottom: calc(10 / 1920 * 100vw);
}
.p-advance__box img {
  width: calc(387 / 1920 * 100vw);
}

.p-advance__box .p-drone__flex {
  justify-content: space-between;
}
.p-advance__box01 {
  margin-bottom: calc(60 / 1920 * 100vw);
}
.p-drone__box04 dd {
  width: calc(418 / 1920 * 100vw);
  padding:calc(20 / 1920 * 100vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-advance__img {
  margin: calc(100 / 1920 * 100vw) 0 calc(200 / 1920 * 100vw);
}
.p-advance__img ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(20 / 1920 * 100vw);
}

.p-advance__chirashi {
  width: calc(595 / 1920 * 100vw);
  margin: 0 auto calc(200 / 1920 * 100vw);
}
.p-advance__chirashi .c-btn {
  width: calc(380 / 1920 * 100vw);
  margin: calc(60 / 1920 * 100vw) auto 0;
}

.p-achive__txt {
  margin: calc(80 / 1920 * 100vw) auto calc(100 / 1920 * 100vw);
  width: calc(1080 / 1920 * 100vw);
}

.p-achive__list ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(100 / 1920 * 100vw) calc(20 / 1920 * 100vw);
}

.p-achive__list p {
  letter-spacing: 0.1rem;
}
.p-achive__lead {
  margin: calc(170 / 1920 * 100vw) auto;
  border: solid 1px #266ead;
  padding: calc(20 / 1920 * 100vw) calc(40 / 1920 * 100vw);
  width: calc(1080 / 1920 * 100vw);
}
@media screen and (max-width: 768px) {
  .p-drone__inner {
    max-width: unset;
    margin: 60px 4%;
  }
  .p-drone__sub-ttl {
    padding: 15px 0;
    width: auto;
    line-height: 1.6;
    margin: 20px 0;
  }
  .p-drone__flex {
    flex-direction: column;
  }
  .p-drone__txt {
    width: auto;
  }
  .p-drone__txt img {
    width: auto;
  }
  .p-drone__txt h3 {
    margin-top: 20px;
    line-height: 1.6;
  }
  .p-drone__txt p {
    margin: 40px 0 20px;
  }
  .p-drone__lead {
    padding: 10px 20px;
    margin: 40px 0 10px;
  }
  .p-drone__lead img {
    width: 120px;
    top: -103px;
    right: -10px;
  }
  .p-drone__lead p {
    margin: 10px 0 0;
  }
  .p-drone__lead h3 {
    margin-top: 0;
    line-height: 1.6;
  }
  .p-drone__lead02 {
    margin: 10px 0 60px;
  }
  .p-drone__img01 {
    width: auto;
  }
  .p-point ul {
    display: block;
  }
  .p-point li {
    width: auto;
    border: solid #e6f3ff 8px;
    padding: 40px 4% 20px;
    margin-bottom: 60px;
  }
  .p-point li::before {
    width: 60px;
    top: -36px;
  }
  .p-point h2 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .p-drone__check01 {
    padding: 10px 4%;
  }
  .p-drone__h3 h3 {
    font-size: 2rem;
    padding: 10px 5px;
  }
  .p-drone__check01 .p-drone__flex {
    margin: 20px 0;
    gap: 20px;
  }
  .p-drone__check01 img,
  .p-drone__check--txt,
  .p-drone__check--txt01,
  .p-drone__check--txt01 {
    width: auto;
  }
  .p-drone__check--txt01 {
    width: auto !important;
  }
  .p-drone__check--txt02 {
    width: 240px !important;
  }
  .p-drone__check--txt ul {
    margin-top: 20px;
  }
  .p-drone__check--txt ul li {
    margin-bottom: 20px;
    gap: 10px;
  }
  .p-drone__check--txt ul li img {
    width: 15px;
  }
  .p-advance__box {
    margin-top: 40px;
  }
  .p-advance .c-ttl p {
    margin-top: 10px;
  }
  .p-advance__box dl {
    font-size: 1.6rem;
    height: unset;
  }
  .p-advance__box dt {
    width: 150px;
  }
  .p-advance__box dd {
    width: 100%;
    padding: 20px 4%;
  }
  .p-advance__box h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .p-advance__box h2 {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .p-advance__left p,
  .p-advance__box p {
    line-height: 1.6;
    margin-bottom: 10px;
  }
  .p-advance__box img {
    width: auto;
  }
  .p-advance__img ul {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-advance__chirashi {
    width: auto;
    margin: 0 0 60px;
  }
  .p-advance__chirashi .c-btn {
    width: 300px;
    margin: 40px auto 0;
  }
  .p-achive__txt {
    width: auto;
    margin: 20px auto 40px;
  }
  .p-achive__list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .p-achive__list p {
    font-size: 1.4rem;
  }
  .p-achive__lead {
    width: auto;
    padding: 20px 4%;
    margin: 40px 0;
  }
}
/* ------------
news
-----------------*/
.p-news {
  margin: calc(90 / 1920 * 100vw) auto;
  width: calc(1280 / 1920 * 100vw);
}
.p-news__list {
  margin: calc(80 / 1920 * 100vw) 0 calc(100 / 1920 * 100vw);
}
.p-news__list ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(100 / 1920 * 100vw) calc(20 / 1920 * 100vw);
}
.p-news__list img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.p-school__lead {
  margin: calc(100 / 1920 * 100vw) auto;
  width: calc(1080 / 1920 * 100vw);
}
.works-detail__img {
  width: calc(800 / 1920 * 100vw);
}
@media screen and (max-width: 768px) {
  .p-news {
    margin: 60px 4%;
    width: auto;
  }
  .p-news__list {
    margin: 40px 0;
  }
  .p-news__list ul {
    grid-template-columns: repeat(1, 1fr);
  }
  .p-school__lead {
    width: auto;
    margin: 20px 0;
  }
}
/* ---------------
contact
--------------------*/
.p-contact__bg {
  position: relative;
}
.p-contact__bg::before {
  content: "";
  background-color: #f4f4f4;
  clip-path: polygon(20% 0%, 0% 0, 0% 100%, 100% 100%);
  aspect-ratio: 1920/1930;
  display: block;
  width: 100%;
  position: absolute;
  z-index: -1;
  top: calc(-100 / 1920 * 100vw);
}
.p-contact {
  margin: calc(90 / 1920 * 100vw) auto;
  width: calc(1280 / 1920 * 100vw);
}
.p-contact__txt {
  text-align: center;
  margin-top: calc(80 / 1920 * 100vw);
}
.p-contact__tel {
  text-align: center;
  color: #e71f29;
  margin: calc(40 / 1920 * 100vw) 0;
}
.p-contact__tel h3 {
  font-size: min(calc(30 / 1920 * 100vw), 3rem);
  letter-spacing: 0.2rem;
}
.p-contact__tel p {
  color: #e71f29;
  margin-top: calc(20 / 1920 * 100vw);
}
.p-contact__form {
  background-color: #fff;
  padding: calc(70 / 1920 * 100vw) calc(180 / 1920 * 100vw);
}
.p-contact__form--box {
  width: 795px;
  margin: 0 auto;
}

.form-group {
  display: flex;
  border-bottom: 1px solid #000;
}
.form-group.no-border {
  border-bottom: none;
}
.form-label {
  width: calc(300 / 1920 * 100vw);
  font-weight: 500;
  border-right: 1px solid #000;
  display: flex;
  font-size: 18px;
  align-items: center;
}

.form-input {
  flex: 1;
  padding: calc(20 / 1920 * 100vw) calc(15 / 1920 * 100vw)
    calc(20 / 1920 * 100vw) calc(28 / 1920 * 100vw);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1%;
}
.form-input p {
  width: 100%;
}
.form-input input {
  background-color: #fbfbfb;
  border: solid 1px #333;
  height: 50px;
  border-radius: 5px;
}
.check label {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
}
.form-input.tel-inputs p {
  display: flex;
  align-items: center;
  gap: 1%;
}

.form-input.tel-inputs input {
  width: 124px;
  text-align: center;
}

.form-input input[type="text"],
.form-input input[type="email"],
.form-input textarea {
  width: 100%;
  border: 1px solid #000;
  font-size: 14px;
  border-radius: 4px;
}
.form-input textarea {
  height: 200px;
}
.form-input input[name="text-572"],
.form-input input[name="text-969"] {
  width: 124px;
  margin-bottom: 20px;
}
/* .form-input input[name^="text-572"][name^="text-969"] {
  width: 124px;
}
 */
.form-input input[type="checkbox"] {
  margin-right: 6px;
  width: 18px;
}

.form-input textarea {
  width: 100%;
  background: #f4f3f3;
  resize: vertical;
}
.form-input .form-flex {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  align-items: center;
  gap: 10px;
}
.wpcf7 input[type="submit"] {
  background-size: cover;
  width: calc(226 / 1920 * 100vw);
  height: 46px;
  border: none;
  cursor: pointer;
  background-color: #266ead;
  color: #fff;
}
.wpcf7-spinner {
  display: none !important;
}
.btn_submit input {
  width: 232px;
  margin: 80px auto 0;
  display: block;
}
.required {
  color: red;
  font-size: min(calc(16 / 1920 * 100vw), 1.6rem);
  margin-left: 30px;
}
.check {
  justify-content: center;
  margin: calc(60 / 1920 * 100vw) 0;
}
.check .form-label {
  width: auto;
  border-right: unset;
}
@media screen and (max-width: 768px) {
  .p-contact__bg::before {
    aspect-ratio: 430/1710;
    top: -60px;
  }
  .p-contact {
    margin: 60px 4%;
    width: auto;
  }
  .p-contact__tel {
    margin: 20px 0;
  }
  .p-contact__tel h3 {
    font-size: 2rem;
  }
  .p-contact__form {
    padding: 20px 4%;
  }
  .form-group {
    display: block;
    padding-top: 20px;
  }
  .form-label {
    border-right: unset;
    width: auto;
    font-size: 1.6rem;
  }
  .p-contact__form--box {
    padding: 0 4%;
    width: auto;
  }
  .form-input p {
    width: auto;
  }
  .form-input.tel-inputs input,
  .form-input.fax-inputs input {
    width: 80px;
  }
  .form-input input[type="text"][name^="tel"],
  .form-input input[type="text"][name^="fax"] {
    width: 80px;
  }
  .form-input input {
    height: 30px;
    width: 100%;
  }
  .form-input {
    gap: 8px;
    padding: 20px 0;
    display: block;
  }
  .required {
    font-size: 12px;
    white-space: nowrap;
    margin-left: 10px;
  }
  .btn_submit input {
    margin: 40px auto 0;
  }
  .check {
    display: flex;
    margin: 0;
  }
  .wpcf7 input[type="submit"] {
    width: 210px;
  }
}

/* 2026/01/09追加 */
@media screen and (min-width: 768px) {
.p-drone__lead.sp{
  display: none!important;
}
.p-drone__lead.pc{
      display: block!important;
  }
  .u-sp{
    display: none!important;
  }
  .u-pc{
    display: block!important;
  }
}

@media screen and (max-width: 768px) {
  .p-drone__lead.sp{
    display: block!important;
  }
  .p-drone__lead.pc{
        display: none!important;
    }
  .u-sp{
    display: block!important;
  }
  .u-pc{
    display: none!important;
  }
}
