@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap" rel="stylesheet');

body {
	font-family: "Noto Sans JP","游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	font-weight: 400;
  overflow-x: hidden;
  letter-spacing: .05em;
}
main {
  line-height: 1;
}

:root {
  --bg_gr: #f7f7f4;
  --bg_red: #df0011;
  --bg_blue: #004294;
  --bg_wh: #fff;
}

.inner__wrap {
  margin-inline: auto;
}
main a {
  text-decoration: none;
  color: #000;
}
main img {
  display: block;
  max-width: 100%;
  height: auto;
}
main picture {
  display: block;
  overflow: hidden;
}
main picture>img {
  width: 100%;
}
main ul,ol {
  list-style: none;
}

.bg__color {
  background: #e8f6f7;
}

#vantan-main {
  overflow: hidden;
}
.cv__red {
  background: #DF0011;
  border-radius: 50vh;
  color: #fff;
  text-align: center;
  transition: background .3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1ch;
}
.cv__red:hover {
  background: #f41021;
}
.cv__red p {
  font-weight: 500;
}

.cv__wrap {
  background: url(../img/cv__bg.gif) 0 0 / 60px repeat;
  text-align: center;
}
.cv__cap {
  background: #fff;
  border-radius: 10px;
  color: #125BA3;
}
.cv__cap p {
  font-weight: 600;
}
.cv__fx__cap strong {
  display: block;
  color: #fff;
}
.cv__fx__cap strong em {
  color: #FADC55;
  font-style: normal;
}
.cv__fx__cap a {
  line-height: 1.63;
}
.floating__cv {
  position: fixed;
  z-index: 2;
  background: #fff;
  display: none;
}
.ftcv__fx {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.ftcv__fx a p span {
  display: block;
}


@media screen and (max-width: 767px) { /*  sp  */

  html {
    font-size: 62.5%;
  }
  :root {
    --px10: 2.7vw;
    --px12: 3.2vw;
    --px14: 3.7vw;
    --px16: 4.3vw;
    --px18: 4.8vw;
    --px20: 5.3vw;
    --px22: 5.9vw;
    --px24: 6.4vw;
  }
  .inner__wrap {
    width: 92%;
  }
  .inner__wrap .narrow__wrap {
    margin-inline: auto;
    width: 94.20%;
  }
  .sp__only {
    display: block;
  }
  .pc__only {
    display: none;
  }
  
  .cv__wrap {
    padding-top: 15px;
  }
  .cv__inner {
    width: 92%;
  }
  .cv__cap {
    margin-bottom: var(--px18);
    padding: .86em 0;
  }
  .cv__cap p {
    font-size: var(--px16);
    line-height: 1.63;
  }
  .cv__fx__cap strong {
    font-size: var(--px20);
    margin-bottom: var(--px16);
  }
  .cv__fx__cap a {
    aspect-ratio: 345/90;
    font-size: var(--px20);
    width: 100%;
  }
  .cv__fx picture {
    width: 88.12%;
    margin-top: var(--px12);
    margin-inline: auto;
  }
  .floating__cv {
    width: 100%;
    right: 0;
    bottom: 0;
    padding: 10px 0;
  }
  .floating__cv .ftcv__fx {
    width: 94%;
    margin: 0 auto;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 2%;
  }
  .floating__cv .ftcv__fx a {
    aspect-ratio: 280 / 80;
    font-weight: bold;
    box-shadow: 0 2px 3px 1.5px rgba(0,0,0,.2);
    width: 49%;
  }
  .ftcv__fx a p {
    font-size: var(--px12);
  }
  .ftcv__fx a p span {
    font-size: .84em;
    margin-bottom: .3em;
  }

}

@media screen and (min-width: 768px) { /*  pc  */

  .inner__wrap {
    max-width: 960px;
    padding: 0 20px;
  }
  .sp__only {
    display: none;
  }
  .pc__only {
    display: block;
  }
  .cv__wrap {
    padding-top: 50px;
  }
  .cv__cap {
    padding: 1.14em 0;
  }
  .cv__cap p {
    font-size: 22px;
    line-height: 1.63;
  }
  .cv__inner {
    max-width: 960px;
  }
  .cv__fx {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-end;
    align-items: flex-end;
  }
  .cv__fx__cap {
    margin-top: 48px;
    margin-bottom: auto;
    width: min(49%, 430px);
  }
  .cv__fx__cap strong {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .cv__fx__cap a {
    aspect-ratio: 430/110;
    font-size: 22px;
    width: 100%;
  }
  .cv__fx picture {
    width: min(40.34%,355px);
    margin-top: 20px;
    margin-right: 6.8%;
  }
  .floating__cv {
    /* width: 550px; */
    right: 0;
    bottom: 0;
    transition: bottom .5s;
    padding: 15px 18px;
    border-radius: 20px 0 0 0;
  }
  .floating__cv .ftcv__fx {
    gap: 10px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
  .floating__cv .ftcv__fx a {
    aspect-ratio: 280 / 80;
    font-weight: bold;
    box-shadow: 0 2px 3px 1.5px rgba(0,0,0,.2);
  }
  .ftcv__fx a p {
    font-size: 17px;
  }
  .ftcv__fx a p span {
    font-size: .84em;
    margin-bottom: .5em;
  }
  /* 1個の場合 */
  .floating__cv:has(.ftcv__fx a:nth-child(1):nth-last-child(1)) {
    width: 300px;
  }
  .floating__cv:has(.ftcv__fx a:nth-child(1):nth-last-child(1)) .ftcv__fx a  {
    width: 100%;
  }

  /* 2個の場合 */
  .floating__cv:has(.ftcv__fx a:nth-child(1):nth-last-child(2)) {
    width: 550px;
  }
  .floating__cv:has(.ftcv__fx a:nth-child(1):nth-last-child(2)) .ftcv__fx a {
    width: 49%;
  }



}


/* -----------------------------------------------
kv
----------------------------------------------- */
.kv__wrap {
  position: relative;
}
.kv__wrap h2 {
  position: absolute;
  left: 0;
  top: 0;
}
.kv__wrap h2 img {
  width: 100%;
}
.kv__wrap .kv__cv {
  position: absolute;
  bottom: 0;
  right: 0;
}
.kv__cv .kv__fx {
  display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.kv__cv a {
  height: auto;
}
.kv__cv a p {
  line-height: 1.8;
  font-weight: 600;
}
.kv__cv a p span {
  display: block;
}

@media screen and (max-width: 767px) { /*  sp  */

  .kv__wrap {
    aspect-ratio: 750/1080;
    background: url(../img/fv_sp.jpg) 50% 0 / cover no-repeat;
  }
  .kv__wrap h2 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .kv__wrap .kv__cv {
    top: 88.7%;
    right: 0;
    left: 0;
    width: 94.66%;
    margin: auto;
  }
  .kv__cv .kv__fx {
    gap: 1.408%;
  }
  .kv__cv a {
    aspect-ratio: 175 / 50;
    width: 53.33%;
    margin-inline: auto;
  }
  .kv__cv a p {
    font-size: var(--px12);
  }
  .kv__cv a p span {
    font-size: .83em;
  }

}

@media screen and (min-width: 768px) { /*  pc  */

  .kv__wrap {
    aspect-ratio: 1440/694;
    background: url(../img/fv_pc.jpg) 0 0 / contain no-repeat;
  }
  .kv__wrap h2 {
    aspect-ratio: 706/897;
    width: 30.25vw;
    left: 6.4%;
    top: 7%;
  }
  .kv__wrap .kv__cv {
    bottom: 2.8%;
    right: 1.5%;
  }
  .kv__cv a {
    aspect-ratio: 280 / 80;
    width: 280px;
    margin-left: 10px;
  }
  .kv__cv a p {
    font-size: 19px;
  }
  .kv__cv a p span {
    font-size: .84em;
  }

}



/* -----------------------------------------------
sec__head__wrap
----------------------------------------------- */
.sec__head__wrap {
  background: #fff;
  text-align: center;
  position: relative;
}
.sec__head__wrap:after {
  border-color: #fff transparent transparent transparent;
}
.sec__head__wrap.green {
  background: #7FD4D4;
  color: #fff;
}
.sec__head__wrap.green:after {
  border-color: #7FD4D4 transparent transparent transparent;
}
.sec__head__wrap:after,
.sec__head__wrap.green:after {
  border-style: solid;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0px;
  height: 0px;
  /* transform: rotate(0deg); */
}
.sec__head__wrap > * {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1ch;
}

@media screen and (max-width: 767px) { /*  sp  */ 

  .sec__head__wrap {
    margin-bottom: 30px;
  }
  .sec__head__wrap > * {
    font-size: var(--px20);
    line-height: 1.45;
    padding: 1.08em 0;
    min-height: 5em;
  }
  .sec__head__wrap:after,
  .sec__head__wrap.green:after {
    border-width: 20px 20px 0 20px;
  }

}

@media screen and (min-width: 768px) { /*  pc  */ 

  .sec__head__wrap {
    margin-bottom: 88px;
    max-width: 920px;
    margin-inline: auto;
  }
  .sec__head__wrap > * {
    font-size: 32px;
    line-height: 1.46;
    height: 150px;
  }
  .sec__head__wrap:after,
  .sec__head__wrap.green:after {
    border-width: 50px 50px 0 50px;
  }

}



/* -----------------------------------------------
about
----------------------------------------------- */
.sec__about {}
.sec__about picture.section__mv {
  border-radius: 10px;
}
.about__cap {
  text-align: center;
}
.about__cap h3 {
  color: #40B0B0;
}
.about__cap p {}
.about__cap p em {
  font-weight: bold;
  background: linear-gradient(transparent 70%, #FADC55 70%);
  font-style: normal;
}
.about__list {
  background: #fff;
  border-radius: 5px;
}
.about__list__item strong {
  background: #7FD4D4;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  display: block;
  margin-inline: auto;
}
.point__wrap {
  background: #fff;
  border: 6px solid #7FD4D4;
}
.point__wrap h3 {
  background: #7FD4D4;
  color: #fff;
  margin-inline: auto;
  text-align: center;
}
.point__list {
  counter-reset: number;
}
.point__list li strong {
  position: relative;
  color: #40B0B0;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(127, 212, 212, 0.3) 1px, rgba(127, 212, 212, 0.3) 2px );
  display: block;
}
.point__list li strong::before {
  aspect-ratio: 1 / 1;
  background: #40B0B0;
  color: #fff;
  counter-increment: number;
  content: "0" counter(number);
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
}
.point__list li picture {
  border-radius: 5px;
}

@media screen and (max-width: 767px) { /*  sp  */ 

  .sec__about {
    padding-bottom: 15px;
  }
  .about__cap {
    padding-top: 24px;
    margin-bottom: 18px;
  }
  .about__cap h3 {
    font-size: var(--px24);
    line-height: 1.5;
    margin-bottom: 18px;
  }
  .about__cap p {
    font-size: var(--px16);
    line-height: 2.125;
    text-align: left;
  }
  .about__list {
    padding: 5px 5px 2px;
    margin-bottom: 30px;
  }
  .about__list .about__list__item {
    margin-bottom: 24px;
  }
  .about__list__item strong {
    font-size: var(--px18);
    line-height: 1.22;
    padding: .78em 0;
    margin-bottom: 10px;
  }
  .about__list__item figure picture {
    max-width: 85.50%;
    margin-inline: auto;
    margin-bottom: 9px;
  }
  .about__list__item p {
    font-size: var(--px16);
    line-height: 2.125;
    max-width: 85.50%;
    margin-inline: auto;
  }
  .point__wrap {
    padding-bottom: 10px;
  }
  .point__wrap h3 {
    font-size: var(--px24);
    border-radius: 0 0 30px 30px;
    width: 69.07%;
    padding: .6em 0 .7em;
    margin-bottom: 16px;
  }
  .point__list {
    width: 100%;
    max-width: 842px;
    margin-inline: auto;
    padding: 0 20px;
  }
  .point__list li:not(:last-child) {
    margin-bottom: 18px;
  }
  .point__list li picture {
    margin-bottom: 10px;
  }
  .point__list li strong {
    font-size: var(--px18);
    line-height: 1.22;
    margin-bottom: 10px;
    min-height: 2.223em;
    padding: .5em 0 .5em calc(2.223em + 10px);
  }
  .point__list li strong::before {
    font-size: var(--px24);
    width: auto;
    height: 100%;
    max-height: 1.667em;
    line-height: 1.6em;
  }
  .point__list li p {
    font-size: var(--px16);
    line-height: 2.125;
  }

}

@media screen and (min-width: 768px) { /*  pc  */ 

  .sec__about {
    padding-top: 40px;
    padding-bottom: 84px;
  }
  .about__cap {
    padding-top: 80px;
    margin-bottom: 74px;
  }
  .about__cap h3 {
    font-size: 32px;
    line-height: 1.46;
    margin-bottom: 33px;
  }
  .about__cap p {
    font-size: 16px;
    line-height: 2.25;
  }
  .about__list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-bottom: 60px;
    padding: 40px 0 34px;
  }
  .about__list .about__list__item {
    width: 28.26%;
    margin-inline: 1.6%;
  }
  .about__list__item strong {
    font-size: 18px;
    line-height: 1.22;
    padding: .45em 0;
    margin-bottom: 12px;
  }
  .about__list__item figure picture {
    margin-bottom: 24px;
  }
  .about__list__item p {
    font-size: 16px;
    line-height: 2.125;
  }
  .point__wrap {
    padding-bottom: 4px;
  }
  .point__wrap h3 {
    font-size: 24px;
    border-radius: 0 0 30px 30px;
    width: 230px;
    padding: 12px 0 18px;
    margin-bottom: 50px;
  }
  .point__list {
    width: 100%;
    max-width: 842px;
    margin-inline: auto;
    padding: 0 20px;
  }
  .point__list li {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-bottom: 50px;
  }
  .point__list li picture {
    width: 44.89%;
  }
  .point__list li div {
    width: 49.88%;
  }
  .point__list li strong {
    font-size: 18px;
    line-height: 1.22;
    margin-bottom: 16px;
    min-height: 40px;
    padding: .5em 0 .5em 50px;
  }
  .point__list li strong::before {
    font-size: 24px;
    width: 40px;
    height: auto;
    line-height: 38px;
  }
  .point__list li p {
    font-size: 16px;
    line-height: 2.125;
  }

}



/* -----------------------------------------------
feature
----------------------------------------------- */
.sec__feature {}
.feature__list__wrap .feature__list__item {
  border-style: solid;
  border-width: 6px;
  background: #fff;
}
.feature__list__item h3 {
  border-radius: 6px;
  position: relative;
  display: flex;
  -webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
  gap: 1ch;
}
.feature__list__item h3 i {
  font-style: normal;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/feature_num_bg.svg) 0 / contain no-repeat;
}
.feature__list__item h3 span {
  color: #fff;
}
.feature__list__item .reco__wrap {
  position: relative;
  border-radius: 5px;
}
.feature__list__item .reco__wrap span {
  display: block;
}
.feature__list__item .reco__wrap span img {
  width: 100%;
  height: auto;
}
.feature__list__item .reco__wrap span,
.feature__list__item .reco__wrap picture {
  position: absolute;
}
.feature__item__mv,
.feature__item__img {
  border-radius: 5px;
  margin-inline: auto;
}
.feature__item__cap {
  margin-inline: auto;
}

/* num 01 */
.feature__list__wrap .feature__list__item:nth-child(1) {
  border-color: #437DD5;
}
.feature__list__wrap .feature__list__item:nth-child(1) h3 {
  background: #437DD5;
}
.feature__list__wrap .feature__list__item:nth-child(1) h3 i {
  color: #437DD5;
}
.feature__list__wrap .feature__list__item:nth-child(1) .reco__wrap {
  background: rgba(67,125,213,.1);
}
.feature__list__wrap .feature__list__item:nth-child(2) {
  border-color: #4FBFE9;
}
.feature__list__wrap .feature__list__item:nth-child(2) h3 {
  background: #4FBFE9;
}
.feature__list__wrap .feature__list__item:nth-child(2) h3 i {
  color: #4FBFE9;
}
.feature__list__wrap .feature__list__item:nth-child(2) .reco__wrap {
  background: #EDF9FC;
}
.feature__list__wrap .feature__list__item:nth-child(3) {
  border-color: #3CB68B;
}
.feature__list__wrap .feature__list__item:nth-child(3) h3 {
  background: #3CB68B;
}
.feature__list__wrap .feature__list__item:nth-child(3) h3 i {
  color: #3CB68B;
}
.feature__list__wrap .feature__list__item:nth-child(4) {
  border-color: #6862D0;
}
.feature__list__wrap .feature__list__item:nth-child(4) h3 {
  background: #6862D0;
}
.feature__list__wrap .feature__list__item:nth-child(4) h3 i {
  color: #6862D0;
}
.feature__list__wrap .feature__list__item:nth-child(4) .feature__item__mv {
  /* border-radius: 10px; */
  border: 1px solid #cfcfcf;
}

.field__list__wrap h4 {
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(67, 125, 213, 0.3) 1px, rgba(67, 125, 213, 0.3) 2px );
  color: #437DD5;
  text-align: center;
}
.field__list .field__list__item {
  position: relative;
}
.field__list__item:nth-child(-n+2):after,
.field__list__item:nth-child(4):after {
  content: "";
  background: #E4E4E4;
  position: absolute;
}
.field__list .field__list__item strong {
  text-align: center;
  border-radius: 5px;
  color: #fff;
}
/* .field__list__item:not(:nth-child(3)) strong {
  color: #fff;
} */
.field__list__item:nth-child(1) strong {
  background: #F776C4;
}
.field__list__item:nth-child(2) strong {
  background: #8CC73F;
}
.field__list__item:nth-child(3) strong {
  background: #0074BB;
}
.field__list__item:nth-child(4) strong {
  background: #F58221;
}
.field__list__item:nth-child(5) strong {
  background: #8D5CA5;
}

/* num 02 */
.feature__btn__list li a {
  display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
  color: #fff;
  position: relative;
}
.feature__btn__list li a:after {
  content: "";
  aspect-ratio: 1 / 1;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><polygon points="20 9 11 9 11 0 9 0 9 9 0 9 0 11 9 11 9 20 11 20 11 11 20 11 20 9" fill="%23ffffff"/></svg>');
  position: absolute;
}
.feature__btn__list li:nth-child(1) a {
  background: #4FBFE9;
}
.feature__btn__list li:nth-child(2) a {
  background: #FF772D;
}
.feature__btn__list li a span {
  font-weight: bold;
}
.feature__course__wrap h4 {
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(79, 192, 233, 0.2) 1px, rgba(79, 192, 233, 0.2) 2px );
  color: #4FBFE9;
  text-align: center;
}
.feature__course__fx .feature__course__item {
  text-align: center;
  position: relative;
}
.feature__course__item strong {
  border-radius: 0 0 10px 10px;
  color: #fff;
  display: inline-block;
}
.feature__course__item:nth-child(1) {
  background: rgba(79, 192, 233, 0.1);
}
.feature__course__item:nth-child(2) {
  background: rgba(255, 118, 45, 0.1);
}
.feature__course__item:nth-child(1) strong {
  background: #4FBFE9;
}
.feature__course__item:nth-child(2) strong {
  background: #FF772D;
}
.feature__course__item p {
  display: block;
  text-align: left;
}
.feature__course__item span.att {
  display: block;
  text-align: right;
  position: absolute;
  top: calc(100% + 0.5em);
  font-size: .7em;
  width: 100%;
  box-sizing: border-box;
  left: 0;
}
.feature__days__wrap ul li {
  background: #FDF6D3;
  border-radius: 5px;
}
.feature__days__wrap li strong {
  color: #4FBFE9;
  display: block;
  text-align: center;
}
.term__wrap {
  background: #FDF6D3;
  border-radius: 5px;
}
.term__wrap > strong {
  color: #4FBFE9;
  text-align: center;
}
.term__wrap dl dt strong {
  background: linear-gradient(transparent 70%, #FADC55 70%);
}
.term__wrap dl dd {
  margin-inline: auto;
}
.term__wrap dl dd img {
  width: 100%;
  height: auto;
}
.modaal-container {
  background: none;
  color: #fff;
}

.modal__inner {
  text-align: center;
}
.modal__inner strong {
  display: block;
  margin: auto;
}
.modal__inner strong span {
  display: block;
}
.modal__inner strong em {
  /* background: #4FBFE9; */
  background: #FF772D;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-style: normal;
  text-align: center;
}
.modal__inner figure span {
  text-align: right;
  display: block;
}
.modal__inner figcaption {
  text-align: left;
}
.modal__01 strong em {
  background: #4FBFE9;
}
.modaal-container {
  box-shadow: none;
}
.modaal-wrapper .modaal-close {
  background: #fff;
  border-radius: 0;
}
.modaal-close:after,
.modaal-close:before {
  background: #000;
  border-radius: 0;
}
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
  background: #6DBDBE;
}


/* num 03 */
.course__list__wrap {}
.course__list__wrap .course__list__item {
  position: relative;
}
.course__list__item:nth-child(-n+2):after {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-color: #3CB68B transparent transparent transparent;
  transform: rotate(0deg);

}
.course__list__item picture {
  position: absolute;
  top: 0;
  left: 0;
}
.course__list__item picture img {
  margin: auto;
}
.course__list__item .course__bg {
  background: rgba(250,220,85,.25);
  border-radius: 5px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
  gap: 1ch;
}
.course__bg strong {
  color: #3CB68B;
}

/* curriculum */
.curriculum__wrap {}
.curriculum__wrap h4,
.alumni__wrap h4 {
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(60, 182, 139, 0.3) 1px, rgba(60, 182, 139, 0.3) 2px );
  color: #3CB68B;
  text-align: center;
}
.curriculum__wrap .curriculum__item div {
  position: relative;
}
.curriculum__wrap .curriculum__item div span {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  display: block;
  text-align: right;
  width: 100%;
}
.curriculum__wrap .curriculum__item strong {
  display: block;
}
.alumni__wrap .alumni__item strong {
  color: #3CB68B;
  text-align: center;
  display: block;
}
.alumni__wrap .alumni__item picture {
  margin-inline: auto;
}

