.t-mb0 {
  margin-bottom: 0!important;
}

.t-mb1 {
  margin-bottom: 1rem!important;
}


/*one CP*/

.t-gold {
  color: #B49C66 !important;
}

.t-red {
  color: #c9171e !important;
}

.t-blk {
  color: #2F2A27;
}

.swiper-container {
  overflow: hidden;
}

.swiper-slide {
  text-align: center;
}


#one {
  padding: 8rem 3rem 0;
  height: 100%;
  position: relative;
  z-index: 999;
  background-color: #1364A5;
  background: linear-gradient(to bottom, #1364A5 0% , #1364A5 88%, #59B4E2 100%);
}

@media screen and (max-width:767px) {
  #one {
    padding: 5rem 1rem;
  }
}

.one-circle_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.one-circle {
  content: "";
  width: 100%;
  height: 100%;
  transform: rotate(-16deg);
  top: 0;
  background-color: #a6515100;
  background-image: radial-gradient(48% 44%, rgba(242, 242, 242, 0.32), transparent);
  pointer-events: none;
}

@keyframes GradietionAnimation {
  0% {
    background-position: 0% 30%
  }

  50% {
    background-position: 100% 50%
  }

  100% {
    background-position: 0% 30%
  }
}

#one .inner {
  width: 84%;
}

.t-caution {
  width: 100%;
  margin: 0 auto;
  color: #2F2A27;
}

.t-caution p {
  width: fit-content;
  text-align: left;
  margin: 0 auto;
  max-width: 560px;
}

.oror {
  margin-left: 0 !important;
}

.oror a {
  margin-bottom: 3em !important;
}

@media screen and (max-width:767px) {
  .oror {
    margin-left: auto !important;
  }
}

#one h1 {
  letter-spacing: 8px;
}

#one h2 {
  letter-spacing: 5.6px;
}

#one h3 {
  letter-spacing: 0.08em;
}

@media screen and (max-width:767px) {
  #one {
    text-align: left;
  }

  #one h1 {
    letter-spacing: 4px;
  }

  #one h2 {
    letter-spacing: 0.4px;
  }

  #one h3 {
    letter-spacing: 0.04em;
  }

  #one p {
    letter-spacing: 0.5px;
  }

  #one .inner {
    width: 88%;
  }
}

