@charset "UTF-8";
/*box-sizing default*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
}

*:before,
* :after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

header,
main {
  font-size: 1.2rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media print, screen and (min-width: 641px) {
  header header,
  header main,
  main header,
  main main {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

a.underline {
  text-decoration: underline;
}

a.no_target[target=_blank]::after {
  content: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

img {
  max-width: 100%;
  height: auto;
}

/*スマホ時のfocusの青枠削除*/
a,
a:focus,
button,
button:focus {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]:focus,
input[type=button]:focus {
  outline-offset: -2px;
}

input,
button,
label,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  font-size: 1.6rem;
}

input:hover,
input:focus,
input:active,
button:hover,
button:focus,
button:active,
label:hover,
label:focus,
label:active,
textarea:hover,
textarea:focus,
textarea:active,
select:hover,
select:focus,
select:active {
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
}

select::-ms-expand {
  display: none;
}

header {
  position: relative !important;
  z-index: 1;
}

main {
  overflow: hidden;
}

.underlayer_content {
  color: #41313a;
}

.page-footer {
  margin-top: 0;
}

.bg {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.bg video {
  width: 100%;
  max-width: initial;
  height: 100%;
  object-fit: cover;
}

.page-container {
  background-color: transparent;
}

main {
  background: url(../img/lead_bg_sp.png) no-repeat center top;
  background-size: 100% auto;
}
@media print, screen and (min-width: 641px) {
  main {
    background: url(../img/lead_bg.png) no-repeat center top -50px;
    background-size: 1560px auto;
  }
}

.features__lead {
  text-align: center;
  padding-top: 20%;
  margin-bottom: 50px;
}
@media print, screen and (min-width: 641px) {
  .features__lead {
    padding-top: 14.6%;
    margin-bottom: 11.25%;
  }
}
.features__lead .features__lead_catch {
  width: 78.8%;
  margin: 0 auto 10px auto;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .features__lead .features__lead_catch {
    width: 65%;
    margin: 0 auto 60px auto;
  }
}
.features__lead .features__lead_catch::after {
  content: "";
  width: 73.8%;
  display: block;
  padding-top: 68.1%;
  background: url(../img/lead_book.png) no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  top: -28%;
  right: -33%;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  .features__lead .features__lead_catch::after {
    width: 52.4%;
    padding-top: 48.1%;
    top: -121%;
    right: -30%;
  }
}
.features__lead .features__lead_catch img {
  width: 100%;
}
.features__lead h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 70px;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .features__lead h2 {
    opacity: 1;
  }
}
.features__lead h2 span {
  font-size: 1.8rem;
  font-weight: 500;
  color: #41313a;
  padding: 0 20px;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .features__lead h2 span {
    font-size: 2.8rem;
  }
}
.features__lead h2 span::before, .features__lead h2 span::after {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background-color: #E40313;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.features__lead h2 span::before {
  left: 0;
}
.features__lead h2 span::after {
  right: 0;
}
.features__lead .features__lead_text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.85;
  margin-bottom: 30px;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .features__lead .features__lead_text {
    font-size: 1.8rem;
    line-height: 3.05;
    margin-bottom: 40px;
    opacity: 1;
  }
}
.features__lead .features__lead_subcatch {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 35px;
}
@media print, screen and (min-width: 641px) {
  .features__lead .features__lead_subcatch {
    font-size: 3.4rem;
    line-height: 1.2;
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__lead span {
    display: block;
    transform: translateY(10px);
    transition: opacity 0.7s, transform 0.7s;
    transition-duration: 1s;
    opacity: 0;
  }
}
.features__lead .lead_faddeIn_text.is-active span {
  transform: translateY(0);
  opacity: 1;
}
.features__lead .lead_faddeIn_text.is-active .features__lead_text:nth-child(1) span:nth-child(2) {
  transition-delay: 0.2s;
}
.features__lead .lead_faddeIn_text.is-active .features__lead_text:nth-child(1) span:nth-child(3) {
  transition-delay: 0.5s;
}
.features__lead .lead_faddeIn_text.is-active .features__lead_text:nth-child(1) span:nth-child(4) {
  transition-delay: 0.8s;
}
.features__lead .lead_faddeIn_text.is-active .features__lead_text:nth-child(2) span:nth-child(1) {
  transition-delay: 1.6s;
}
.features__lead .lead_faddeIn_text.is-active .features__lead_text:nth-child(2) span:nth-child(2) {
  transition-delay: 1.9s;
}
.features__lead .lead_faddeIn_text.is-active .features__lead_subcatch span {
  transition-delay: 2.7s;
}
.features__lead p .sp {
  display: none;
}
@media print, screen and (min-width: 360px) {
  .features__lead p .sp {
    display: block;
  }
}
@media print, screen and (min-width: 641px) {
  .features__lead p .sp {
    display: none;
  }
}
.features__lead p .sp.sp-s_block {
  display: block;
}
@media print, screen and (min-width: 641px) {
  .features__lead p .sp.sp-s_block {
    display: none;
  }
}

.features__pagenavi {
  display: flex;
  justify-content: center;
}
.features__pagenavi ul {
  display: flex;
  justify-content: center;
  border: 1px solid #FFF;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
.features__pagenavi li {
  width: 285px;
}
.features__pagenavi li:not(:last-child) {
  border-right: 1px solid #FFF;
}
.features__pagenavi a {
  font-size: 1.4rem;
  color: #41313a;
  text-decoration: none;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
  padding: 10px 0 30px 0;
  background-color: rgba(255, 255, 255, 0.3);
  position: relative;
  transition: background 0.3s;
}
@media print, screen and (min-width: 360px) {
  .features__pagenavi a {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }
}
@media print, screen and (min-width: 641px) {
  .features__pagenavi a {
    font-size: 2.2rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
    padding: 20px 20px 45px 20px;
  }
}
.features__pagenavi a .num {
  font-size: 1.3rem;
  color: #E40313;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 360px) {
  .features__pagenavi a .num {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 641px) {
  .features__pagenavi a .num {
    font-size: 2rem;
  }
}
.features__pagenavi a::after {
  content: "";
  width: 8px;
  height: 8px;
  display: block;
  margin-inline: auto;
  border-top: 1px solid #E40313;
  border-right: 1px solid #E40313;
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  transform: rotate(135deg);
}
@media print, screen and (min-width: 641px) {
  .features__pagenavi a::after {
    width: 10px;
    height: 10px;
    bottom: 18px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__pagenavi a:hover {
    background-color: rgb(255, 255, 255);
  }
}

.features__block_title {
  max-width: 570px;
  margin: 0 auto;
}
.features__block_title h3 {
  font-size: 2.3rem;
  font-weight: 500;
  color: #FFF;
  text-align: center;
  line-height: 1.2;
  padding-block: 12px 22px;
}
@media print, screen and (min-width: 360px) {
  .features__block_title h3 {
    font-size: 2.6rem;
  }
}
@media print, screen and (min-width: 641px) {
  .features__block_title h3 {
    font-size: 4.6rem;
    padding-block: 5px 25px;
  }
}
.features__block_title .bdr {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.features__block_title .bdr::before, .features__block_title .bdr::after {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  border: 1px solid #FFF;
  border-radius: 50%;
  position: absolute;
  top: 51%;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 641px) {
  .features__block_title .bdr::before, .features__block_title .bdr::after {
    width: 8px;
    height: 8px;
    top: 50%;
  }
}
.features__block_title .bdr::before {
  left: 0;
}
.features__block_title .bdr::after {
  right: 0;
}
.features__block_title .bdr .num {
  font-size: 2rem;
  font-weight: 500;
  color: #FFF;
  width: 100%;
  max-width: calc(100% - 20px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media print, screen and (min-width: 641px) {
  .features__block_title .bdr .num {
    font-size: 2.6rem;
    max-width: calc(100% - 30px);
  }
}
.features__block_title .bdr .num::before, .features__block_title .bdr .num::after {
  content: "";
  width: 100%;
  height: 1px;
  flex: 1;
  background-color: #FFF;
}
.features__block_title .bdr .num::before {
  margin-right: 10px;
}
@media print, screen and (min-width: 641px) {
  .features__block_title .bdr .num::before {
    margin-right: 20px;
  }
}
.features__block_title .bdr .num::after {
  margin-left: 5px;
}
@media print, screen and (min-width: 641px) {
  .features__block_title .bdr .num::after {
    margin-left: 15px;
  }
}
.features__block_title .bdr .line {
  width: calc(100% - 20px);
  height: 1px;
  display: block;
  margin: 0 auto;
  background-color: #FFF;
}
@media print, screen and (min-width: 641px) {
  .features__block_title .bdr .line {
    width: calc(100% - 30px);
  }
}
.features__block_title.red h3 {
  color: #41313a;
}
.features__block_title.red .bdr::before, .features__block_title.red .bdr::after {
  border: 1px solid #d02f3a;
}
.features__block_title.red .num {
  color: #E40313;
}
.features__block_title.red .num::before, .features__block_title.red .num::after {
  background-color: #d02f3a;
}
.features__block_title.red .line {
  background-color: #d02f3a;
}

.lesson {
  padding-top: 85px;
  margin-bottom: 70px;
  background: #fa8b7d;
  background: linear-gradient(180deg, rgba(250, 139, 125, 0) 0%, rgba(250, 139, 125, 0.9) 30%, rgba(250, 139, 125, 0.9) 70%, rgba(250, 139, 125, 0) 100%);
}
@media print, screen and (min-width: 641px) {
  .lesson {
    padding-top: 145px;
    margin-bottom: 0;
  }
}
.lesson .features__block_title {
  margin-bottom: 50px;
}
.lesson .lesson__lead {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.1;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson__lead {
    font-size: 2.1rem;
    line-height: 1.9;
  }
}
.lesson .lesson__lead.change_topPosition {
  margin-bottom: 50%;
}
.lesson .lesson_contents {
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 10%;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents {
    padding-bottom: 0;
  }
}
.lesson .lesson_contents .fixedScroll_content {
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .fixedScroll_content {
    width: 100%;
    height: 100vh;
    max-height: 820px;
    min-height: 820px;
  }
}
.lesson .lesson_contents .abs {
  position: absolute;
}
.lesson .lesson_contents .lesson__tree {
  /*padding-top: 130px;
  margin-top: -130px;*/
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .lesson__tree {
    transition: transform 0.5s;
  }
}
.lesson .lesson_contents .lesson__tree.change_topPosition {
  transform: translateY(calc(-36.15% - 130px));
}
.lesson .lesson_contents .tree__bg {
  width: 239.3%;
  position: relative;
  left: -63.65%;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__bg {
    width: 84.53%;
    margin: 0 auto;
    left: 0;
  }
}
.lesson .lesson_contents .tree__bg img {
  width: 100%;
  opacity: 0;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__bg img {
    opacity: 1;
    transform: translateX(0.5%);
  }
}
.lesson .lesson_contents .tree__teacher {
  width: 65.86%;
  margin: 0 auto;
  top: 5%;
  left: 0;
  right: 0;
  transform: translateX(-4%);
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__teacher {
    width: 26.15%;
  }
}
.lesson .lesson_contents .tree__bg_sp {
  width: 250%;
  height: 115vh;
  position: absolute;
  top: 0;
  left: -78%;
  background: url(../img/lesson_contents_img1.png?2025080501) no-repeat center top;
  background-size: 100% auto;
}
@media print, screen and (min-width: 360px) {
  .lesson .lesson_contents .tree__bg_sp {
    height: 125vh;
  }
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__bg_sp {
    display: none;
  }
}
.lesson .lesson_contents .tree__student {
  width: 57.33%;
  margin: 0 auto;
  top: 37.5%;
  left: 0;
  right: 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__student {
    width: 23.8%;
    top: 36.5%;
  }
}
.lesson .lesson_contents .tree__teacher_thoughts {
  width: 74.93%;
  margin: 0 auto;
  top: 30%;
  left: 0;
  right: 0;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__teacher_thoughts {
    width: 26%;
    top: 30%;
  }
}
.lesson .lesson_contents .tree__teacher_thoughts img {
  width: 100%;
}
.lesson .lesson_contents .tree__student_thoughts1 {
  width: 36%;
  top: 58%;
  left: 11%;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__student_thoughts1 {
    width: 12.23%;
    top: 24%;
    left: 23.5%;
  }
}
.lesson .lesson_contents .tree__student_thoughts1 img {
  width: 100%;
}
.lesson .lesson_contents .tree__student_thoughts2 {
  width: 36%;
  top: 58%;
  right: 11%;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__student_thoughts2 {
    width: 12.23%;
    top: 24%;
    right: 23.5%;
  }
}
.lesson .lesson_contents .tree__student_thoughts2 img {
  width: 100%;
}
.lesson .lesson_contents .tree__arrow_btm {
  width: 19%;
  margin: 0 auto;
  top: 31%;
  left: 0;
  right: 0;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__arrow_btm {
    width: 7%;
    top: 31.5%;
  }
}
.lesson .lesson_contents .tree__arrow {
  width: 82.4%;
  margin: 0 auto;
  top: 24%;
  left: 0;
  right: 0;
  transform: translateX(-1%);
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__arrow {
    width: 28.69%;
    top: 25%;
    transform: translateX(0);
  }
}
.lesson .lesson_contents h4 {
  width: 76.2%;
  margin: 0 auto;
  top: 78%;
  left: 0;
  right: 0;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents h4 {
    width: 45.61%;
    top: 66.5%;
  }
}
.lesson .lesson_contents h4 img {
  width: 100%;
}
.lesson .lesson_contents .tree__voice_message {
  width: 69.86%;
  margin: 0 auto;
  top: 98%;
  left: 0;
  right: 0;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice_message {
    width: 25.53%;
    top: 90%;
  }
}
.lesson .lesson_contents .tree__voice_message img {
  width: 100%;
}
.lesson .lesson_contents .tree__voice {
  width: 100%;
  margin-top: 21%;
  padding-top: 10%;
  position: relative;
  left: 0;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice {
    width: 100%;
    padding-top: 37.15%;
    margin-top: 0;
    position: absolute;
    top: 71.5%;
    left: 0;
  }
}
.lesson .lesson_contents .tree__voice li {
  width: 53.6%;
  margin-top: -20%;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice li {
    width: 18.76%;
    margin-top: 0;
    position: absolute;
  }
}
.lesson .lesson_contents .tree__voice li img {
  width: 100%;
}
.lesson .lesson_contents .tree__voice1 {
  margin-left: auto;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice1 {
    margin: 0;
    bottom: 0;
    left: 0;
  }
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice2 {
    top: 0;
    left: 11%;
  }
}
.lesson .lesson_contents .tree__voice3 {
  margin-left: auto;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice3 {
    margin: 0;
    bottom: 0;
    left: 22%;
  }
}
.lesson .lesson_contents .tree__voice4 {
  margin-left: auto;
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice4 {
    margin: 0;
    bottom: 0;
    right: 22%;
  }
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice5 {
    top: 0;
    right: 11%;
  }
}
@media print, screen and (min-width: 641px) {
  .lesson .lesson_contents .tree__voice6 {
    bottom: 0;
    right: 0;
  }
}
.lesson .arrow_link_button {
  margin-top: 40px;
}
@media print, screen and (min-width: 641px) {
  .lesson .arrow_link_button {
    position: absolute;
    bottom: -35%;
    right: 0;
    z-index: 1;
  }
}

@media print, screen and (min-width: 641px) {
  .course {
    padding-top: 20px;
  }
}
@media print, screen and (min-width: 1280px) {
  .course {
    padding-top: 50px;
  }
}
.course .course__head {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 641px) {
  .course .course__head {
    margin-bottom: 60px;
  }
}
.course .course__head .features__block_title {
  margin-bottom: 35px;
  position: relative;
  z-index: 1;
}
.course .course__head p {
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  line-height: 2.18;
  letter-spacing: 0;
}
@media print, screen and (min-width: 360px) {
  .course .course__head p {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
  }
}
@media print, screen and (min-width: 641px) {
  .course .course__head p {
    font-size: 2.1rem;
    line-height: 1.9;
  }
}
.course .course__curriculum {
  width: 100%;
  margin: 0 auto 60px auto;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .course .course__curriculum {
    max-width: 1428px;
    height: 3000px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 54px;
    margin: 0 auto 140px auto;
  }
}
.course .course__curriculum .fixedScroll_content {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .course .course__curriculum .fixedScroll_content {
    width: 100%;
    height: 100vh;
    min-height: 750px;
    display: block;
  }
}
.course .course__curriculum p {
  margin: 0;
}
.course .course__curriculum p picture {
  display: block;
}
.course .course__curriculum p img {
  width: 100%;
  display: block;
}
.course .course__curriculum .chart {
  width: 117%;
  position: absolute;
  top: 42%;
  left: -8.5%;
  z-index: 1;
  transform: translateY(-50%) !important;
}
@media print, screen and (min-width: 641px) {
  .course .course__curriculum .chart {
    width: 49.7%;
    max-width: 707px;
    margin: 0 auto;
    top: 50.5%;
    left: 0;
    right: 0;
  }
}
.course .course__curriculum .chart_category {
  width: 50%;
}
@media print, screen and (min-width: 641px) {
  .course .course__curriculum .chart_category {
    width: 26.2%;
    max-width: 373px;
    position: absolute;
  }
}
.course .course__curriculum .high {
  top: 0;
  left: 0;
}
.course .course__curriculum .high_graduate {
  top: 0;
  right: 0;
}
.course .course__curriculum .video {
  bottom: 0;
  left: 0;
}
.course .course__curriculum .high_and_graduate {
  bottom: 0;
  right: 0;
}
.course .course__pickup {
  margin-bottom: 160px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup {
    margin-bottom: 250px;
  }
}
.course .course__pickup h4 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  width: calc(100% - 40px);
  margin: 0 auto 30px auto;
}
@media print, screen and (min-width: 360px) {
  .course .course__pickup h4 {
    font-size: 2.2rem;
  }
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup h4 {
    font-size: 3.8rem;
    width: 100%;
    max-width: 485px;
    margin: 0 auto 40px auto;
  }
}
.course .course__pickup h4 span {
  width: calc(100% - 20px);
  display: block;
  padding-bottom: 10px;
  margin: 0 auto;
  border-bottom: 1px solid #d02f3a;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup h4 span {
    width: calc(100% - 40px);
    padding-bottom: 15px;
  }
}
.course .course__pickup h4 span::before, .course .course__pickup h4 span::after {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  border-radius: 50%;
  border: 1px solid #d02f3a;
  position: absolute;
  bottom: 0;
  transform: translateY(55%);
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup h4 span::before, .course .course__pickup h4 span::after {
    width: 8px;
    height: 8px;
    transform: translateY(50%);
  }
}
.course .course__pickup h4 span::before {
  left: -10px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup h4 span::before {
    left: -20px;
  }
}
.course .course__pickup h4 span::after {
  right: -10px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup h4 span::after {
    right: -20px;
  }
}
.course .course__pickup_block {
  padding: 30px 20px 40px 20px;
  border-radius: 20px;
  background-color: #FFF;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block {
    padding: 60px 80px 88px 80px;
  }
}
.course .course__pickup_block:not(:last-child) {
  margin-bottom: 30px;
}
.course .course__pickup_block .pickup__head {
  margin-bottom: 35px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__head {
    margin-bottom: 50px;
  }
}
.course .course__pickup_block .pickup__head h5 {
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__head h5 {
    font-size: 3.2rem;
    margin-bottom: 25px;
  }
}
.course .course__pickup_block .pickup__head p {
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
  line-height: 2.15;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__head p {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.course .course__pickup_block .pickup__list li:not(:last-child) {
  margin-bottom: 30px;
}
.course .course__pickup_block .pickup__list a {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 170px;
  border-radius: 10px;
  background-color: #FFF;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  position: relative;
  transition: transform 0.3s, box-shadow 0.3s;
}
.course .course__pickup_block .pickup__list a::before, .course .course__pickup_block .pickup__list a::after {
  content: "";
  display: block;
  position: absolute;
}
.course .course__pickup_block .pickup__list a::before {
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
  bottom: 16px;
  right: 17px;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list a::before {
    width: 5px;
    height: 5px;
    bottom: 18px;
    right: 17px;
  }
}
.course .course__pickup_block .pickup__list a::after {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  bottom: 8px;
  right: 8px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list a::after {
    width: 17px;
    height: 17px;
    bottom: 12px;
    right: 10px;
  }
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list a:hover {
    box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
    transform: translate(3px, 3px);
  }
}
.course .course__pickup_block .pickup__list figure {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list figure {
    width: 300px;
    height: 100%;
  }
}
.course .course__pickup_block .pickup__list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course .course__pickup_block .pickup__list_text {
  width: 100%;
  padding: 20px 15px 40px 15px;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list_text {
    flex: 1;
    padding: 30px 45px 30px 35px;
    position: static;
  }
}
.course .course__pickup_block .pickup__list_text::after {
  width: 100%;
  height: 8px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list_text::after {
    height: 10px;
  }
}
.course .course__pickup_block .pickup__list_text dt {
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.course .course__pickup_block .pickup__list_text dt span {
  font-size: 1.1rem;
  font-weight: 500;
  color: #FFF;
  line-height: 1.2;
  padding: 2px 6px 3px 6px;
  margin-right: 10px;
  margin-top: 4px;
  border-radius: 100px;
}
.course .course__pickup_block .pickup__list_text dd {
  font-size: 1.3rem;
  font-weight: 500;
  color: #41313a;
  line-height: 2.15;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block .pickup__list_text dd {
    font-size: 1.4rem;
    line-height: 1.64;
  }
}
.course .course__pickup_block.high .pickup__head h5 {
  color: #005bac;
}
.course .course__pickup_block.high .pickup__list_text dt span {
  background-color: #005bac;
}
.course .course__pickup_block.high .ippan a::after {
  background-color: #005bac;
}
.course .course__pickup_block.high .ippan .pickup__list_text {
  padding-top: 28px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block.high .ippan .pickup__list_text {
    padding-top: 30px;
  }
}
.course .course__pickup_block.high .ippan .pickup__list_text::after {
  content: "";
  background-color: #98badb;
}
.course .course__pickup_block.high .ippan .pickup__list_text dt {
  color: #005bac;
}
.course .course__pickup_block.high .tokubetsu a::after {
  background-color: #00413d;
}
.course .course__pickup_block.high .tokubetsu .pickup__list_text {
  padding-top: 28px;
}
@media print, screen and (min-width: 641px) {
  .course .course__pickup_block.high .tokubetsu .pickup__list_text {
    padding-top: 30px;
  }
}
.course .course__pickup_block.high .tokubetsu .pickup__list_text::after {
  content: "";
  background-color: #9ad4d1;
}
.course .course__pickup_block.high .tokubetsu .pickup__list_text dt {
  color: #00413d;
}
.course .course__pickup_block.high .sateline a::after {
  background-color: #21a8e8;
}
.course .course__pickup_block.high .sateline .pickup__list_text dt {
  color: #21a8e8;
}
.course .course__pickup_block.high_graduate .pickup__head h5 {
  color: #d02f3a;
}
.course .course__pickup_block.high_graduate .pickup__list a::after {
  background-color: #d02f3a;
}
.course .course__pickup_block.high_graduate .pickup__list_text dt {
  color: #d02f3a;
}
.course .course_support {
  position: relative;
}
.course .course_support::before {
  content: "";
  width: 127.7%;
  height: 300px;
  display: block;
  border-radius: 50%;
  background-color: #FFF;
  position: absolute;
  top: -75px;
  left: -13.8%;
  z-index: -1;
}
@media print, screen and (min-width: 641px) {
  .course .course_support::before {
    width: 124.3%;
    height: 59.7%;
    top: -125px;
    left: -12.15%;
  }
}
.course .course_support::after {
  content: "";
  width: 100%;
  height: 50px;
  display: block;
  background: #ffffff;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
}
@media print, screen and (min-width: 641px) {
  .course .course_support::after {
    height: 170px;
  }
}
.course .course_support .support__head {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 641px) {
  .course .course_support .support__head {
    margin-bottom: 65px;
  }
}
.course .course_support .support__head p {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 15px;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .course .course_support .support__head p {
    font-size: 2rem;
  }
}
.course .course_support .support__head p::before, .course .course_support .support__head p::after {
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  background-color: #41313a;
  position: absolute;
  top: 50%;
  z-index: 1;
}
.course .course_support .support__head p::before {
  left: -10px;
  transform: translateY(-50%) rotate(-25deg);
}
.course .course_support .support__head p::after {
  right: -5px;
  transform: translateY(-50%) rotate(25deg);
}
.course .course_support .support__head p .red {
  color: #E40313;
}
.course .course_support .support__head h4 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  width: 100%;
}
@media print, screen and (min-width: 360px) {
  .course .course_support .support__head h4 {
    font-size: 2.2rem;
  }
}
@media print, screen and (min-width: 641px) {
  .course .course_support .support__head h4 {
    font-size: 3.8rem;
  }
}
.course .course_support .bg_white {
  padding-bottom: 40px;
}
@media print, screen and (min-width: 641px) {
  .course .course_support .bg_white {
    padding-bottom: 110px;
  }
}
.course .support__slide .splide__list {
  align-items: flex-start;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__list {
    align-items: normal;
  }
}
.course .support__slide .splide__slide {
  padding: 20px 13px 20px 13px;
  border-radius: 15px;
  background-color: #f7f6f6;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide {
    padding: 30px 30px 45px 30px;
    border-radius: 18px;
  }
}
@media print, screen and (min-width: 1280px) {
  .course .support__slide .splide__slide {
    padding: 45px 65px 70px 65px;
    border-radius: 20px;
  }
}
.course .support__slide .splide__slide h5 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3;
  width: 45%;
  padding-left: 20px;
  position: relative;
}
@media print, screen and (min-width: 360px) {
  .course .support__slide .splide__slide h5 {
    font-size: 2rem;
    width: 40%;
  }
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide h5 {
    font-size: 3rem;
    line-height: 1.2;
    width: 100%;
    margin-bottom: 20px;
  }
}
.course .support__slide .splide__slide h5::before {
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 50%;
  background-color: #E40313;
  position: absolute;
  top: 55%;
  left: 0;
  transform: translateY(-50%);
}
.course .support__slide .splide__slide .support__slide_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_flex {
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.course .support__slide .splide__slide .support__slide_flex figure {
  width: 45%;
}
@media print, screen and (min-width: 360px) {
  .course .support__slide .splide__slide .support__slide_flex figure {
    width: 40%;
  }
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_flex figure {
    width: 45.17%;
  }
}
.course .support__slide .splide__slide .support__slide_flex figure.bdr {
  border: 1px solid #c4c4c4;
}
.course .support__slide .splide__slide .support__slide_flex figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course .support__slide .splide__slide .support__slide_text {
  width: 100%;
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px solid #e0e0e0;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text {
    width: 50.4%;
    padding-top: 0;
    margin-top: 0;
    margin-left: auto;
    border-top: none;
  }
}
.course .support__slide .splide__slide .support__slide_text dt {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-bottom: 6px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text dt {
    font-size: 2rem;
    gap: 6px;
  }
}
.course .support__slide .splide__slide .support__slide_text dt .category {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text dt .category {
    gap: 6px;
  }
}
.course .support__slide .splide__slide .support__slide_text dt span {
  font-size: 1rem;
  font-weight: 500;
  color: #FFF;
  line-height: 1;
  letter-spacing: 0;
  padding: 3px 5px 4px 5px;
  border-radius: 100px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text dt span {
    padding: 3px 6px 4px 6px;
  }
}
.course .support__slide .splide__slide .support__slide_text dt span.high {
  background-color: #005bac;
}
.course .support__slide .splide__slide .support__slide_text dt span.daigaku {
  background-color: #d02f3a;
}
.course .support__slide .splide__slide .support__slide_text dt span.online {
  background-color: #e37215;
}
.course .support__slide .splide__slide .support__slide_text dt span.sateline {
  background-color: #21a8e8;
}
.course .support__slide .splide__slide .support__slide_text dd {
  font-size: 1.3rem;
  line-height: 1.8;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text dd {
    font-size: 1.5rem;
  }
}
.course .support__slide .splide__slide .support__slide_text dd:not(:last-child) {
  margin-bottom: 15px;
}
.course .support__slide .splide__slide .support__slide_text dd:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.course .support__slide .splide__slide .support__slide_text .font_small dt {
  font-size: 1.4rem;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text .font_small dt {
    font-size: 1.5rem;
  }
}
.course .support__slide .splide__slide .support__slide_text .font_small dd {
  font-size: 1.3rem;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_text .font_small dd {
    font-size: 1.4rem;
  }
}
.course .support__slide .splide__slide .support__slide_hulfflex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.course .support__slide .splide__slide .support__slide_hulfflex:not(:last-child) {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_hulfflex:not(:last-child) {
    margin-bottom: 40px;
  }
}
.course .support__slide .splide__slide .support__slide_hulfflex .support__slide_hulf {
  width: 100%;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_hulfflex .support__slide_hulf {
    width: 45.17%;
    margin-bottom: 0;
  }
}
.course .support__slide .splide__slide .support__slide_hulfflex .support__slide_hulf:not(:last-child) {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_hulfflex .support__slide_hulf:not(:last-child) {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_hulfflex .support__slide_hulf:nth-child(even) {
    margin-left: auto;
  }
}
.course .support__slide .splide__slide .support__slide_hulfflex figure {
  margin-bottom: 20px;
}
.course .support__slide .splide__slide .support__slide_hulfflex figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course .support__slide .splide__slide .support__slide_hulfflex .support__slide_text {
  width: 100%;
}
.course .support__slide .splide__slide .support__slide_clmflex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 30px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_clmflex {
    gap: 40px 3.06%;
  }
}
.course .support__slide .splide__slide .support__slide_clmflex:not(:last-child) {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_clmflex:not(:last-child) {
    margin-bottom: 40px;
  }
}
.course .support__slide .splide__slide .support__slide_clmflex .support__slide_clm {
  width: 100%;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__slide .support__slide_clmflex .support__slide_clm {
    flex: 1;
  }
}
.course .support__slide .splide__slide .support__slide_clmflex figure {
  margin-bottom: 20px;
}
.course .support__slide .splide__slide .support__slide_clmflex figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course .support__slide .splide__slide .support__slide_clmflex .support__slide_text {
  width: 100%;
}
.course .support__slide .splide__arrows {
  width: calc(100% - 40px);
  margin: 0 auto;
  position: absolute;
  top: 23%;
  left: 0;
  right: 0;
  z-index: 1;
}
@media print, screen and (min-width: 360px) {
  .course .support__slide .splide__arrows {
    top: 25%;
  }
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__arrows {
    width: calc(100% - 254px);
    top: 50%;
    transform: translateY(-50%);
  }
}
.course .support__slide .splide__arrows button {
  width: 31px;
  height: 31px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__arrows button {
    width: 70px;
    height: 70px;
  }
}
@media print, screen and (min-width: 1280px) {
  .course .support__slide .splide__arrows button {
    width: 89px;
    height: 89px;
  }
}
.course .support__slide .splide__arrows button svg {
  display: none;
}
.course .support__slide .splide__arrows button.splide__arrow--prev {
  background: url(../img/support_slide_prev.svg) no-repeat center center;
  background-size: 100% 100%;
  left: -10px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__arrows button.splide__arrow--prev {
    left: 0;
  }
}
.course .support__slide .splide__arrows button.splide__arrow--next {
  background: url(../img/support_slide_next.svg) no-repeat center center;
  background-size: 100% 100%;
  right: -10px;
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__arrows button.splide__arrow--next {
    right: 0;
  }
}
@media print, screen and (min-width: 641px) {
  .course .support__slide .splide__arrows button:hover {
    opacity: 0.7;
  }
}
.course .support_thumbnail {
  padding: 0 20px;
  margin-bottom: 35px;
  /*.splide__track {
      min-width: 1500px;
      left: 50%;
      transform: translateX(-50%);
      @include sp {
          min-width: 2000px;
      }
  }*/
}
@media print, screen and (min-width: 641px) {
  .course .support_thumbnail {
    padding: 0;
    margin-bottom: 35px;
  }
}
.course .support_thumbnail ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 0;
  padding: 0 !important;
  transform: translateX(0) !important;
}
@media print, screen and (min-width: 641px) {
  .course .support_thumbnail ul {
    justify-content: center;
    gap: 0;
  }
}
.course .support_thumbnail ul li {
  font-size: 1.5rem;
  font-weight: 500;
  color: #b4b4b4;
  text-align: center;
  line-height: 1.33;
  letter-spacing: 0.04em;
  width: 50% !important;
  padding: 0 0 4px 0;
  border-bottom: 2px solid transparent;
  transition: color 0.3s, border 0.3s;
  cursor: pointer;
}
@media print, screen and (min-width: 641px) {
  .course .support_thumbnail ul li {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    width: auto !important;
    padding: 0 30px 15px 30px;
  }
}
.course .support_thumbnail ul li.is-active {
  color: #d02f3a;
  border-bottom: 2px solid #E40313;
}
@media print, screen and (min-width: 641px) {
  .course .support_thumbnail ul li:hover {
    color: #d02f3a;
    border-bottom: 2px solid #E40313;
  }
}

.features__action {
  margin-bottom: 60px;
}
@media print, screen and (min-width: 641px) {
  .features__action {
    margin-bottom: 120px;
  }
}
.features__action .features__block_title {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 641px) {
  .features__action .features__block_title {
    margin-bottom: 65px;
  }
}
.features__action .action_slide .splide__track {
  padding-bottom: 30px;
}
.features__action .action_slide ul {
  align-items: flex-start;
}
.features__action .action_slide .splide__list li {
  border-radius: 20px;
  box-shadow: 0 10px 20px rgba(100, 76, 76, 0.4);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
}
.features__action .action_slide .splide__list li:nth-child(even) {
  margin-top: 150px;
}
.features__action .action_slide .splide__list li figure {
  width: 100%;
}
.features__action .action_slide .splide__list li figure img {
  width: 100%;
}
.features__action .action_slide .splide__list li span {
  font-size: 1.5rem;
  font-weight: 500;
  width: 100%;
  display: block;
  padding: 15px 30px 15px 15px;
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__list li span {
    font-size: 1.9rem;
    padding: 18px 30px 18px 18px;
  }
}
.features__action .action_slide .splide__list li span::before, .features__action .action_slide .splide__list li span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
}
.features__action .action_slide .splide__list li span::before {
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  right: 17px;
  transform: translateY(-50%) rotate(45deg);
  z-index: 2;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__list li span::before {
    width: 9px;
    height: 9px;
    right: 27px;
  }
}
.features__action .action_slide .splide__list li span::after {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #E40313;
  right: 10px;
  transform: translateY(-50%);
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__list li span::after {
    width: 25px;
    height: 25px;
    right: 17px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__list li:hover {
    box-shadow: 2px 2px 5px rgba(100, 76, 76, 0.3);
    transform: translate(3px, 3px);
  }
}
.features__action .action_slide .splide__pagination {
  gap: 10px;
  margin-top: 10px;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__pagination {
    gap: 20px;
    margin-top: 35px;
    margin-bottom: 60px;
  }
}
.features__action .action_slide .splide__pagination li {
  width: 10px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__pagination li {
    width: 12px;
  }
}
.features__action .action_slide .splide__pagination button {
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 50%;
  background-color: #FFF;
  transition: background 0.3s;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_slide .splide__pagination button {
    width: 12px;
    height: 12px;
  }
  .features__action .action_slide .splide__pagination button:hover {
    background-color: #E40313;
  }
}
.features__action .action_slide .splide__pagination button.is-active {
  background-color: #E40313;
}
.features__action .action_modal {
  width: 100%;
  height: 100vh;
  display: none;
  padding: 40px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
}
.features__action .action_modal .action_modal__wrap {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 1;
  transform: translateY(-50%);
}
.features__action .action_modal .action_modal__body {
  max-width: calc(100% - 40px);
  max-height: calc(100vh - 60px);
  padding: 30px 20px;
  margin: 0 auto;
  border-radius: 20px;
  background-color: #FFF;
  overflow: auto;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__body {
    padding: 50px;
  }
}
.features__action .action_modal .action_modal__content {
  display: none;
}
.features__action .action_modal .action_modal__content .action_modal__content_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.features__action .action_modal .action_modal__content figure {
  width: 100%;
  margin-bottom: 30px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content figure {
    width: 40.5%;
    margin-bottom: 0;
  }
}
.features__action .action_modal .action_modal__content figure img {
  width: 100%;
}
.features__action .action_modal .action_modal__content .modal__content_text {
  width: 100%;
  margin-left: auto;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text {
    width: 53.2%;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 {
    font-size: 3rem;
    margin-bottom: 25px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 .bdr {
  width: calc(100% - 20px);
  height: 1px;
  display: block;
  margin: 0 auto;
  background-color: #E40313;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr {
    width: calc(100% - 40px);
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 .bdr:first-child {
  margin-bottom: 15px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr:first-child {
    margin-bottom: 10px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 .bdr:last-child {
  margin-top: 15px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr:last-child {
    margin-top: 10px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::before, .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::after {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  border: 1px solid #E40313;
  border-radius: 50%;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::before, .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::after {
    width: 8px;
    height: 8px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::before {
  left: -10px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::before {
    left: -20px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::after {
  right: -10px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text h4 .bdr::after {
    right: -20px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text p {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2.3;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text p {
    font-size: 1.5rem;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text p:not(:last-child) {
  margin-bottom: 25px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text p:not(:last-child) {
    margin-bottom: 40px;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text a {
  font-size: 1.4rem;
  font-weight: 500;
  color: #41313a;
  text-decoration: none;
  line-height: 1.5;
  width: 100%;
  display: block;
  padding: 12px 40px 12px 0;
  border-bottom: 2px solid #E40313;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__content .modal__content_text a {
    font-size: 1.5rem;
    max-width: 335px;
    padding: 15px 40px 15px 0;
  }
}
.features__action .action_modal .action_modal__content .modal__content_text a:not(:last-child) {
  margin-bottom: 10px;
}
.features__action .action_modal .action_modal__content .modal__content_text a::before, .features__action .action_modal .action_modal__content .modal__content_text a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
}
.features__action .action_modal .action_modal__content .modal__content_text a::before {
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  right: 8px;
  transform: translateY(-50%) rotate(45deg);
  z-index: 2;
}
.features__action .action_modal .action_modal__content .modal__content_text a::after {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #d02f3a;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.features__action .action_modal .action_modal__close {
  width: 40px;
  height: 40px;
  display: block;
  border-radius: 50%;
  background-color: #E40313;
  position: absolute;
  top: -15px;
  right: 5px;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__close {
    width: 58px;
    height: 58px;
    top: -20px;
    right: 0;
  }
}
.features__action .action_modal .action_modal__close span {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.features__action .action_modal .action_modal__close span::before, .features__action .action_modal .action_modal__close span::after {
  content: "";
  width: 26px;
  height: 2px;
  display: block;
  margin: 0 auto;
  background-color: #FFF;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 1;
}
@media print, screen and (min-width: 641px) {
  .features__action .action_modal .action_modal__close span::before, .features__action .action_modal .action_modal__close span::after {
    width: 34px;
    height: 3px;
  }
}
.features__action .action_modal .action_modal__close span::before {
  transform: translateY(-50%) rotate(45deg);
}
.features__action .action_modal .action_modal__close span::after {
  transform: translateY(-50%) rotate(-45deg);
}
.features__action .action_modal .action_modal__bg {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
}

.arrow_link_button {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.46;
  width: 100%;
  max-width: 255px;
  color: #41313a !important;
  text-decoration: none !important;
  display: block;
  padding: 0 15px 13px 15px;
  margin: 0 0 0 auto;
  position: relative;
}
@media print, screen and (min-width: 641px) {
  .arrow_link_button {
    font-size: 1.5rem;
    max-width: 300px;
    margin: 0 0 0 auto;
  }
}
.arrow_link_button::before {
  content: "";
  width: 100%;
  height: 14px;
  display: block;
  background: url(../img/arow_link_button.png) no-repeat center center;
  background-size: 100% 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: left 0.3s;
}
@media print, screen and (min-width: 641px) {
  .arrow_link_button:hover::before {
    left: 15px;
  }
}

.features__consultation .consultation__head {
  text-align: center;
  padding: 0 15px;
  margin-bottom: 30px;
}
@media print, screen and (min-width: 360px) {
  .features__consultation .consultation__head {
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation .consultation__head {
    margin-bottom: 60px;
  }
}
.features__consultation .consultation__head p {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 360px) {
  .features__consultation .consultation__head p {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation .consultation__head p {
    font-size: 2rem;
    margin-bottom: 18px;
  }
}
.features__consultation .consultation__head h3 {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.2;
}
@media print, screen and (min-width: 360px) {
  .features__consultation .consultation__head h3 {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation .consultation__head h3 {
    font-size: 3.9rem;
  }
}
.features__consultation .consultation__head h3 span {
  font-size: 2rem;
}
@media print, screen and (min-width: 360px) {
  .features__consultation .consultation__head h3 span {
    font-size: 2.6rem;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation .consultation__head h3 span {
    font-size: 4.8rem;
  }
}
.features__consultation ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul {
    border-top: 1px solid #FFF;
  }
}
.features__consultation ul li {
  width: 100%;
  border-top: 1px solid #FFF;
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul li {
    flex: 1;
    border-top: none;
  }
  .features__consultation ul li:not(:last-child) {
    border-right: 1px solid #FFF;
  }
}
.features__consultation ul a {
  text-decoration: none;
  display: flex;
  align-items: center;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.3);
  transition: background 0.3s;
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul a {
    text-align: center;
    display: block;
    padding: 54px 20px 45px 20px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul a:hover {
    background-color: rgb(255, 255, 255);
  }
}
.features__consultation ul figure {
  width: 50px;
}
@media print, screen and (min-width: 360px) {
  .features__consultation ul figure {
    width: 59px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul figure {
    width: 100%;
    max-width: 108px;
    margin: 0 auto 30px auto;
  }
}
.features__consultation ul figure img {
  width: 100%;
}
.features__consultation ul dl {
  flex: 1;
  padding-left: 15px;
}
@media print, screen and (min-width: 360px) {
  .features__consultation ul dl {
    padding-left: 25px;
  }
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul dl {
    flex: none;
    padding-left: 0;
  }
}
.features__consultation ul dt {
  font-size: 1.6rem;
  font-weight: 500;
  color: #E40313;
  line-height: 1.5;
  margin-bottom: 8px;
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul dt {
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
  }
}
.features__consultation ul dd {
  font-size: 1.3rem;
  font-weight: 500;
  color: #41313a;
  line-height: 1.53;
}
@media print, screen and (min-width: 641px) {
  .features__consultation ul dd {
    max-width: 250px;
    margin: 0 auto;
  }
}