.career__wrap {
  background: rgba(250, 220, 85, 0.25);
  border-radius: 5px;
}
.career__wrap strong {
  display: block;
  text-align: center;
  color: #3CB68B;
}
.career__wrap ul li:before {
  content: "● ";
  color: #3CB68B;
}

@media screen and (max-width: 767px) { /*  sp  */ 

  .sec__feature {
    padding: 0 0 15px;
  }
  .feature__list__wrap .feature__list__item {
    padding: 14px 0 19px;
    margin-bottom: 25px;
  }
  .feature__list__item h3 {
    font-size: var(--px18);
    padding: 1.167em 0 1.167em 3.6em;
    max-width: 97.6%;
    margin-inline: auto;
    margin-bottom: 15px;
  }
  .feature__list__item h3 i {
    aspect-ratio: 70 / 65;
    font-size: var(--px24);
    width: 2.9167em;
    height: auto;
    top: -16%;
    left: 6px;
    padding-left: .4em;
    padding-top: 1.1em;
  }
  .feature__list__item > *:not(h3) {
    width: 88.59%;
    margin-inline: auto;
  }
  .feature__item__mv,
  .feature__item__cap,
  .feature__item__img {
    max-width: 590px;
  }
  .feature__item__mv {
    margin-bottom: 10px;
  }
  .feature__item__cap {
    font-size: var(--px16);
    line-height: 2.125;
    margin-bottom: 30px;
  }
  .feature__item__mv + .feature__item__cap {
    margin-bottom: 34px;
  }

/* num 01 */
  .field__list__wrap h4 {
    font-size: var(--px18);
    line-height: 2.223em;
    margin-bottom: 25px;
  }
  .field__list__wrap .field__list {
    margin-bottom: 112px;
  }
  .field__list .field__list__item {
    display: grid; 
    grid-template-columns: 40.678% 55.933%; 
    grid-template-rows: auto auto auto; 
    gap: 0px 3.38%; 
    grid-template-areas: 
      "picture head"
      "picture para"
      ". .";
    padding-bottom: 21px;
  }
  .field__list__item:nth-child(-n+4) {
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 24px;
  }  
  .field__list__item strong {
    grid-area: head;
    font-size: var(--px18);
    line-height: 1.667em;
    margin-bottom: 15px;
  }
  .field__list__item picture {
    grid-area: picture;
    margin-bottom: 20px;
  }
  .field__list__item p {
    grid-area: para;
    font-size: var(--px14);
    line-height: 2;
    margin-left: auto;
    margin-right: 0;
  }
  .feature__list__item .reco__wrap {
    max-width: 590px;
    margin-inline: auto;
    padding: 11.3% 0 3.3% 4%;
  }
  .feature__list__item .reco__wrap p {
    font-size: var(--px14);
    line-height: 2;
    width: 65.42%;
  }
  .feature__list__item .reco__wrap span {
    bottom: 80%;
    left: 0;
    width: 37.288%;
  }
  .feature__list__item .reco__wrap picture {
    right: -3.389%;
    bottom: 0;
    width: 35.59%;
  }
  

/* num 02 */

  .feature__list__wrap .feature__list__item:nth-child(2) h3 {
    line-height: 1.22;
    padding: .45em 0 .45em 3.6em;
  }
  .feature__course__wrap {
    margin-bottom: 40px;
  }
  .feature__course__wrap h4 {
    font-size: var(--px18);
    line-height: 2.223em;
    margin-bottom: 25px;
  }
  .feature__course__fx .feature__course__item {
    padding: 0 15px 10px;
  }
  .feature__course__item strong {
    font-size: var(--px18);
    line-height: 40px;
    min-width: 196px;
    margin-bottom: 10px;
  }
  .feature__course__item picture {
    margin-bottom: 11px;
  }
  .feature__course__item p {
    font-size: var(--px14);
    line-height: 2;    
  }
  .feature__days__wrap ul li {
    padding: 14px 15px 10px;
  }
  .feature__days__wrap ul li:not(:last-child) {
    margin-bottom: 10px;
  }
  .feature__days__wrap li strong {
    font-size: var(--px18);
    margin-bottom: 10px;
  }
  .feature__days__wrap li p {
    font-size: var(--px14);
    line-height: 2;  
  }

  .feature__course__wrap h4 + p {
    font-size: var(--px16);
    line-height: 2.125;
    margin-bottom: 10px;
    position: relative;
    top: -6px;
  }

  .feature__btn__list {
    margin-bottom: 25px;
  }
  .feature__btn__list li {
    margin-bottom: 10px;
  }
  .feature__btn__list li a {
    font-size: var(--px16);
  }
  .feature__btn__list li a:after {
    width: 20px;
    height: auto;
    top: calc(50% - 10px);
    right: 10px;
  }
  .feature__btn__list li a span {
    font-size: var(--px12);
    height: auto;
    line-height: 6em;
  }
  .term__wrap {
    text-align: center;
    padding: 14px 0 15px;
    margin-bottom: 16.5vw;
  }
  .term__wrap > strong {
    font-size: var(--px16);
    line-height: 1.5;
  }
  .term__wrap p {
    font-size: var(--px14);
    line-height: 2;
    display: inline-block;
    text-align: left;
    width: 86.779%;
    padding-top: 19px;
    margin-bottom: 20px;
  }
  .term__wrap dl {
    text-align: center;
  }
  .term__wrap dl dt {
    font-size: var(--px14);
    line-height: 1.6;
    margin-bottom: 13px;
  }
  .term__wrap dl dd {
    width: 89.49%;
  }
  .modaal-container {
    max-width: 594px;
  }
  .modaal-content-container {
    padding: 0;
  }
  .modal__inner strong {
    margin-bottom: 8px;
  }
  .modal__inner strong span {
    font-size: var(--px14);
    margin-bottom: 12px;
  }
  .modal__inner strong em {
    font-size: var(--px20);
    width: 100%;
    line-height: 50px;
  }
  .modal__inner p {
    font-size: var(--px16);
    line-height: 1.75;
    margin-bottom: 10px;
    text-align: left;
  }
  .modal__inner figure img {
    width: 100%;
  }
  .modal__inner figure span {
    font-size: var(--px10);
    margin-bottom: 8px;
  }
  .modal__inner figcaption {
    font-size: var(--px10);
    line-height: 1.5;
    padding-top: 7px;
  }


/* num 03 */
  .feature__list__wrap .feature__list__item:nth-child(3) {
    margin-bottom: 0;
  }
  .feature__list__wrap .feature__list__item:nth-child(3) h3 {
    line-height: 1.22;
    padding: .45em 0 .45em 3.6em;
  }

  .course__list__wrap {
    margin-inline: auto;
    margin-bottom: 36px;
  }
  .course__list__wrap .course__list__item {
    margin-bottom: 40px;
  }
  .course__list__item:nth-child(-n+2):after {
    border-width: 20px 20px 0 20px;
    top: calc(100% + 12px);
    left: calc(50% - 20px);
  }

  .course__list__item picture {
    width: 33.898%;
    height: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1ch;
  }
  .course__list__item picture img {
    width: 70%;
    height: auto;
  }
  .curriculum__wrap .curriculum__item div span {
    font-size: var(--px10);
  }  
  .course__list__item:nth-child(-n+2) .course__bg {
    padding-top: 1.5em;
    padding-bottom: 1.3em;
  }
  .course__list__item .course__bg {
    padding-right: 4%;
    padding-left: 33.898%;
  }
  .course__bg strong {
    font-size: var(--px18);
    line-height: 1.5;
  }
  .course__bg p {
    font-size: var(--px14);
    line-height: 2;
  }
  .course__list__item:nth-child(3) {
    margin-bottom: 34px;
  }
  .course__list__item:nth-child(3) .course__bg {
    padding-top: 1.5em;
    padding-bottom: 1.3em;
  }
  .course__list__item:nth-child(3) .course__bg:nth-child(2) {
    margin-bottom: 6px;
  }
  .course__list__item:nth-child(3) .course__bg:last-child {
    padding-top: 1.4em;
    padding-bottom: 1.2em;
  }
  .course__list__wrap > p {
    font-size: var(--px16);
    line-height: 2.125;
  }

  /* curriculum */
  .curriculum__wrap {
    margin-bottom: 36px;
  }
  .curriculum__wrap h4,
  .alumni__wrap h4 {
    font-size: var(--px18);
    line-height: 1.4;
    margin-bottom: 15px;
    padding: .2em 0;
  }
  .curriculum__fx {}
  .curriculum__fx > *[class$="__item"]{}
  .curriculum__wrap picture,
  .alumni__wrap picture {
    margin-bottom: 14px;
  }
  .curriculum__wrap p,
  .alumni__wrap p {
    margin-bottom: 16px;
  }

  .curriculum__wrap .curriculum__item {}
  .curriculum__wrap .curriculum__item strong {
    font-size: var(--px16);
    margin-bottom: 10px;
  }
  .curriculum__wrap .curriculum__item p {
    font-size: var(--px14);
    line-height: 2;
  }
  .alumni__wrap {
    margin-bottom: 34px;
  }
  .alumni__wrap h4 {
    margin-bottom: 25px;
  }
  .alumni__wrap .alumni__item:first-child {
    margin-bottom: 38px;
  }
  .alumni__wrap .alumni__item picture {
    /* max-width: 240px; */
    width: 50.847%;
  }
  .alumni__wrap .alumni__item strong {
    font-size: var(--px18);
    /* text-align: center; */
    /* padding-top: 4px; */
    margin-bottom: 8px;
    text-align: left;
    line-height: 1.22;

    padding: 4px 12% 0;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .alumni__wrap .alumni__item p {
    font-size: var(--px16);
    line-height: 2.125;
  }

  .career__wrap {
    /* max-width: 590px; */
    margin-inline: auto;
    padding: 19px 0 10px;
  }
  .career__wrap strong {
    font-size: var(--px18);
    margin-bottom: 14px;
  }
  .career__wrap ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-inline: auto;
    width: 90%;
  }
  .career__wrap ul li {
    font-size: var(--px14);
    line-height: 2.2;
    margin-right: 1em;
  }
  .career__wrap ul li:nth-child(even) {
    margin-right: 0;
  }

}