.pr .title {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.pr .title .ttl {
  text-align: center;
  color: #fff;
  background-color: #014679;
  padding: 0.5rem;
  width: 100%;
}

.pr .title .ttl02 {
  position: relative;
  text-align: center;
  color: #fff;
  background-color: #01457900;
  border: 6px solid #014579;
  border-top: none;
  padding: 3rem 3rem 0 1rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
}

.pr .title .ttl02 .pr_img {
  position: relative;
  display: flex;
  width: 50%;
}

.pr .title .ttl02 .pr_img .--01 {
  width: 45%;
  display: block;
  position: relative;
}
.pr .title .ttl02 .pr_img .--01 img {
  position: absolute;
  bottom: 0;
}
.pr .title .ttl02 .pr_img .--02 {
  width: 32%;
  position: absolute;
  top: -2rem;
  left: 6rem;
}
.pr .title .ttl02 .pr_img .--03 {
  width: 50%;
  margin-bottom: 3rem;
}

.pr .title .ttl02 .pr_text {
  width: fit-content;
  max-width: 50%;
  padding-bottom: 4rem;
}
.pr .title .ttl02 .pr_text p {
  text-align: left;
}

@media screen and (max-width: 1080px) {
  .pr .title .ttl02 {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem 0 1rem;
  }
  .pr .title .ttl02 .pr_img {
    width: 100%;
  }
  .pr .title .ttl02 .pr_img .--01 img {
    width: 115%;
    left: -1rem;
  }
  .pr .title .ttl02 .pr_img .--02 {
    width: 40%;
    top: -3rem;
    left: 2.125rem;
  }
  .pr .title .ttl02 .pr_text {
  width: 100%;
  max-width: 100%;
  padding-bottom: 0;
}
.pr .title .ttl02 .pr_text p {
  text-align: left;
}
}

.pr .title .ttl02 .line {
  width: fit-content;
  padding-left: 2rem;
  border-left: 1rem solid #AADDF7;
  height: fit-content;
  background-color: #1364A5;
  margin: 0 auto 3rem 0;
}
.pr .title .ttl02 .line {
  text-align: left;
  line-height: normal;
}
@media screen and (max-width: 1080px) {
  .pr .title .ttl02 .line {
    margin: 0 auto 2rem 0;
    text-align: center;
    padding-left:0.6rem;
  }
  .pr .title .ttl02 .line h5 {
    text-align: left;
  }
  .pr .title .ttl02 .line h2 {
    letter-spacing: 0;
    font-size: calc(2.4rem * 0.68);
  }
}

.watch_movie {
  background-color: #40a5f8;
  width: 100%;
  padding: 3rem 2rem;
  position: relative;
}
.watch_movie .image {
  width: 60%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  gap: 2.4rem;
}
.watch_movie .image .--01 {
  width: 50%;
  position: relative;
}
.watch_movie .watch_ttl {
  position: absolute;
  left: -8rem;
  top: 0;
  width: 12rem;
}

@media screen and (max-width: 767px) {
  .watch_movie {
  padding: 4rem 2rem;
}
.watch_movie .image {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  gap: 2rem;
}
.watch_movie .image .--01 {
  width: 100%;
  position: relative;
  padding-top: 0.5rem;
}
.watch_movie .watch_ttl {
  position: absolute;
  left: -1.6rem;
  top: -3rem;
  width: 8rem;
}
}

.pr .title h2 img {
  width: 60%;
  margin: 0 auto;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .pr .title h2 img {
    width: 100%;
  }
}

.pr .title .date {
  color: #fff;
  background-color: #A4AF9F;
  padding: 1rem;
  margin: 0;
  text-align: center;
  width: 100%;
}
.pr .title .date h5 {
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
    .pr .title {
      flex-direction: column;
    }
    .pr .title .ttl{
      width: 100%;
    }
    .pr .title .date {
      width: 100%;
    }
}

.c-main {
  position: relative;
  color: #fff;
  padding: 4rem 3rem 6rem;
}

@media screen and (max-width: 767px) {
  .c-main {
    position: relative;
    color: #fff;
    padding: 2rem 0rem 4rem;
  }
}

.pr-wrap {
  width: 100%;
  height: auto;
  color: #141414;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.pr-content {
  width: 70%;
  margin: 0 auto;
  background-color: #F7F9F7;
  border: 1px solid #5C6698;
  padding: 2rem ;
  border-radius: 1rem;
}
@media screen and (max-width: 1280px) {
  .pr-content {
    width: 100%;
    padding: 2rem 1rem;
  }
}

.pr-content .ttl img {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .pr-content .ttl img {
    width: 92%;
  }
}

.pr-content .explain {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.pr-content .explain .img_deco {
  min-width: 24%;
  width: 24%;
}
@media screen and (max-width: 767px) {
  .pr-content .explain {
    gap: 0.5rem;
  }
  .pr-content .explain .img_deco {
  min-width: 32%;
  width: 32%;
}
}

.pr-content .explain .txt {
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .pr-content .explain .txt {
    width: calc(68% - 0.5rem);
  }
}
.pr-content.--03 .explain .txt {
  width: 100%;
  text-align: center;
}

.pr-content .caption_img {
  display: flex;
  width: 100%;
}

.pr-content .caption_img img {
  width: calc(100% / 3);
}
.pr-content.--03 .caption_img img {
  width: 50%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .pr-content.--03 .caption_img img {
    width: 80%;
  }
}

.pr-content .caption_term {
  margin-top: 1rem;
}

.pr-content .caption_term p {
  text-align: center;
  padding: 1rem;
  background-color: #5C6698;
  color: #fff;
  margin-bottom: 1rem;
}
.pr-content .caption_term p span {
  width: fit-content;
  display: block;
  margin: 0.5rem auto;
  padding: 0.5rem 0.75rem;
  background-color: #fff;
  color: #5C6698;
  border-radius: 8px;
  line-height: normal;
  font-weight: 600;
}


.pr-collection_wrap .--01 .--maru {
  width: 9rem;
  height: 9rem;
  background-color: #171C61;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}

.pr-collection_wrap .--01 .--maru {
  font-size: 1rem;
  line-height: 1.4;
}

.pr-collection_wrap .--01 .--ttl {
  width: fit-content;
}
.pr-collection_wrap .--01 .--ttl p {
  width: fit-content;
  text-align: center;
}
.pr-collection_wrap .--01 .--ttl p span {
  font-size: 1.5rem;
}

.pr-collection_wrap .--01 .--img {
  width: calc(20rem);
  height: auto;
  position: relative;
  aspect-ratio: 320/195;
}

.pr-collection_wrap .--01 .--img img {
  width: 20rem;
  position: absolute;
  bottom: 1rem;
}

.line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #171C61;
  margin: 1rem 0;
}

.pr-collection_wrap .--02 {
  width: 100%;
  margin-top: 2rem;
}

.pr-collection_wrap .--02 .--more {
  padding: 0.3rem 1rem;
  background-color: #fff;
  width: fit-content;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: normal;
  font-size: 1.2rem;
}

.pr-collection_wrap .--02 .--hash {
  padding: 0.1rem 0.7rem;
  background-color: #fff;
  width: fit-content;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: normal;
}

.pr-subagaku {
  display: flex;
  width: 100%;
  background-color: #fff;
  border-radius: 0.5rem;
  align-items: center;
  margin-top: 2rem;
  height: 10rem;
}

.pr-subagaku .subagaku--01 {
  width: 30%;
  height: 100%;
  background-color: #C7CFE9;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  padding: 1rem;
  display: flex;
  align-items: center;
}

.pr-subagaku .subagaku--02 {
  width: 70%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pr-subagaku .subagaku--02 img {
  width: 30%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width:1280px) {
  .pr-subagaku {
    flex-direction: column;
    height: 100%;
  }
  .pr-subagaku .subagaku--01 {
    width: 100%;
  }
  .pr-subagaku .subagaku--02 {
    width: 100%;
    padding: 1rem;
  }
}

.pr-book_wrap {
  width: 30%;
  background-color: #E5F2E6;
  padding: 2rem ;
  border-radius: 1rem;
}

@media screen and (max-width:1280px) {
  .pr-book_wrap {
    width: 100%;
  }
}

.pr-book_wrap .--01 {
  color: #00723F;
}

.pr-book_wrap .--01 .--line {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3rem;
  margin-bottom: 3rem;
  background-color: #00723F;
}

.pr-book_wrap .--01 .--ttl {
  margin-top: 2rem;
  text-align: center;
}
.pr-book_wrap .--01 .--ttl span {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.3;
}


.pr-wrap_after {
  margin-top: 2rem;
  padding: 3rem 1.25rem;
  background-color: #dedede;
  color: #1f1f1f;
}


.tab_contents .ttl {
  width: 80%;
}

.cp_flex {
  display: flex;
  width: 60%;
  justify-content: center;
  gap: 2rem;
  margin: auto;
}
.cp_flex02 {
  display: flex;
  width: 84%;
  justify-content: center;
  align-items: center;
  gap: 0rem;
  margin: 7rem auto 0;
}
.cp_flex03 {
  display: flex;
  width: 50%;
  align-items: center;
  gap: 1rem;
  
}
.cp_flex03 p {
  font-size: 1.35rem;
  font-weight: 800;
}
.cp_flex img,.cp_flex02 img,.cp_flex03 img {
  width: 100%;
  object-fit: contain;
}
.cp_flex .--01 {
  width: 20%;
}
.cp_flex .--02 {
  width: 60%;
}
.cp_flex03 .--01 {
  width: 35%;
}
.cp_flex02 .--03 {
  width: 55%;
}
@media screen and (max-width:767px) {
  .cp_flex {
  width: 100%;
  justify-content: center;
  gap: 1rem;
  margin: auto;
}
.cp_flex .--01 {
  width: 27%;
}
.cp_flex .--02 {
  width: 68%;
}
.cp_flex02 {
  width: 100%;
  flex-direction: column;
}
.cp_flex03 {
  width: 100%;
}
.cp_flex03 .--01 {
  width: 25%;
  
}
.cp_flex02 .--03 {
  width: 80%;
}
}

.caption {
  width: 80%;
  margin: 2rem auto;
}
.caption .txt {
  font-size: 1.1rem;
  line-height: 1.6;
}
.caption .t-caution {
  margin-top: 0.5rem;
  font-size: 0.8rem;
}
.caption .spec {
  padding: 0.5rem;
  width: fit-content;
  margin: 1rem auto;
  border: 1px dotted #1a1a1a;
  font-size: 0.9rem;
}
.caption .point {
  width: 70%;
  margin: auto;
  border-radius: 16px;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 1.5rem 1rem;
  color: #fff;
  background-color: #cab37a;
}
.point .button {
  display: block;
  width: fit-content;
  margin: 1rem auto 0;
  padding: 0.5rem 1rem;
  background-color: #494848;
}
.point .button:hover {
  background-color: rgb(94, 94, 94);
}

@media screen and (max-width:767px) {
.caption {
  width: 100%;
}
.caption .txt {
  text-align: left;
}
.caption .point {
  width: 100%;
}
}

.pr_btn {
  padding: 0.5rem 3rem;
  position: relative;
  margin: 0 auto;
  color: #232584;
}
.pr_btn.sub {
  background-color: #232584;
  color: #fff;
}

.pr_btn div {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  white-space: nowrap;
  width: 100%;
}

.title_course {
  position: absolute;
  top: -1.5rem;
  left:50%;
  transform:translateX(-50%);
}
@media screen and (max-width:767px) {
.pr_wrapper {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 1rem;
}

}

.c-pr {
  text-align: center;
  padding: 4rem 4rem;
  background-color: #1a1a1a;
  color: #202020;
}

@media screen and (max-width:767px) {
  .c-pr {
    padding: 2rem 2rem;
  }
}

.c-pr.wh {
  color: #fff;
}
.c-pr_01 {
  background-color: #f9f2e9;
}
.c-pr_02 {
  background-color: #fff;
  border: #ffcfbb 1px solid;
}

.c-pr_sub {
  padding: 1rem;
  background-color: #2ba9a8;
  font-style: italic;
  color: #fff;
}

.c-pr .course {
  position: relative;
  padding: 2rem 1rem;
  border: #eacf8c 8px solid;
  width: 46%;
}
.c-pr .course.sub {
  border: #232584 1px solid;
}

@media screen and (max-width:767px) {
  .c-pr .course {
    width: 100%;
  }
}
.c-pr .shijo {
  position: relative;
}

.c-pr .shijo .shijo_desc {
  position: absolute;
  bottom: 0;
}

.c-pr_desc {
  text-align: left;
  width: 100%;
  max-width: 600px;
  margin: auto;
}
.c-pr_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem 0;
  gap: 1rem;
}
.c-pr_02 .c-pr_flex {
  margin: 0 auto 2rem;
}
.c-pr_flex ._desc {
  width: 50%;
}
.c-pr_flex ._img {
  width: 40%;
}
.c-pr_flex ._marker {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 16%;
  aspect-ratio: 1/1;
  padding: 0.2rem;
}
.c-pr_flex ._marker p {
  font-size: 1.25rem;
  line-height: normal;
  font-weight: 600;
}
@media screen and (max-width:767px) {
  .c-pr_flex ._marker {
    width: 40%;
  }
}

.c-pr .desc {
  margin: 0 auto 3rem;
  max-width: 80%;
}
@media screen and (max-width:767px) {
  .c-pr .desc {
    max-width: 100%;
  }
}

.caution {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}
.c-pr .desc .caution {
  text-align: left;
  margin-top: 1rem;
}
@media screen and (max-width:767px) {
  .caution {
    width: 100%;
  }
}
.c-pr .desc02 {
  margin-bottom: 3rem;
}
.c-pr .desc02 h4 {
  margin-bottom: 0.5rem;
}

.price_box {
  margin: 1rem auto;
  padding: 0.5rem 3rem;
  width: fit-content;
  border: 1px dotted #fff;
}

.c-pr_present {
  display: block;
  margin: 2rem auto;
}
.c-pr_present img:nth-child(1) {
  width: 40%;
  margin: 0 auto;
}
.c-pr_present img:nth-child(2) {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .c-pr_present img:nth-child(1) {
    width: 64%;
    margin: 0 auto;
  }
}

.c-pr .i-flex .wrap {
  padding: 1rem 0.5rem;
  width: calc(100% /3);
  background-color: #1a1a1a;
  color: #fff;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width:767px) {
  .c-pr_flex {
    flex-direction: column;
  }
  .c-pr_flex ._desc {
    width: 100%;
  }
  .c-pr_flex ._img {
    width: 80%;
  }

  .c-pr .i-flex {
    gap: 2rem;
  }
  .c-pr .i-flex .wrap {
    padding: 1rem;
    width: calc(100% /1);
    border: 1px solid #1B2624;
  }
}
.course.last {
  width: 80%;
}
.course.last img {
  width: 70%;
}
.course img {
  width: 100%;
  margin: 0 auto 1rem;
}

@media screen and (max-width: 767px) {
  .course img {
    width: 100%;
  }
  .course.last {
    width: 100%;
  }
}

.carlife {
  width: 50%;
  margin: 2rem auto;
}
@media screen and (max-width: 767px) {
  .carlife {
    margin: 2rem auto;
    width: 100%;
  }
}

/*埼玉スバルオリジナル*/

.wrap_blue01 {
  width: fit-content;
  background-color: #232584;
  padding: 1rem;
  color: #fff;
  margin: 1rem 0;
}
.inner_wrap {
  background-color: #e5e5e6;
  margin-top: 0.5rem;
  padding: 0.5rem 1rem;
  color: #232584;
}


.origin img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .origin img {
  width: 100%;
}
}

.pr_wrap_white {
  border: #fff 1px solid;
  padding: 1rem;
  margin: 1rem 0 2rem;
}
.pr_wrap_white .title {
  text-decoration: underline 1px;text-underline-offset: 4px
}
.pr_wrap_white.sub {
  border: #232584 1px solid;
}

.lvs_wrap, .crs_wrap {
  padding: 1rem 0;
  background-color: #fff6c600;
}
.lvs, .crs {
  display: flex;
}
.lvs img {
  width: calc(100% /3);
}
.crs img {
  width: calc(100%/2);
}
.kakaku {
  padding: 1rem 0.5rem 0;
  color: #b50f0f;
}