@media screen and (min-width: 768px) { /*  pc  */ 

  .sec__feature {
    padding: 40px 0;
  }
  .feature__list__wrap .feature__list__item {
    padding: 38px 5.87% 54px;
    margin-bottom: 40px;
  }
  .feature__list__item h3 {
    font-size: 23px;
    height: 80px;
    padding-left: 88px;
    margin-bottom: 30px;
  }
  .feature__list__item h3 i {
    font-size: 31px;
    width: 96px;
    height: 87px;
    top: -13px;
    left: 6px;
    padding-left: 15px;
    padding-top: 34px;
  }
  /* .feature__list__item h3 span {} */
  
  .feature__item__mv,
  .feature__item__cap,
  .feature__item__img {
    max-width: 590px;
  }
  .feature__item__mv {
    margin-bottom: 16px;
  }
  .feature__list__wrap .feature__list__item:nth-child(4) .feature__item__mv {
    width: 47.5%;
  }  
  .feature__item__cap {
    font-size: 16px;
    line-height: 2.125;
    margin-bottom: 30px;
  }
  .feature__item__mv + .feature__item__cap {
    margin-bottom: 40px;
  }

/* num 01 */
  .field__list__wrap h4 {
    line-height: 40px;
    margin-bottom: 21px;
  }
  .field__list__wrap .field__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* justify-content: space-between; */
    align-items: flex-start;
    margin-bottom: 112px;
    flex-wrap: wrap;
    gap: 5%;
  }
  .field__list .field__list__item {
    max-width: 240px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    width: 30%;
    margin-bottom: 5%;
  }
  .field__list__item:nth-child(-n+2):after,
  .field__list__item:nth-child(4):after {
    width: 1px;
    height: 100%;
    top: 0;
    /* right: -10%; */
    left: 108.5%;
  }
  
  .field__list__item strong {
    -webkit-order: 1;
    order: 1;
    width: 100%;
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px;
  }
  .field__list__item picture {
    -webkit-order: 2;
    order: 2;
    margin-bottom: 20px;
  }
  .field__list__item p {
    -webkit-order: 3;
    order: 3;
    font-size: 14px;
    line-height: 2;
  }
  .feature__list__item .reco__wrap {
    max-width: 590px;
    margin-inline: auto;
    padding: 26px 0 26px 28px;
  }
  .feature__list__item .reco__wrap p {
    font-size: 14px;
    line-height: 2;
    max-width: 340px;
  }
  .feature__list__item .reco__wrap span {
    bottom: 80%;
    left: 0;
    width: 124px;
  }
  .feature__list__item .reco__wrap picture {
    right: 20px;
    bottom: 0;
    max-width: 174px;
  }

/* num 02 */
  .feature__course__wrap {
    margin-bottom: 40px;
  }
  .feature__course__wrap h4 {
    line-height: 40px;
    margin-bottom: 20px;
  }
  .feature__course__fx {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
  }
  .feature__course__fx .feature__course__item {
    width: 47.5%;
    padding: 0 15px 10px;
  }
  .feature__course__item strong {
    font-size: 18px;
    line-height: 40px;
    min-width: 196px;
    margin-bottom: 10px;
  }
  .feature__course__item picture {
    margin-bottom: 11px;
  }
  .feature__course__item p {
    font-size: 14px;
    line-height: 2;    
  }
  .feature__days__wrap {}
  .feature__days__wrap ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
  }
  .feature__days__wrap ul li {
    width: 32.5%;
    padding: 14px 15px 10px;
  }
  .feature__days__wrap li strong {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .feature__days__wrap li p {
    font-size: 14px;
    line-height: 2;  
  }
  .feature__course__wrap h4 + p {
    font-size: 16px;
    line-height: 2.125;
    margin-bottom: 10px;
    position: relative;
    top: -6px;
  }
  .feature__btn__list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-bottom: 30px;
    width: 73.75%;
    margin-inline: auto;
  }
  .feature__btn__list li {
    width: 48.31%;
    height: 72px;
    max-width: 285px;
  }
  .feature__btn__list li a {
    font-size: 16px;
    height: 72px;
  }
  .feature__btn__list li a:after {
    width: 20px;
    height: auto;
    top: calc(50% - 10px);
    right: 10px;
  }
  .feature__btn__list li a span {
    line-height: 72px;
    font-size: 16px;
  }
  .term__wrap {
    text-align: center;
    padding: 40px 0;
    margin-bottom: 112px;
  }
  .term__wrap > strong {
    font-size: 18px;
    line-height: 1.5;
  }
  .term__wrap p {
    font-size: 14px;
    line-height: 2;
    display: inline-block;
    text-align: left;
    max-width: 680px;
    padding-top: 24px;
    margin-bottom: 24px;
  }
  .term__wrap dl {
    text-align: center;
  }
  .term__wrap dl dt {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 29px;
  }
  .term__wrap dl dd {
    max-width: 460px;
  }
  .modaal-container {
    /* max-width: 594px; */
    max-width: 949px;
  }
  .modaal-content-container {
    padding: 0;
  }
  .modal__inner strong {
    margin-bottom: 8px;
  }
  .modal__inner strong span {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .modal__inner strong em {
    font-size: 20px;
    width: 324px;
    line-height: 50px;
  }
  .modal__inner p {
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 1px;
  }
  .modal__inner figure span {
    font-size: 12px;
    margin-bottom: 8px;
  }
  .modal__inner figcaption {
    font-size: 12px;
    line-height: 1.5;
    padding-top: 7px;
  }


/* num 03 */
  .course__list__wrap {
    max-width: 590px;
    margin-inline: auto;
    margin-bottom: 36px;
  }
  .course__list__wrap .course__list__item {
    margin-bottom: 50px;
  }
  .course__list__item:nth-child(-n+2):after {
    border-width: 20px 20px 0 20px;
    top: calc(100% + 17px);
    left: calc(50% - 20px);
  }
  
  .course__list__item picture {
    width: 130px;
    height: 170px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .course__list__item picture img {
    max-width: 70px;
  }
  .course__list__item:nth-child(-n+2) picture img {
    width: auto;
    height: 100%;
  }
  .course__list__item:nth-child(-n+2) .course__bg {
    min-height: 170px;
  }
  .course__list__item .course__bg {
    padding-right: 28px;
    padding-left: 130px;
  }
  .course__bg strong {
    font-size: 18px;
    line-height: 1.5;
  }
  .course__bg p {
    font-size: 14px;
    line-height: 2;
  }
  .course__list__item:nth-child(3) {
    margin-bottom: 34px;
  }
  .course__list__item:nth-child(3) .course__bg {
    min-height: 86px;
  }
  .course__list__item:nth-child(3) .course__bg:nth-child(2) {
    margin-bottom: 10px;
  }
  .course__list__item:nth-child(3) .course__bg:last-child {
    padding-top: .69em;
    padding-bottom: .69em;
  }
  .course__list__wrap > p {
    font-size: 16px;
    line-height: 2.125;
  }

  /* curriculum */
  .curriculum__wrap {
    margin-bottom: 16px;
  }
  .curriculum__wrap h4,
  .alumni__wrap h4 {
    font-size: 18px;
    line-height: 40px;
    margin-bottom: 20px;
  }
  .curriculum__fx {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .curriculum__fx > *[class$="__item"]{
    width: 47.5%;
  }
  .curriculum__wrap picture,
  .alumni__wrap picture {
    margin-bottom: 20px;
  }
  .curriculum__wrap .curriculum__item div span {
    font-size: 10px;
  }  
  .curriculum__wrap p,
  .alumni__wrap p {
    margin-bottom: 20px;
  }
  
  .curriculum__wrap .curriculum__item {}
  .curriculum__fx:has(> :nth-child(1):last-child) .curriculum__item {
    margin-inline: auto;
  }
  .curriculum__wrap .curriculum__item strong {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .curriculum__wrap .curriculum__item p {
    font-size: 14px;
    line-height: 2;
  }
  .alumni__wrap {
    margin-bottom: 14px;
  }
  .alumni__wrap .alumni__item picture {
    max-width: 240px;
  }
  .alumni__wrap .alumni__item strong {
    font-size: 18px;
    text-align: center;
    padding-top: 4px;
    margin-bottom: 8px;
  }
  .alumni__wrap .alumni__item p {
    font-size: 16px;
    line-height: 2.125;
  }

  .career__wrap {
    max-width: 590px;
    margin-inline: auto;
    padding: 34px 0 24px;
  }
  .career__wrap strong {
    font-size: 18px;
    margin-bottom: 16px;
  }
  .career__wrap ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    max-width: 530px;
    margin-inline: auto;
  }
  .career__wrap ul li:nth-child(4) {
    margin-right: 0;
  }
  .career__wrap ul li {
    font-size: 14px;
    line-height: 2.5;
    margin-right: 1.3em;
  }
  
}



/* -----------------------------------------------
access
----------------------------------------------- */
.sec__access {}
.access__fx picture {
  border-radius: 5px;
}
.access__cap strong {
  display: block;
}
.access__cap a {
  border-bottom: 3px solid #7FD4D4;
  font-weight: bold;
  letter-spacing: 0;
  position: relative;
}
.access__cap a:after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #000;
  transform: rotate(0deg);
  position: absolute;
  right: 0;
  top: calc(50% - 4px);
}
.access__bg {
  text-align: center;
}
.access__bg h3 {
  display: inline-block;
}
.access__bg h4 {
  color: #40B0B0;
}
.access__bg p {
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 767px) { /*  sp  */ 

  .sec__access {}
  .sec__access .access__fx {
    margin-bottom: 50px;
  }
  .access__fx picture {
    margin-bottom: 20px;
  }
  .access__cap strong {
    font-size: var(--px18);
    margin-bottom: 9px;
  }
  .access__cap p {
    font-size: var(--px14);
    line-height: 2;
    margin-bottom: 26px;
  }
  .access__link {
    padding-top: 8px;
    text-align: center;
  }
  .access__link a {
    display: inline-block;
    font-size: var(--px14);
    padding: 1em 1.3em 1em 0;
  }
  .access__bg {
    padding: 25px 0 18px;
  }
  .access__bg .narrow__wrap {
    width: 86.667%;
    margin-inline: auto;
  }
  .access__bg h3 {
    margin-bottom: 20px;
  }
  .access__bg h4 {
    font-size: var(--px18);
    line-height: 2;
    margin-bottom: 14px;
  }
  .access__bg p {
    font-size: var(--px16);
    line-height: 2.12;
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 

  .sec__access {
    padding-top: 80px;
  }
  .sec__access .access__fx {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-bottom: 80px;
  }
  .access__fx picture {
    width: 52.174%;
    max-width: 480px;
  }
  .access__fx .access__cap {
    width: 43.48%;
    max-width: 400px;
  }
  .access__cap strong {
    font-size: 18px;
    margin-bottom: 12px;
  }
  .access__cap p {
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 23px;
  }
  .access__link {
    padding-top: 66px;
  }
  .access__cap a {
    font-size: 14px;
    padding: .6em 1.3em .6em 0;
  }
  .access__cap a:hover {
    color: #54b1b1;
  }
  .access__cap a,
  .access__cap a:after {
    transition: all .3s;
  }
  .access__cap a:hover:after {
    border-color: transparent transparent transparent#54b1b1;
  }
  .access__bg {
    max-width: 960px;
    margin-inline: auto;
    padding: 60px 20px 54px;
  }
  .access__bg h3 {
    margin-bottom: 40px;
  }
  .access__bg h4 {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 34px;
  }
  .access__bg p {
    font-size: 16px;
    line-height: 2.125;
    max-width: 640px;
  }

}



/* -----------------------------------------------
faq
----------------------------------------------- */
.sec__faq {}
.faq__list__wrap .faq__list .faq__acc {
  border-bottom: 1px solid #E4E4E4;
}
.faq__acc span {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.faq__acc > * {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
.faq__acc dt {
  cursor: pointer;
}
.faq__list span {
  font-weight: 500;
  border-radius: 50%;
  aspect-ratio: 1/1;
  text-align: center;
  height: auto;
}
dt.question {
  position: relative;
}
.question span {
  /* background: #7FD4D4;
  color: #fff; */
}
.question i {
  position: absolute;
  top: calc(50% - 10px);
  /* right: 0; */
  aspect-ratio: 1 / 1;
  width: 20px;
  height: auto;
}
.question i:after,
.question i:before {
  content: "";
  width: 100%;
  height: 2px;
  background: #7FD4D4;
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
}
.question i:before {
  transform: rotate(-90deg);
  transition: transform .3s;
}
.faq__acc.open .question i:before {
  transform: rotate(0);
}

dd.answer {
  background: rgba(127, 212, 212, 0.1);
}
.answer span {
  /* background: #fff;
  border: 3px solid #7FD4D4;
  color: #7FD4D4; */
}
.faq__acc p {
  max-width: 700px;
}

@media screen and (max-width: 767px) { /*  sp  */

  .sec__faq {
    margin-bottom: 25px;
  }
  .faq__acc span {
    aspect-ratio: 1 / 1;
    font-size: var(--px18);
    min-width: 1.889em;
    height: auto;
    line-height: 1.889em;
    margin-right: .8em;
  }
  .faq__acc dt {
    padding: 13px 3em 12px 12px;
    -webkit-align-items: center;
    align-items: center;
    min-height: 75px;
  }
  .question i {
    right: 0;
  }
  .faq__acc dd {
    padding: 20px 3em 25px 12px;
  }
  dd.answer span {
    width: calc(1.889em - 6px);
    height: auto;
    line-height: calc(1.889em - 6px);
  }
  .faq__acc p {
    line-height: 2;
  }
  .faq__acc dt p,
  .faq__acc dd p {
    font-size: var(--px16);
    line-height: 1.5;
  }
  .faq__acc.open dd {
    margin: 5px auto 25px;
  }

}

@media screen and (min-width: 768px) { /*  pc  */

  .sec__faq {
    padding-top: 80px;
    margin-bottom: 80px;
  }
  .faq__acc span {
    font-size: 18px;
    width: 34px;
    height: auto;
    line-height: 34px;
    margin-top: 4px;
    margin-right: 32px;
  }
  .faq__acc dt {
    padding: 38px 20px;
  }
  .question i {
    right: 20px;
  }
  
  .faq__acc dd {
    padding: 30px 20px 35px;
  }
  .answer span {
    line-height: 28px;
  }
  .faq__acc p {
    line-height: 2;
  }
  .faq__acc dt p {
    font-size: 18px;
    padding-top: 3px;
  }
  .faq__acc dd p {
    font-size: 16px;
  }
  .faq__acc.open dd {
    margin: 5px auto 25px !important;
  }

}





/* -----------------------------------------------
about__add  20250805
----------------------------------------------- */
.about__abb {
  background: #fff;
  border-radius: 5px;
}
.about__abb .about__abb__fx {
  position: relative;
}
.about__abb__fx:after {
  content: "";
  aspect-ratio: 1 / 1;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><path d="M18,0h4v18h18v4h-18v18h-4v-18H0v-4h18V0Z" fill="%237fd4d4"/></svg>');
  position: absolute;
  left: 50%;
  top: 50%;
  height: auto;
  transform: translate(-50%, -50%);
}
.about__abb__fx .about__abb__item figure {
  position: relative;
}
.about__abb__item figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
  text-align: center;
}
.about__abb__item figure figcaption p {
  color: #fff;
  font-weight: bold;
}
.about__abb__item figure figcaption p > * {
  display: block;
}

.about__abb__fx .about__abb__item picture {
  position: relative;
}
.about__abb__item:nth-child(1) picture:before,
.about__abb__item:nth-child(2) picture:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.65;
}
.about__abb__item:nth-child(1) picture:before {
  background: #FC533D;
}
.about__abb__item:nth-child(2) picture:before {
  background: #0683CB;
}

@media screen and (max-width: 767px) { /*  sp  */ 

  .about__abb {
    margin-bottom: 60px;
    padding: 25px 25px 20px;
  }
  .about__abb .about__abb__fx {
    margin-bottom: 18px;
  }
  .about__abb__item:nth-child(1) {
    margin-bottom: 17%;
  }
  .about__abb__fx .about__abb__item picture {
    border-radius: 5px;
  }
  .about__abb__item figure figcaption p {
    line-height: 1.8;
  }
  .about__abb__item figure figcaption p span {
    font-size: 16px;
  }
  .about__abb__item figure figcaption p strong {
    font-size: 22px;
  }
  .about__abb__fx:after {
    width: 13.56%;
  }
  .about__abb > p {
    font-size: 16px;
    line-height: 2.125;
  }

}

@media screen and (min-width: 768px) { /*  pc  */ 

  .about__abb {
    margin-bottom: 60px;
    padding: 40px 25px 34px;
  }
  .about__abb .about__abb__fx {
    display: flex;
    justify-content: space-between;
    margin-bottom: 26px;
  }
  .about__abb__fx .about__abb__item {
    width: 45.5%;
  }
  .about__abb__fx .about__abb__item picture {
    border-radius: 5px;
  }

  .about__abb__item figure figcaption p {
    line-height: 1.8;
  }
  .about__abb__item figure figcaption p span {
    font-size: 18px;
  }
  .about__abb__item figure figcaption p strong {
    font-size: 24px;
  }
  .about__abb__fx:after {
    width: 4.597%;
  }
  .about__abb > p {
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
  }

}

/* 2509 特長03更新 */
/* 高等部 */
.course__list__item:nth-child(2) .course__bg {
  border-radius: 5px 5px 0 0;
}
.course__list__item:nth-child(2) picture {
  transform: translateY(0);
}
.course__acc__wrap picture {
  position: static;
  transform: translateY(0);
  width: 100%;
  height: auto;
}
.course__acc__wrap picture img {
  width: 100%!important;
  max-width: none!important;
  height: auto!important;
}
.course__list__item .course__bg.course__acc__wrap {
  border-radius: 0 0 5px 5px;
  min-height: 0;
}
.course__acc__bg {
  background-color: #fff;
  border-radius: 5px;
  width: 100%;
}
.course__acc__btn {
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #3CB68B;
  font-weight: bold;
  position: relative;
  letter-spacing: 0.05em;
}
.course__acc__btn::before {
  content: '';
  aspect-ratio: 1/1;
  background-color: #3CB68B;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.course__acc__btn::after {
  content: '';
  aspect-ratio: 1/1;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
.course__acc__btn.open::after {
  rotate: 225deg;
}
.course__acc__content__wrap {
  display: none;
}
.course__acc__btn.open + .course__acc__content__wrap {
  display: block;
}
.course__acc__wrap .course__acc__lead {
  letter-spacing: 0.05em;
}
.course__acc__wrap .course__acc__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  background: repeating-linear-gradient( 90deg, rgba(60, 182, 139, 0.2) 0px, rgba(60, 182, 139, 0.2) 1px, #fff 1px, #fff 2px);
  letter-spacing: 0.05em;
}
.course__acc__wrap .course__acc__note {
  letter-spacing: 0.05em;
}
.course__acc__list {
  letter-spacing: 0.05em;
}
.course__acc__list li::before {
  content: '●';
  color: #3CB68B;
}

@media screen and (max-width: 767px) { /*  sp  */ 
  .course__list__item:nth-child(2) picture {
    top: 3.73vw;
    height: auto;
  }
  .course__list__item .course__bg.course__acc__wrap {
    padding: 4vw 4vw 4vw;
  }
  .course__acc__btn {
    width: 100%;
    min-height: 16vw;
    font-size: var(--px16);
  }
  .course__acc__content__wrap {
    padding: 5.33vw 4vw 4.27vw;
  }
  .course__acc__btn::before {
    width: 6.67vw;
    right: 4vw;
  }
  .course__acc__btn::after {
    width: 1.6vw;
    top: calc(50% - .53vw);
    right: calc(4vw + 2.4vw);
  }
  .course__acc__btn.open::after {
    top: calc(50% + .27vw);
  }
  .course__acc__content + .course__acc__content {
    margin-top: 9.6vw;
  }
  .course__acc__wrap .course__acc__lead {
    font-size: var(--px16);
    line-height: 2.125;
    margin-bottom: 9.6vw;
  }
  .course__acc__wrap .course__acc__heading {
    font-size: var(--px18);
    min-height: 10.67vw;
    margin-bottom: 4vw;
  }
  .course__acc__wrap picture {
    margin-bottom: 4.27vw;
    display: block;
    position: relative;
    top: 0!important;
    left: 50%;
    translate: -50% 0;
    width: calc(100% + 2.67vw);
  }
  .course__acc__wrap .course__acc__note {
    font-size: var(--px12);
    line-height: 1.67;
  }
  .course__acc__list {
    font-size: var(--px16);
    line-height: 1.75;
    margin-bottom: 3.2vw;
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 
  .course__list__item:nth-child(2) picture {
    top: 0;
  }
  .course__list__item .course__bg.course__acc__wrap {
    padding: 15px 30px 30px;
  }
  .course__acc__btn {
    width: 100%;
    min-height: 55px;
    font-size: 16px;
  }
  .course__acc__content__wrap {
    padding: 10px 30px 36px;
  }
  .course__acc__btn::before {
    width: 25px;
    right: 15px;
  }
  .course__acc__btn::after {
    width: 6px;
    top: calc(50% - 2px);
    right: calc(15px + 9px);
  }
  .course__acc__btn.open::after {
    top: calc(50% + 1px);
  }
  .course__acc__content + .course__acc__content {
    margin-top: 36px;
  }
  .course__acc__wrap .course__acc__lead {
    font-size: 16px;
    line-height: 2.125;
    margin-bottom: 36px;
  }
  .course__acc__wrap .course__acc__heading {
    font-size: 18px;
    min-height: 40px;
    margin-bottom: 20px;
  }
  .course__acc__wrap picture {
    margin-bottom: 19px;
  }
  .course__acc__wrap .course__acc__note {
    font-size: 10px;
    line-height: 1.8;
  }
  .course__acc__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
    gap: 0 1em;
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 18px;
  }
}

/* 進学先 */
.course__bg strong.text__center {
  position: absolute;
  left: 0;
  text-align: center;
  width: 100%;
}
.course__list__item:nth-child(3) picture {
  transform: translateY(0);
}
.course__shingaku__list li:not(:last-child) {
  border-bottom: 1px solid #E4E4E4;
}
.course__shingaku__list li span {
  text-indent: -1em;
  padding-left: 1em;
  display: block;
}
.course__shingaku__list li:first-child span {
  font-weight: bold;
}
.course__shingaku__list li span::before {
  content: '●';
  color: #3CB68B;
}
.course__shingaku__list dt {
  color: #3CB68B;
}
.course__list__item:nth-child(-n+3):after {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-color: #3CB68B transparent transparent transparent;
  transform: rotate(0deg);
}

@media screen and (max-width: 767px) { /*  sp  */ 
  .course__bg strong.text__center {
    top: 4.8vw;
  }
  .course__list__item:nth-child(3) picture {
    top: 28vw;
    height: auto;
    display: block;
  }
  .course__list__item:nth-child(3) .course__bg {
    padding-top: 12.8vw!important;
    padding-left: 0;
  }
  .course__shingaku__list li:first-child {
    padding-left: 33.898%;
  }
  .course__shingaku__list li {
    padding: 3.47vw 0;
    margin-left: 4%;
  }
  .course__shingaku__list li span {
    font-size: var(--px16);
    line-height: 1.75;
  }
  .course__shingaku__list dl {
    margin-top: 3.73vw;
  }
  .course__shingaku__list dt {
    font-size: var(--px14);
    line-height: 2;
  }
  .course__shingaku__list dd + dt {
    margin-top: 1.07vw;
  }
  .course__list__item:nth-child(3) {
    margin-bottom: 10.67vw;
  }
  .course__list__item:nth-child(-n+3):after {
    border-width: 5.33vw 5.33vw 0 5.33vw;
    top: calc(100% + 3.2vw);
    left: calc(50% - 5.33vw);
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 
  .course__bg strong.text__center {
    top: 29px;
  }
  .course__list__item:nth-child(3) picture {
    top: 85px;
  }
  .course__list__item:nth-child(3) .course__bg {
    padding-top: 61px!important;
  }
  .course__shingaku__list li {
    padding: 24px 0;
  }
  .course__shingaku__list li span {
    font-size: 16px;
  }
  .course__shingaku__list dl {
    margin-top: 18px;
  }
  .course__shingaku__list dt {
    font-size: 14px;
    line-height: 2;
  }
  .course__shingaku__list dd + dt {
    margin-top: 11px;
  }
  .course__list__item:nth-child(3) {
    margin-bottom: 50px;
  }
  .course__list__item:nth-child(-n+3):after {
    border-width: 20px 20px 0 20px;
    top: calc(100% + 17px);
    left: calc(50% - 20px);
  }
}

/* 就職・起業 */
.course__list__item.picture__w__100 picture {
  position: static;
  width: 100%;
  height: auto;
  transform: translateY(0);
}
.course__list__item.picture__w__100 picture img {
  width: 100%;
  max-width: none;
  height: auto;
}
.course__list__item.picture__w__100 .course__bg strong {
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 767px) { /*  sp  */ 
  .course__list__item:nth-child(4) {
    margin-bottom: 9.07vw;
  }
  .course__list__item.picture__w__100 .course__bg {
    padding: 4.53vw 4vw 6.67vw;
  }
  .course__list__item.picture__w__100 .course__bg strong {
    margin-bottom: 7.47vw;
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 
  .course__list__item:nth-child(4) {
    margin-bottom: 34px;
  }
  .course__list__item.picture__w__100 .course__bg {
    padding: 32px 60px 40px;
  }
  .course__list__item.picture__w__100 .course__bg strong {
    margin-bottom: 28px;
  }
}

/* 特長05追加 */
.feature__list__wrap .feature__list__item:nth-child(5) {
  border-color: #F78B0C;
}
.feature__list__wrap .feature__list__item:nth-child(5) h3 {
  background: #F78B0C;
}
.feature__list__wrap .feature__list__item:nth-child(5) h3 i {
  color: #F78B0C;
}
.joseikin__wrap h4 {
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(247, 139, 12, 0.2) 1px, rgba(247, 139, 12, 0.2) 2px );
  color: #F68A0E;
  text-align: center;
}
.joseikin__wrap :is(h4, .feature__ex__content) {
  margin-inline: auto;
}
.joseikin__wrap .feature__ex__heading {
  display: block;
  text-align: center;
  font-weight: bold;
}
.joseikin__wrap .feature__point__wrap {
  background-color: #FDF6D3;
}
.joseikin__wrap .feature__point__wrap strong {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F78C0C;
  color: #fff;
  font-weight: bold;
  margin-inline: auto;
}
.joseikin__wrap .feature__point__desc {
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: bold;
}
.joseikin__wrap .feature__point__ex__fx {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.joseikin__wrap .feature__point__ex__left {
  display: flex;
  flex-direction: column;
}
.joseikin__wrap .feature__point__ex__month {
  background-color: #DF0011;
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}
.joseikin__wrap .feature__point__ex__price {
  color: #DF0011;
  display: flex;
  align-items: baseline;
  font-weight: bold;
}
.joseikin__wrap .feature__point__ex__price i {
  font-style: normal;
}
.joseikin__wrap .feature__point__ex__note {
  margin-inline: auto;
}
.joseikin__wrap .feature__point__att {
  margin-inline: auto;
}

@media screen and (max-width: 767px) { /*  sp  */ 
  .joseikin__wrap h4 {
    font-size: var(--px18);
    line-height: 1.4;
    margin-bottom: 5.33vw;
    padding: .4em 0;
  }
  .joseikin__wrap :is(h4, .feature__ex__content) {
    max-width: 157.33vw;
  }
  .joseikin__wrap .feature__ex__heading {
    margin-bottom: 4vw;
    font-size: var(--px18);
  }
  .joseikin__wrap .feature__point__wrap {
    border: 1.07vw solid #F78C0C;
    padding: 0 2.67vw 9.06vw;
    border-radius: 2.67vw;
  }
  .joseikin__wrap .feature__point__wrap strong {
    border-radius: 0 0 2.67vw 2.67vw;
    font-size: var(--px18);
    max-width: 52vw;
    min-height: 12.27vw;
    margin-bottom: 4vw;
  }
  .joseikin__wrap .feature__point__desc {
    font-size: var(--px18);
    line-height: 1.66;
    margin-bottom: .26vw;
    max-width: 65.33vw;
    margin-inline: auto;
  }
  .joseikin__wrap .feature__point__ex__fx {
    gap: 0 2.13vw;
    margin-bottom: 4.8vw;
  }
  .joseikin__wrap .feature__point__ex__left {
    gap: 1.6vw 0;
    align-items: flex-end;
  }
  .joseikin__wrap .feature__point__ex__desc {
    font-size: var(--px16);
  }
  .joseikin__wrap .feature__point__ex__month {
    font-size: var(--px20);
    border-radius: 1.33vw;
    width: 26.4vw;
    height: 9.6vw;
  }
  .joseikin__wrap .feature__point__ex__price {
    font-size: 9.6vw;
  }
  .joseikin__wrap .feature__point__ex__price i {
    font-size: 22.4vw;
  }
  .joseikin__wrap .feature__point__ex__note {
    max-width: 70.66vw;
    font-size: var(--px12);
    line-height: 1.67;
  }
  .joseikin__wrap .feature__point__att {
    max-width: 70.67vw;
    font-size: var(--px14);
    line-height: 2;
    margin-top: 2.13vw;
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 
  .joseikin__wrap h4 {
    font-size: 18px;
    line-height: 40px;
    margin-bottom: 25px;
  }
  .joseikin__wrap :is(h4, .feature__ex__content) {
    max-width: 590px;
  }
  .joseikin__wrap .feature__ex__heading {
    margin-bottom: 9px;
    font-size: 18px;
  }
  .joseikin__wrap .feature__point__wrap {
    border: 4px solid #F78C0C;
    padding: 0 10px 22px;
    border-radius: 10px;
  }
  .joseikin__wrap .feature__point__wrap strong {
    border-radius: 0 0 10px 10px;
    font-size: 22px;
    max-width: 400px;
    min-height: 60px;
    margin-bottom: 15px;
  }
  .joseikin__wrap .feature__point__desc {
    font-size: 22px;
    line-height: 1.54;
    margin-bottom: 1px;
  }
  .joseikin__wrap .feature__point__ex__fx {
    gap: 0 8px;
    margin-bottom: 30px;
  }
  .joseikin__wrap .feature__point__ex__left {
    gap: 6px 0;
  }
  .joseikin__wrap .feature__point__ex__desc {
    font-size: 16px;
  }
  .joseikin__wrap .feature__point__ex__month {
    font-size: 27px;
    border-radius: 5px;
    width: 133px;
    height: 49px;
  }
  .joseikin__wrap .feature__point__ex__price {
    font-size: 48px;
  }
  .joseikin__wrap .feature__point__ex__price i {
    font-size: 112px;
  }
  .joseikin__wrap .feature__point__ex__note {
    max-width: 405px;
    font-size: 12px;
    line-height: 1.67;
  }
  .joseikin__wrap .feature__point__att {
    max-width: 405px;
    font-size: 14px;
    line-height: 2;
    margin-top: 8px;
  }
}

/* kv__badge 追加 */
.kv__badge {
  position: absolute;
}

@media screen and (max-width: 767px) { /*  sp  */ 
  .kv__badge {
    width: 25.33vw;
    top: 75.73vw;
    left: 72vw;
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 
  .kv__badge {
    width: 10.42vw;
    top: 24.17vw;
    left: 36.81vw;
  }
}


/* special__banner__area 追加 */
.special__banner__area {}
@media screen and (max-width: 767px) { /*  sp  */ 
  .special__banner__area {
    padding: 0 0 12vw;
  }
}

@media screen and (min-width: 768px) { /*  pc  */ 
  .special__banner__area {
    margin-bottom: 80px;
  }
  .special__banner__area .sec__head__wrap > * {
    min-height: 180px;
  }
  .special__banner__area a {
    transition: all .3s;
  }
  .special__banner__area a:hover {
    opacity: .8;
  }
}



/* インタビュー 追加 */
.sec__interview {
  background: url(../img/int__bg.gif) 0 0 / 60px repeat;
}
.sec__interview .sec__head__wrap {
  background: #FFE176;
  color: #40B0B0;
}
.sec__interview .sec__head__wrap:after {
  border-color: #FFE176 transparent transparent transparent;
}
.sec__interview .int__mv__wrap {
  text-align: center;
}
.int__mv__wrap .int__mv {
  margin-inline: auto;  
}
.int__mv__wrap h3 {
  color: #40B0B0;
}
.int__faq__list {}
.int__faq__list dt {
  color: #40B0B0;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(127, 212, 212, 0.3) 1px, rgba(127, 212, 212, 0.3) 2px);
  display: block;
  font-weight: bold;
}
.int__acc__btn {
  border: none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #3CB68B;
  font-weight: bold;
  position: relative;
  letter-spacing: 0.05em;
  background: #FFE176;
  margin: auto;
}
.int__acc__btn span:before {
  content: "もっとみる";
}
.int__acc__btn.open span:before {
  content: "閉じる";
}
.int__acc__btn::before {
  content: '';
  aspect-ratio: 1/1;
  background-color: #3CB68B;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.int__acc__btn::after {
  content: '';
  aspect-ratio: 1/1;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
}
.int__acc__btn.open::after {
  rotate: 225deg;
}
.int__acc__content {
  display: none;
}
.int__acc__wrap:has(.int__acc__btn.open) .int__acc__content {
  display: block;
}

.int__heading {
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(127, 212, 212, 0.3) 1px, rgba(127, 212, 212, 0.3) 2px);
  color: #40B0B0;
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1ch;
  border-radius: 5px;
}
.int__heading picture {
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) { /*  sp  */ 

  .sec__interview {
    padding-block: 0 80px;
    font-size: var(--px16);
    line-height: 2.125;
  }
  .int__mv__wrap h3 {
    font-size: var(--px24);
    line-height: 1.5;
    margin-bottom: 18px;
  }
  .int__mv__wrap p {
    margin-bottom: 20px;
  }
  .int__mv__wrap .int__mv {
    border-radius: 10px;
    margin-bottom: 30px;
  }
  .int__faq__list dt {
    font-size: var(--px18);
    line-height: 1.4;
    text-indent: -1.2em;
    padding: .33em .3em .33em 1.8em;
    margin-bottom: 18px;
  }
  .int__faq__list dd {
    margin-bottom: 56px;
  }
  .int__faq__list dd p {
    line-height: 2.125;
    padding-inline: .5em;
  }

  .int__acc__btn {
    width: 90%;
    line-height: 4em;
    margin-top: 50px;
  }
  .int__acc__btn::before {
    width: 25px;
    right: 15px;
  }
  .int__acc__btn::after {
    width: 6px;
    top: calc(50% - 2px);
    right: calc(15px + 9px);
  }
  .int__acc__btn.open::after {
    top: calc(50% + 1px);
  }
  .int__acc__btn span:before {
    font-size: var(--px18);
  }

  .int__mv__wrap:has(+.int__heading) {
    margin-bottom: 80px;
  }
  .int__heading {
    height: 4em;
    margin-bottom: 30px;
  }
  .int__heading picture {
    width: 22.22%;
  }
  .int__heading strong span {
    padding-left: 2em;
  }
  .int__heading strong {
    font-size: var(--px18);
  }
  .int__faq__list dd:has(+.int__heading) {
    margin-bottom: 80px;
  }

}

@media screen and (min-width: 768px) { /*  pc  */ 

  .sec__interview {
    padding-block: 60px 80px;
  }
  .sec__interview .int__mv__wrap {
    margin-bottom: 60px;
  }
  .int__mv__wrap h3 {
    font-size: 32px;
    line-height: 1.46;
    margin-bottom: 43px;
  }
  .int__mv__wrap p {
    margin-bottom: 44px;
  }
  .int__mv__wrap .int__mv {
    border-radius: 10px;
    width: 70%;
  }

  .int__faq__list dt {
    font-size: 18px;
    margin-bottom: 18px;
    padding: .55em .5em;
  }
  .int__faq__list dd {
    margin-bottom: 56px;
  }
  .int__faq__list dd p {
    line-height: 2.125;
  }
  .int__fx {
    display: flex;
    justify-content: space-between;
  }
  .int__fx.rev {
    flex-direction: row-reverse;
  }
  .int__fx > * {
    width: 47.82%;
  }
  .int__fx .int__img {
    border-radius: 5px;
  }
  .int__acc__btn {
    width: 530px;
    line-height: 54px;
    margin-top: 88px;
  }
  .int__acc__btn::before {
    width: 25px;
    right: 15px;
  }
  .int__acc__btn::after {
    width: 6px;
    top: calc(50% - 2px);
    right: calc(15px + 9px);
  }
  .int__acc__btn.open::after {
    top: calc(50% + 1px);
  }
  .int__acc__btn span:before {
    font-size: 18px;
  }

  .int__mv__wrap:has(+.int__heading) {
    margin-bottom: 90px;
  }
  .int__heading {
    height: 108px;
    margin-bottom: 60px;
  }
  .int__heading picture {
    width: 15.22%;
  }
  .int__heading strong {
    font-size: 23px;
  }
  .int__faq__list dd:has(+.int__heading) {
    margin-bottom: 130px;
  }

}
