@charset "shift-jis";
/* --------------------------------------------------------------------
Financial Academy

/school/css/fudolp.css

< reference file >
/school/fudolp.html
/school/lp/fudolp.html
-------------------------------------------------------------------- */
body {
  font-size: 16px;
  overflow-x: hidden;
}
body *, body *::after, body *::before {
  box-sizing: border-box;
}
@media screen and (max-width: 599px) {
  body {
    font-size: 14px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

section .inner {
  width: 92%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 90px 0;
}
@media screen and (max-width: 599px) {
  section .inner {
    padding: 60px 0;
  }
}

/* ------------------------------
display
------------------------------ */
.pc {
  display: inherit;
}
.tab {
  display: none;
}
.sp {
  display: none;
}
.sp_tab {
  display: none;
}
@media screen and (min-width: 600px) {
  .tab_pc {
    display: inherit;
  }
}
@media screen and (max-width: 999px) {
  .pc {
    display: none;
  }
  .tab {
    display: inherit;
  }
  .sp {
    display: none;
  }
  .sp_tab {
    display: inherit;
  }
}
@media screen and (max-width: 599px) {
  .pc {
    display: none;
  }
  .tab {
    display: none ;
  }
  .sp {
    display: inherit;
  }
  .tab_pc {
    display: none;
  }
}

/* ------------------------------
background
------------------------------ */
.bg_beige {
  background-color: #f3f3f2;
}
.bg_blue {
  background-color: #44a1c5;
}
.bg_lblue {
  background-color: rgba(91, 160, 193, 0.1);
}
.bg_yellow {
  background-color: #fbfbf3;
}
.bg_grd_01 {
  background: linear-gradient(-20deg, #fff5d6, #fdfcfb);
}
.bg_grid {
  background-image: linear-gradient(0deg, rgba(67, 161, 197, 0.05) calc(100% - 1px), rgba(67, 161, 197, 0.15) calc(100% - 1px)),
                    linear-gradient(90deg, rgba(67, 161, 197, 0.05) calc(100% - 1px), rgba(67, 161, 197, 0.15) calc(100% - 1px));
  background-size: 18px 18px;
  background-repeat: repeat;
  background-position: center center;
}

/* ------------------------------
text
------------------------------ */
.txt_bold {
  font-weight: bold;
}
.txt_orange {
  color: #ea5520;
}

/* ------------------------------
marker
------------------------------ */
.marker {
  padding: 2px;
  background: linear-gradient(rgba(255, 242, 160, 0) 20%,rgba(215, 186, 65, 0.3) 20%);
}
.marker_01 {
  background: linear-gradient(transparent 60%, rgb(255, 255, 0) 60%);
}

/* ------------------------------
heading
------------------------------ */
/* heading_01 */
.heading_01 {
  display: inline-block;
  position: relative;
  margin-bottom: 1.5em;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
.heading_01 .strong {
  color: #da5f34;
  font-size: 38px;
}
@media screen and (max-width: 599px) {
  .heading_01 {
    display: block;
    font-size: 22px;
  }
  .heading_01 .strong {
    font-size: 28px;
  }
}

/* heading_01 u_line */
.heading_01.u_line {
  padding: 0 2em 0.6em;
}
.heading_01.u_line::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #333 0, #333 60px, transparent 60px, transparent 85px, #333 85px, #333 100%);
  content: '';
}
.heading_01.u_line::after {
  position: absolute;
  bottom: -30px;
  left: 70px;
  transform: rotate(-40deg);
  width: 2px;
  height: 35px;
  background: #333;
  border-radius: 9999px;
  content: '';
}
@media screen and (max-width: 599px) {
  .heading_01.u_line {
    padding: 0 0 0.6em;
  }
  .heading_01.u_line::before {
    background: linear-gradient(to right, #333 0, #333 50px, transparent 50px, transparent 70px, #333 70px, #333 100%);
  }
  .heading_01.u_line::after {
    bottom: -21px;
    left: 56px;
    height: 25px;
  }
}

/* heading_01 deco_01 */
.heading_01.deco_01 {
  margin-bottom: 2em;
  padding: 0 4em;
}
.heading_01.deco_01::before,
.heading_01.deco_01::after {
  position: absolute;
  bottom: 0;
  height: 80%;
  border-left: 3px dashed #43a1c6;
  content: '';
}
.heading_01.deco_01::before {
  left: 0.5em;
  transform: rotate(-20deg);
}
.heading_01.deco_01::after {
  right: 0.5em;
  transform: rotate(20deg);
}
@media screen and (max-width: 959px) {
  .heading_01.deco_01 {
    padding: 0 2em;
  }
}
@media screen and (max-width: 599px) {
  .heading_01.deco_01 {
    padding: 0;
  }
  .heading_01.deco_01::before,
  .heading_01.deco_01::after {
    bottom: -1em;
    height: 50%;
  }
}

/* heading_01 deco_02 */
.heading_01.deco_02 {
  margin-top: 0.5em;
  margin-bottom: 2.5em;
  padding: 0 2em;
}
.heading_01.deco_02::before,
.heading_01.deco_02::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 53px;
  height: 171px;
  background-repeat: no-repeat;
  content: '';
}
.heading_01.deco_02::before {
  left: 0;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2252.595%22%20height%3D%22170.042%22%20viewBox%3D%220%200%2052.595%20170.042%22%3E%3Cg%20transform%3D%22translate(-36.636%20-41.577)%22%3E%3Cpath%20d%3D%22M0%2C0H13.108V2.9H0Z%22%20transform%3D%22translate(78.078%20209.874)%20rotate(-52.978)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M411.8%2C1096.065l-1.745-2.316c4.671-3.518%2C9.377-7.128%2C13.989-10.727l1.783%2C2.285C421.2%2C1088.916%2C416.485%2C1092.535%2C411.8%2C1096.065Z%22%20transform%3D%22translate(-353.779%20-896.809)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M404.894%2C1073.107l-1.068-2.7a58.658%2C58.658%2C0%2C0%2C0%2C9.645-4.964l1.549%2C2.45A61.457%2C61.457%2C0%2C0%2C1%2C404.894%2C1073.107Z%22%20transform%3D%22translate(-353.568%20-896.216)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M399.638%2C1051.712c-2.74%2C0-5.572-.064-8.54-.191l.126-2.9c5.405.234%2C10.345.251%2C15.1.054l.12%2C2.9C404.226%2C1051.667%2C401.965%2C1051.712%2C399.638%2C1051.712Z%22%20transform%3D%22translate(-353.14%20-895.648)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M403.969%2C1032.342c-3.079-.271-6.032-.587-8.78-.936l.367-2.876c2.71.347%2C5.627.657%2C8.667.926Z%22%20transform%3D%22translate(-353.277%20-894.971)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M0%2C0H2.9V13.108H0Z%22%20transform%3D%22translate(37.166%20113.621)%20rotate(-83.103)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M406.062%2C988.1c-5.415-2.193-10.91-4.474-16.333-6.779l1.134-2.669c5.407%2C2.3%2C10.887%2C4.575%2C16.286%2C6.761Z%22%20transform%3D%22translate(-353.093%20-893.287)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M415.908%2C969.96a61.27%2C61.27%2C0%2C0%2C1-9.553-6.176l1.806-2.268a58.556%2C58.556%2C0%2C0%2C0%2C9.1%2C5.882Z%22%20transform%3D%22translate(-353.654%20-892.709)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M425.9%2C954.282c-2.668-4.24-5.163-8.594-7.626-13.311l2.569-1.342c2.427%2C4.648%2C4.883%2C8.936%2C7.51%2C13.109Z%22%20transform%3D%22translate(-354.057%20-891.971)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M441.317%2C942.5c-1.232-2.642-2.434-5.344-3.572-8.033l2.669-1.13c1.126%2C2.657%2C2.313%2C5.328%2C3.531%2C7.938Z%22%20transform%3D%22translate(-354.713%20-891.759)%22%20fill%3D%22%23da5f34%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}
.heading_01.deco_02::after {
  right: 0;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2252.595%22%20height%3D%22170.043%22%20viewBox%3D%220%200%2052.595%20170.043%22%3E%3Cg%20transform%3D%22translate(0.945%200)%22%3E%3Cpath%20d%3D%22M0%2C0H2.9V13.108H0Z%22%20transform%3D%22matrix(0.12%2C%20-0.993%2C%200.993%2C%200.12%2C%2037.758%2C%2099.304)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M609.486%2C1060.694c-5.345-2.275-10.826-4.548-16.286-6.76l1.088-2.688c5.477%2C2.219%2C10.972%2C4.5%2C16.334%2C6.781Z%22%20transform%3D%22translate(-558.972%20-934.441)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M592.417%2C1077.868a58.549%2C58.549%2C0%2C0%2C0-9.1-5.881l1.353-2.562a61.247%2C61.247%2C0%2C0%2C1%2C9.553%2C6.175Z%22%20transform%3D%22translate(-558.638%20-935.055)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M579.764%2C1099.538c-2.426-4.647-4.884-8.935-7.51-13.109l2.453-1.544c2.669%2C4.241%2C5.163%2C8.595%2C7.626%2C13.311Z%22%20transform%3D%22translate(-558.265%20-935.576)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M560.328%2C1106.024c-1.124-2.654-2.311-5.326-3.53-7.939l2.627-1.224c1.233%2C2.644%2C2.435%2C5.346%2C3.572%2C8.033Z%22%20transform%3D%22translate(-557.743%20-935.98)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M0%2C0H13.108V2.9H0Z%22%20transform%3D%22matrix(0.602%2C%20-0.798%2C%200.798%2C%200.602%2C%200%2C%2010.465)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M576.364%2C956.2l-1.784-2.285c4.627-3.611%2C9.346-7.231%2C14.028-10.758l1.743%2C2.316C585.683%2C948.991%2C580.977%2C952.6%2C576.364%2C956.2Z%22%20transform%3D%22translate(-558.343%20-930.795)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M587.1%2C973.965l-1.549-2.45a61.482%2C61.482%2C0%2C0%2C1%2C10.125-5.208L596.742%2C969A58.564%2C58.564%2C0%2C0%2C0%2C587.1%2C973.965Z%22%20transform%3D%22translate(-558.713%20-931.576)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M609.2%2C990.947c-5.394-.233-10.335-.251-15.1-.054l-.12-2.9c4.852-.2%2C9.871-.183%2C15.349.054Z%22%20transform%3D%22translate(-558.997%20-932.303)%22%20fill%3D%22%23da5f34%22%2F%3E%3Cpath%20d%3D%22M605.086%2C1011.017c-2.684-.343-5.6-.654-8.667-.925l.255-2.888c3.1.273%2C6.057.589%2C8.779.936Z%22%20transform%3D%22translate(-559.08%20-932.956)%22%20fill%3D%22%23da5f34%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}
@media screen and (max-width: 599px) {
  .heading_01.deco_02 {
    margin-top: 1em;
    margin-bottom: 3em;
    padding-bottom: 0.6em;
  }
}

/* heading_02 */
.heading_02 {
  margin-bottom: 1.5em;
  color: #44a1c5;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 599px) {
  .heading_02 {
    font-size: 20px;
    line-height: 1.5;
  }
}

/* heading_03 */
.heading_03 {
  font-size: 30px;
  font-weight: normal;
  text-align: center;
  line-height: 1.7;
  letter-spacing: .15em;
}
.heading_03::after{
  display: block;
  width: 115px;
  margin: 20px auto 85px;
  border-bottom: 3px solid #44a1c5;
  content: '';
}
@media screen and (max-width: 599px) {
  .heading_03 {
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .heading_03::after {
    width: 80px;
    margin: 15px auto 60px;
  }
}

/* heading_04 */
.heading_04 {
  margin-bottom: 2em;
  position: relative;
  color: #fff;
  font-size: 34px;
  text-align: center;
}
.heading_04 .ttl_inner {
  display: inline-block;
  position: inherit;
  z-index: 2;
  padding: 0 0.5em;
  background: #44a1c5;
}
.heading_04 .strong {
  color: #ffce00;
  font-size: 50px;
}
.heading_04::before,
.heading_04::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 22.71vw;
  height: 2px;
  background: #ffce00;
  content: '';
}
.heading_04::before {
  left: 0;
}
.heading_04::after {
  right: 0;
}
@media screen and (max-width: 599px) {
  .heading_04 {
    font-size: 20px;
    line-height: 1.4;
  }
  .heading_04 .strong {
    font-size: 32px;
  }
  .heading_04::before,
  .heading_04::after {
    width: 11.47vw;
  }
}

/* ------------------------------
button
------------------------------ */
.btn_01 {
  display: block;
  position: relative;
  width: 100%;
  max-width: 525px;
  margin: 0 auto;
  padding: 1em 50px 1em 0.5em;
  background: linear-gradient(135deg, #da5a3a 0%,#e24667 100%);
  border-radius: 6px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.4;
}
.btn_01::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: '';
}
.btn_01:hover {
  text-decoration: none;
  opacity: 0.7;
}
.fixed-btn {
  padding: 0px 90px 0px 10px;
}
.fixed-btn > .btn {
  width: 100%;
}
.fixed-btn .btn_01 {
  padding: 0.8em 2.5em 0.8em;
}
.btn_free_seminar {
  display: block;
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 1em 25px 1em 1em;
  background: linear-gradient(135deg, #da5a3a 0%,#e24667 100%);
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.4;
}
.btn_free_seminar::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: '';
}
.btn_free_seminar:hover {
  opacity: 0.8;
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .btn_01 {
    padding-right: 35px;
    font-size: 18px;
  }
  .fixed-btn .btn_01 {
    padding: 1em 30px 1em 0.5em;
  }
  .btn_free_seminar {
    font-size: 18px;
  }
}

/* ------------------------------
arrow
------------------------------ */
.arrow_01 {
  position: relative;
  width: 62px;
  height: 30px;
  margin: 0 auto;
}
.arrow_01::before,
.arrow_01::after {
  position: absolute;
  bottom: -10px;
  width: 3px;
  height: 45px;
  background: #ea5520;
  border-radius: 9999px;
  content: '';
}
.arrow_01::before {
  left: 14px;
  transform: rotate(-45deg);
}
.arrow_01::after {
  right: 14px;
  transform: rotate(45deg);
}
.arrow_01 + .arrow_01 {
  margin-top: -15px;
}
.arrow_01.blue::before,
.arrow_01.blue::after {
  width: 4px;
  background: #43a1c6;
}

/* ------------------------------
border
------------------------------ */
.border_stripe {
  padding-top: 7px;
  background-size: auto auto;
  background-image: repeating-linear-gradient(-110deg, transparent, transparent 4px, #ba861b 4px, #ba861b 5px);
}

/* ------------------------------
mv
------------------------------ */
#mv {
  position: relative;
  background: #44a1c5;
  display: flex;
  min-height: 400px;
}
#mv .logo {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 200px;
  height: auto;
}
#mv > img {
  width: 50%;
  height: 400px;
  object-fit: cover;
}
#mv .mv_main {
  display: flex;
  justify-content: center;
  position: relative;
  flex-direction: column;
  width: 50%;
  max-width: 500px;
  margin-left: auto;
  padding: 0 1%;
  background: #44a1c5;
  color: #fff;
  text-align: center;
}
#mv h1 {
  margin: 6px 0 20px;
  font-size: 40px;
  font-weight: normal;
  text-align: center;
  line-height: 1;
}
#mv h1 .marker {
  display: inline-block;
  background: #fff;
  color: #44a1c5;
  margin-top: .4em;
  padding: 0.1em 0.15em;
}
#mv .circle {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 67px;
  height: 67px;
  margin: auto;
  border: 1px solid#fff;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1.2;
  text-align: center;
}
#mv .lead {
  margin-bottom: 1em;
  font-size: 20px;
}
#mv ul.type {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}
#mv ul.type li {
  width: calc(95% / 2);
  border: 1px solid;
  border-radius: 10px;
  font-size: 16px;
}
#mv ul.type li > a {
  display: block;
  padding: 0.5em 0.25em;
  color: #fff;
  line-height: 1.3;
}
@media screen and (max-width: 949px) {
  #mv .circle {
    top: 5px;
    right: 5px;
    width: 55px;
    height: 55px;
    font-size: 18px;
  }
}
@media screen and (max-width: 829px) {
  #mv h1 {
    font-size: 35px;
  }
  #mv .lead {
    font-size: 18px;
  }
  #mv ul.type li {
    font-size: 18px;
  }
}
@media screen and (max-width: 749px) {
  #mv h1 {
    font-size: 30px;
  }
  #mv .lead {
    font-size: 14px;
  }
  #mv ul.type li {
    font-size: 14px;
  }
}
@media screen and (max-width: 599px) {
  #mv {
    display: block;
    height: auto;
    min-height: unset;
  }
  #mv .logo {
    width: 125px;
    top: auto;
    bottom: 125px;
    right: 15px;
  }
  #mv .mv_main {
    width: 100%;
    margin: 0 auto;
    padding: 20px 5% 25px;
  }
  #mv > img {
    width: 100%;
    height: 150px;
  }
  #mv h1 {
    margin-bottom: 15px;
  }
  #mv .circle {
    top: 3px;
    right: 3px;
    width: 50px;
    height: 50px;
    font-size: 16px;
  }
  #mv ul.type li > a {
    padding: 0.8em 1em;
  }
}

/* ------------------------------
achievement_mark
------------------------------ */
.achievement_mark {
  padding-bottom: 20px;
  background: #f7f7f7;
}
.achievement_mark .icn_no1_area {
  margin: 20px 0 12px;
  text-align: center;
}
.achievement_mark .icn_no1_area img {
  max-width: 90%;
}
.achievement_mark .no1_caution {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 5px;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-size: 10px;
  text-align: left;
  line-height: 1.4;
}

/* ------------------------------
intro
------------------------------ */
.intro {
  padding: 90px 0;
  background: url(/school/image/fudolp/bg_intro_pc.jpg) no-repeat center / cover;
}
.intro .inner {
  position: relative;
  padding: 60px 4%;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  text-align: center;
}
.intro .img_man {
  position: absolute;
  top: 95px;
  left: 10%;
  width: 118px;
}
.intro .img_woman {
  position: absolute;
  top: 95px;
  right: 10%;
  width: 114px;
}
.intro p {
  font-size: 20px;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.intro p.txt_note {
  margin: 0.8em 0 2em;
  font-size: 14px;
}
@media screen and (min-width: 1000px) {
  .intro .heading_01.u_line {
    padding-left: 6em;
    padding-right: 6em;
  }
}
@media screen and (max-width: 999px) {
  .intro .heading_01.u_line {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .intro .img_man {
    left: 4%;
    width: 105px;
  }
  .intro .img_woman {
    right: 4%;
    width: 105px;
  }
}
@media screen and (max-width: 749px) {
  .intro .img_man {
    left: 2%;
    top: 0;
  }
  .intro .img_woman {
    right: 2%;
    top: -5px;
  }
}
@media screen and (max-width: 599px) {
  .intro {
    padding: 75px 0;
    background-image: url(/school/image/fudolp/bg_intro_sp.jpg);
  }
  .intro .inner {
    padding: 100px 4% 60px;
  }
  .intro .img_man {
    position: absolute;
    top: -30px;
    left: -10px;
  }
  .intro .img_woman {
    position: absolute;
    top: -35px;
    right: -10px;
  }
  .intro p {
    font-size: 16px;
    text-align: left;
  }
  .intro p.txt_note {
    font-size: 10px;
  }
}

/* ------------------------------
salaryman_01
------------------------------ */
.salaryman_01 {
  text-align: center;
}
.salaryman_01 .lead {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 2.0;
}
.salaryman_01 figure {
  margin-top: 100px;
}
.salaryman_01 figcaption {
  width: 100%;
  max-width: 570px;
  margin: 0 auto 40px;
  padding: 0.5em;
  background: #fff;
  border: 2px solid #333;
  border-radius: 9999px;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
.salaryman_01 figure .img_pc {
  width: 100%;
  max-width: 864px;
}
.salaryman_01 figure .img_sp {
  display: none;
}
@media screen and (max-width: 599px) {
  .salaryman_01 .lead {
    font-size: 16px;
    text-align: left;
  }
  .salaryman_01 figure {
    margin-top: 70px;
  }
  .salaryman_01 figcaption {
    margin-bottom: 20px;
    font-size: 18px;
  }
  .salaryman_01 figure .img_pc {
    display: none;
  }
  .salaryman_01 figure .img_sp {
    display: inline-block;
    width: 100%;
    max-width: 400px;
  }
}

/* ------------------------------
salaryman_02
------------------------------ */
.salaryman_02 {
  text-align: center;
}
.salaryman_02 .structure_list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.salaryman_02 .structure_list li {
  width: 24.4%;
  padding: 20px 1%;
  background: #fff;
  border-radius: 10px;
}
.salaryman_02 .structure_list h3 {
  display: inline-block;
  width: 100%;
  max-width: 210px;
  margin-bottom: 0.5em;
  padding: 0.45em;
  background: #43a1c6;
  border-radius: 9999px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.salaryman_02 .structure_list p {
  font-size: 20px;
  font-weight: bold;
}
.salaryman_02 .structure_list .strong {
  color: #da5f34;
}
.salaryman_02 .result {
  width: 100%;
  max-width: 760px;
  margin: 50px auto;
  padding: 0.8em;
  background: #fff;
  border-top: 3px dashed #43a1c6;
  border-bottom: 3px dashed #43a1c6;
}
@media screen and (max-width: 969px) {
  .salaryman_02 .structure_list {
    flex-wrap: wrap;
  }
  .salaryman_02 .structure_list li {
    width: 48%;
  }
  .salaryman_02 .structure_list li:nth-child(n + 3) {
    margin-top: 30px;
  }
  .salaryman_02 .structure_list h3 {
    max-width: 250px;
  }
}
@media screen and (max-width: 599px) {
  .salaryman_02 .structure_list li {
    width: 49%;
    padding: 15px 2%;
  }
  .salaryman_02 .structure_list li:nth-child(n + 3) {
    margin-top: 15px;
  }
  .salaryman_02 .structure_list h3 {
    font-size: 18px;
  }
  .salaryman_02 .structure_list p {
    font-size: 14px;
  }
}

/* ------------------------------
lifestyle
------------------------------ */
.lifestyle {
  text-align: center;
}
.lifestyle .lifestyle_lead {
  margin-bottom: 3em;
  font-size: 20px;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.lifestyle .lifestyle_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 90px;
}
.lifestyle .lifestyle_list li {
  position: relative;
  width: 31.5%;
}
.lifestyle .lifestyle_list li p {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-style: normal;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}
.lifestyle .lifestyle_list li p .strong {
  color: #da5f34;
  font-size: 26px;
}
.lifestyle .lifestyle_list li img {
  width: 100%;
  height: auto;
}
.lifestyle .result_txt {
  margin-bottom: 5em;
  font-size: 20px;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 600px) {
  .lifestyle .lifestyle_list {
    max-width: 840px;
  }
  .lifestyle .lifestyle_list li:nth-child(n + 4) {
    margin-top: 35px;
  }
}
@media screen and (max-width: 599px) {
  .lifestyle .lifestyle_lead {
    font-size: 16px;
    text-align: left;
  }
  .lifestyle .lifestyle_list {
    max-width: 400px;
    margin-bottom: 50px;
  }
  .lifestyle .lifestyle_list li {
    width: 49%;
  }
  .lifestyle .lifestyle_list li:nth-child(n + 3) {
    margin-top: 20px;
  }
  .lifestyle .lifestyle_list li p {
    font-size: 14px;
  }
  .lifestyle .lifestyle_list li p .strong {
    font-size: 20px;
  }
  .lifestyle .result_txt {
    margin-bottom: 4em;
    font-size: 16px;
    text-align: left;
  }
}

/* ------------------------------
performances
------------------------------ */
.performances {
  text-align: left;
}

/* ------------------------------
difference
------------------------------ */
.difference {
  text-align: center;
}
.difference .inner {
  padding-bottom: 0;
}
.difference .lead {
  margin-bottom: 2.5em;
  font-size: 20px;
  letter-spacing: 0.05em;
}
.difference .catch {
  margin-bottom: 1.5em;
  font-size: 30px;
  font-weight: bold;
}
.difference .catch .strong {
  display: inline-block;
  padding: 0.5em 0.6em;
  background: #2b4198;
  border-radius: 5px;
  color: #fff;
  line-height: 1;
}
.difference .case_boxs_wrap {
  display: grid;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 110px;
}
.difference .case_box {
  width: 100%;
  max-width: 790px;
  padding: 45px 4%;
  background: #fff;
  border-radius: 10px;
}
.difference .case_box + .case_box {
  justify-self: end;
  margin-top: 75px;
}
.difference .case_box dl {
  display: inline-block;
  text-align: left;
}
.difference .case_box dt {
  margin-bottom: 1em;
  color: #2b4198;
  font-size: 30px;
  font-weight: bold;
}
.difference .case_box dd {
  min-height: 34px;
  padding-left: 46px;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2234%22%20height%3D%2234%22%20viewBox%3D%220%200%2034%2034%22%3E%3Cpath%20d%3D%22M17%2C0A17%2C17%2C0%2C1%2C0%2C34%2C17%2C17%2C17%2C0%2C0%2C0%2C17%2C0Zm8.519%2C17.226-8.1%2C7.707a1.956%2C1.956%2C0%2C0%2C1-2.7-2.835l3.3-3.141H10.2a1.957%2C1.957%2C0%2C1%2C1%2C0-3.913h7.823l-3.3-3.142a1.956%2C1.956%2C0%2C1%2C1%2C2.7-2.834l8.1%2C7.707a.312.312%2C0%2C0%2C1%2C0%2C.451Z%22%20fill%3D%22%232b4198%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-position: left top;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}
.difference .case_box dd + dd {
  margin-top: 0.8em;
}
.difference .case_box dd .strong {
  color: #2b4198;
}
@media screen and (min-width: 600px) {
  .difference .catch .strong {
    margin-right: 0.3em;
  }
  .difference .case_boxs_wrap {
    position: relative;
  }
  .difference .case_box .img_woman {
    position: absolute;
    right: 0;
    top: 12px;
  }
  .difference .case_box .img_man {
    position: absolute;
    left: 0;
    bottom: 100px;
  }
}
@media screen and (max-width: 859px) {
  .difference .case_boxs_wrap {
    padding-bottom: 90px;
  }
  .difference .case_box {
    width: 95%;
    padding-right: 170px;
    text-align: left;
  }
  .difference .case_box + .case_box {
    padding-right: 4%;
    padding-left: 200px;
    text-align: right;
  }
}
@media screen and (max-width: 599px) {
  .difference .lead {
    font-size: 16px;
    text-align: left;
  }
  .difference .catch {
    margin-bottom: 90px;
    font-size: 22px;
  }
  .difference .catch .strong {
    margin-bottom: 0.5em;
  }
  .difference .case_box {
    position: relative;
    padding: 35px 4%;
    text-align: center;
  }
  .difference .case_box + .case_box {
    margin-top: 95px;
    padding: 35px 4%;
    text-align: center;
  }
  .difference .case_box dt {
    font-size: 22px;
  }
  .difference .case_box dd {
    min-height: 25px;
    padding-left: 46px;
    background-size: 25px;
    font-size: 16px;
  }
  .difference .case_box + .case_box dt {
    margin-left: 140px;
  }
  .difference .case_box .img_woman {
    position: absolute;
    right: -3px;
    top: -78px;
    width: 125px;
    height: auto;
  }
  .difference .case_box .img_man {
    position: absolute;
    left: -10px;
    top: -89px;
    width: 148px;
    height: auto;
  }
}

/* ------------------------------
achievement_fa
------------------------------ */
.achievement_fa .ttl_01 {
  margin-bottom: 2em;
}
.achievement_fa .fa_name_img {
  height: 216px;
  margin-top: 70px;
  padding-top: 45px;
  background: url(/school/image/lp/fudolp/bg_achievement_fa.jpg) no-repeat center / cover;
}
.achievement_fa .fa_name {
  width: fit-content;
  margin: auto;
  color: #1b2669;
  font-size: 21px;
  font-weight: normal;
  text-align: center;
  line-height: 1.6;
}
.achievement_fa .fa_name .main_ttl {
  display: block;
  margin-top: 0.2em;
  padding-top: 0.2em;
  border-top: 1px dashed #1c236d;
  font-family: 'Josefin Slab', serif;
  font-size: 25px;
}
.achievement_fa .count {
  background-color: #1c2569;
  color: #fff;
  font-size: 20px;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  padding-top: 20px;
}
.achievement_fa .count .txt_l {
  font-size: 30px;
}
.achievement_fa .count .gold {
  color: #e4c86d;
}
.achievement_fa .count .stripe {
  background-size: auto auto;
  background-color: #1c2569;
  background-image: repeating-linear-gradient(-110deg, transparent, transparent 4px, #BA861B 4px, #BA861B 5px);
  padding-top: 7px;
  margin-top: 14px;
}
.achievement_fa .media_lead {
  padding: 2.5em 1em 2em;
  background: #f5f5f5;
  color: #1c236d;
  font-size: 20px;
  text-align: center;
}
.achievement_fa .list_media_wrapper {
  background: #fff;
  padding: 35px 0;
}
.achievement_fa .msg_01 {
  font-weight: normal;
  font-size: 24px;
  text-align: center;
}
.achievement_fa .msg_01 .strong {
  color: #ea5520;
  font-size: 36px;
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .achievement_fa .fa_name_img {
    height: 152px;
    padding-top: 35px;
    background-size: cover;
    background-position: bottom right -30px;
  }
  .achievement_fa .fa_name {
    font-size: 14px;
  }
  .achievement_fa .fa_name .main_ttl {
    font-size: 16px;
  }
  .achievement_fa .count {
    font-size: 16px;
  }
  .achievement_fa .count .txt_l {
    font-size: 26px;
  }
  .achievement_fa .media_lead {
    font-size: 16px;
  }
  .achievement_fa .list_media_wrapper {
    padding: 20px 0;
  }
  .achievement_fa .msg_01 {
    font-size: 22px;
  }
  .achievement_fa .msg_01 .strong {
    font-size: 28px;
  }
}

/* ------------------------------
performances
------------------------------ */
.performances_wrap.inner {
  padding-bottom: 60px;
}
.performances {
  margin-top: 50px;
  padding: 35px 4%;
  background: #fff;
}
.performances .sub_ttl {
  margin-bottom: 0.5em;
  font-size: 16px;
  text-align: center;
}
.performances .ttl {
  margin-bottom: 20px;
  font-size: 23px;
  text-align: center;
}
.performances .lead {
  margin-bottom: 1em;
  text-align: center;
}
.performances .personal_data, 
.performances .item_ttl {
  font-size: 14px;
}
.performances .item_ttl {
  margin-bottom: 1em;
}
.performances.blue .ttl {
  background: #44a1c5;
}
.performances.blue .sub_ttl, 
.performances.blue .performances_slick .personal_data .type {
  color: #44a1c5;
}
.performances.blue .performances_slick .seika span {
  color: #44a1c5;
  background: linear-gradient(transparent 30%, rgba(68, 161, 197. 0.1) 30%);
}
.performances.orange .ttl {
  background: #e16f4e;
}
.performances.orange .sub_ttl,
.performances.orange .performances_slick .personal_data .type {
  color: #e16f4e;
}
.performances.orange .performances_slick .seika span {
  color: #e16f4e;
  background: linear-gradient(transparent 30%, rgba(218, 95, 52, 0.1) 30%);
}
.performances.orange .performances_slick .personal_data {
  margin-bottom: 0;
}
@media screen and (min-width: 600px) {
  .performances .item_ttl {
    min-height: 75px;
  }
}
@media screen and (max-width: 830px) {
  .performances_slick .personal_data {
    flex-wrap: unset;
  }
}
@media screen and (max-width: 599px) {
  .performances {
    border-radius: 5px;
  }
  .performances.w_max {
    width: 100vw;
    margin: 50px calc(50% - 50vw) 0;
  }
  .performances .ttl {
    margin-left: 0;
    margin-right: 0;
  }
  .performances .sub_ttl {
    letter-spacing: -0.05em;
  }
}

/* ------------------------------
cv_seminar_area
------------------------------ */
.cv_seminar_area {
  width: 100vw;
  margin: 60px calc(50% - 50vw) 0;
  padding-top: 80px;
  padding-bottom: 90px;
  background: #fefaef;
  text-align: center;
}
.cv_seminar_area .msg_01 {
  display: inline-block;
  position: relative;
  padding: 0 3em;
  font-size: 32px;
  font-weight: bold;
}
.cv_seminar_area .msg_01::before,
.cv_seminar_area .msg_01::after {
  position: absolute;
  bottom: 0;
  height: 75%;
  border-left: 3px dashed #ea5520;
  content: '';
}
.cv_seminar_area .msg_01::before {
  left: 1em;
  transform: rotate(-20deg);
}
.cv_seminar_area .msg_01::after {
  right: 1em;
  transform: rotate(20deg);
}
.cv_seminar_area .msg_01 .strong {
  color: #ea5520;
  font-size: 38px;
}
.cv_seminar_area .separator {
  margin: 80px 0;
}
.cv_seminar_area .btn_free_seminar {
  width: 92%;
}
@media screen and (max-width: 769px) {
  .cv_seminar_area .msg_01 {
    padding: 0 2em;
  }
}
@media screen and (max-width: 599px) {
  .cv_seminar_area {
    padding-top: 50px;
    padding-bottom: 60px;
  }
  .cv_seminar_area .msg_01 {
    padding: 0 0.5em;
    font-size: 22px;
  }
  .cv_seminar_area .msg_01::before,
  .cv_seminar_area .msg_01::after {
    height: 50%;
  }
  .cv_seminar_area .msg_01 .strong {
    font-size: 28px;
  }
  .cv_seminar_area .separator {
    margin: 40px 0;
  }
}

/* ------------------------------
canlearn
------------------------------ */
.canlearn .inner {
  padding-bottom: 140px;
}
.canlearn .heading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 300px;
  background: url(/school/image/kabu/bg_ttl02.jpg) no-repeat center top / cover;
}
.canlearn .heading h2 {
  padding: 0.5em 1em;
  background: rgba(255, 255, 255, 0.85);
  text-align: center;
  letter-spacing: 0.1em;
}
.canlearn .heading h2 span {
  color: #ea5412;
  font-size: 50px;
  line-height: 1;
}
.canlearn .body_main li {
  padding: 40px 4%;
  background: #fff;
  border: 2px solid #2b4198;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.canlearn .body_main li + li {
  margin-top: 50px;
}
.canlearn .body_main li .img {
  border-radius: 5px;
  overflow: hidden;
}
.canlearn .body_main h3 {
  display: grid;
  grid-template-columns: 100px auto;
  align-items: center;
  font-weight: bold;
  font-size: 30px;
  text-align: left;
  line-height: 1;
}
.canlearn .body_main h3 .strong {
  color: #ea5412;
}
.canlearn .body_main h3 .point {
  grid-column: 1/3;
  padding-left: 0.6em;
  font-family: "din-2014", sans-serif;
  color: #44a1c5;
  font-size: 23px;
}
.canlearn .body_main h3 .num {
  grid-column: 1/2;
  font-family: "din-2014", sans-serif;
  color: #44a1c5;
  font-size: 78px;
}
.canlearn .body_main h3 .ttl_txt {
  grid-column: 2/3;
  line-height: 1.4;
}
.canlearn .body_main .main_txt_box .txt {
  font-size: 14px;
}
.canlearn .body_other {
  margin-top: 80px;
}
.canlearn .body_other h3 {
  margin-bottom: 1.5em;
  color: #ffce00;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
.canlearn .body_other .other_list {
  padding: 40px 3%;
  background: #fff;
  border: 2px solid #2b4198;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 24px;
  font-weight: bold;
}
.canlearn .body_other .other_list li {
  padding-left: 50px;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2241.817%22%20height%3D%2241.817%22%20viewBox%3D%220%200%2041.817%2041.817%22%3E%3Cg%20transform%3D%22translate(3%203)%22%3E%3Cpath%20d%3D%22M17.908%2C0A17.908%2C17.908%2C0%2C1%2C1%2C0%2C17.908%2C17.908%2C17.908%2C0%2C0%2C1%2C17.908%2C0Z%22%20fill%3D%22%232b4198%22%2F%3E%3Cpath%20d%3D%22M17.908%2C0A17.908%2C17.908%2C0%2C1%2C0%2C35.817%2C17.908%2C17.908%2C17.908%2C0%2C0%2C0%2C17.908%2C0m0-3A20.9%2C20.9%2C0%2C0%2C1%2C32.693%2C32.693%2C20.908%2C20.908%2C0%2C1%2C1%2C9.769-1.356%2C20.78%2C20.78%2C0%2C0%2C1%2C17.908-3Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M-87.9-72.919a1.859%2C1.859%2C0%2C0%2C0-1.276.566l-8.447%2C8.493-4.823-4.849a1.859%2C1.859%2C0%2C0%2C0-2.629-.007%2C1.859%2C1.859%2C0%2C0%2C0-.007%2C2.629l6.141%2C6.174a1.859%2C1.859%2C0%2C0%2C0%2C1.318.548%2C1.859%2C1.859%2C0%2C0%2C0%2C1.318-.548l9.765-9.819a1.859%2C1.859%2C0%2C0%2C0%2C.41-2.059%2C1.859%2C1.859%2C0%2C0%2C0-1.77-1.128Z%22%20transform%3D%22translate(113.709%2085.688)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
}
.canlearn .body_other .other_list li .strong {
  color: #ea5412;
}
.canlearn .modal_canlearn_wrap {
  display: none;
}
@media screen and (min-width: 600px) {
  .canlearn .body_main li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .canlearn .body_main li .main_txt_box {
    width: 66%;
  }
  .canlearn .body_main li .img {
    width: 31.2%;
  }
}
@media screen and (min-width: 1000px) {
  .canlearn .body_other .other_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .canlearn .body_other .other_list li {
    width: auto;
    min-width: 420px;
  }
  .canlearn .body_other .other_list li:nth-child(n + 3) {
    margin-top: 1em;
  }
}
@media screen and (min-width: 1030px) {
  .canlearn .body_other .other_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .canlearn .body_other .other_list li {
    width: 49%;
  }
}
@media screen and (max-width: 999px) {
  .canlearn .body_other .other_list {
    display: grid;
  }
  .canlearn .body_other .other_list li {
    display: inline-block;
    min-width: 440px;
    margin: 0 auto;
  }
  .canlearn .body_other .other_list li + li {
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 599px) {
  .canlearn .inner {
    padding-bottom: 80px;
  }
  .canlearn .heading {
    height: 290px;
    background-image: url(/school/image/lp/fudolp/bg_ttl02_sp.jpg);
  }
  .canlearn .heading h2 {
    padding: 0.5em 0.3em;
  }
  .canlearn .heading h2 span {
    font-size: 32px;
  }
  .canlearn .body_main li {
    padding: 20px 4% 25px;
  }
  .canlearn .body_main li + li {
    margin-top: 30px;
  }
  .canlearn .body_main li .img img {
    width: 100%;
    height: 120px;
    object-fit: cover;
  }
  .canlearn .body_main h3 {
    grid-template-columns: 65px auto;
    margin-bottom: 15px;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cg%20transform%3D%22translate(-262%20-427)%22%3E%3Cpath%20d%3D%22M13%2C0A13%2C13%2C0%2C1%2C1%2C0%2C13%2C13%2C13%2C0%2C0%2C1%2C13%2C0Z%22%20transform%3D%22translate(262%20427)%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M13%2C2A11%2C11%2C0%2C0%2C0%2C5.222%2C20.778%2C11%2C11%2C0%2C1%2C0%2C20.778%2C5.222%2C10.928%2C10.928%2C0%2C0%2C0%2C13%2C2m0-2A13%2C13%2C0%2C1%2C1%2C0%2C13%2C13%2C13%2C0%2C0%2C1%2C13%2C0Z%22%20transform%3D%22translate(262%20427)%22%20fill%3D%22%2344a1c5%22%2F%3E%3Cpath%20d%3D%22M8.669%2C10.169A1.5%2C1.5%2C0%2C0%2C1%2C7.609%2C9.73L-1.061%2C1.061a1.5%2C1.5%2C0%2C0%2C1%2C0-2.121%2C1.5%2C1.5%2C0%2C0%2C1%2C2.121%2C0L9.73%2C7.609a1.5%2C1.5%2C0%2C0%2C1-1.061%2C2.561Z%22%20transform%3D%22translate(275.154%20434.024)%20rotate(45)%22%20fill%3D%22%2344a1c5%22%2F%3E%3Cpath%20d%3D%22M0%2C10.169A1.5%2C1.5%2C0%2C0%2C1-1.061%2C9.73a1.5%2C1.5%2C0%2C0%2C1%2C0-2.121L7.609-1.061a1.5%2C1.5%2C0%2C0%2C1%2C2.121%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C0%2C2.121L1.061%2C9.73A1.5%2C1.5%2C0%2C0%2C1%2C0%2C10.169Z%22%20transform%3D%22translate(275.13%20434)%20rotate(45)%22%20fill%3D%22%2344a1c5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: center right;
    font-size: 20px;
  }
  .canlearn .body_main h3 .point {
    padding-left: 0;
    font-size: 20px;
  }
  .canlearn .body_main h3 .num {
    font-size: 50px;
  }
  .canlearn .body_main .main_txt_box .txt {
    display: none;
  }
  .canlearn .body_other {
    margin-top: 60px;
  }
  .canlearn .body_other h3 {
    font-size: 20px;
  }
  .canlearn .body_other .other_list {
    display: block;
    padding: 25px 2%;
    font-size: 18px;
  }
  .canlearn .body_other .other_list li {
    display: block;
    min-width: auto;
    padding-left: 35px;
    background-size: 28px;
    background-position: 0 0.15em;
  }
  .canlearn .modal_canlearn_wrap {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    width: 100%;
    height: 100vh;
  }
  .canlearn .modal_canlearn_wrap .modal_bg {
    position: absolute;
    width: 100%;
    height: 100vh;
    background: rgba(68, 161, 197, 0.5);
  }
  .canlearn .modal_detail {
    display: block;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    width: 92%;
    padding: 30px 4% 20px;
    border: 1px solid #2b4198;
    border-radius: 10px;
    background: #fff;
    text-align: left;
  }
  .canlearn .modal_detail .btn_close {
    position: absolute;
    right: 13px;
    top: 13px;
    width: 34px;
    height: 34px;
    border: 2px solid #44a1c5;
    border-radius: 50%;
  }
  .canlearn .modal_detail .btn_close span {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
  }
  .canlearn .modal_detail .btn_close span::before,
  .canlearn .modal_detail .btn_close span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 3px;
    background-color: #44a1c5;
    border-radius: 9999px;
    content: '';
  }
  .canlearn .modal_detail .btn_close span::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .canlearn .modal_detail .btn_close span::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .canlearn .modal_detail h3 {
    display: grid;
    grid-template-columns: 65px auto;
    align-items: center;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    line-height: 1;
  }
  .canlearn .modal_detail h3 .point {
    grid-column: 1/3;
    font-family: "din-2014", sans-serif;
    color: #44a1c5;
    font-size: 20px;
  }
  .canlearn .modal_detail h3 .num {
    grid-column: 1/2;
    font-family: "din-2014", sans-serif;
    color: #44a1c5;
    font-size: 50px;
  }
  .canlearn .modal_detail h3 .ttl_txt {
    grid-column: 2/3;
    width: calc(100% - 1.6em);
    line-height: 1.4;
  }
  .canlearn .modal_detail h3 .ttl_txt .strong {
    color: #ea5412;
  }
  .canlearn .modal_detail .img {
    border-radius: 5px;
    overflow: hidden;
  }
  .canlearn .modal_detail .img img {
    width: 100%;
    height: 120px;
    object-fit: cover;
  }
  .canlearn .modal_detail .txt {
    margin-top: 1em;
  }
}

/* ------------------------------
recommended_for
------------------------------ */
.recommended_for .recommended_list {
  width: 92%;
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
}
.recommended_for .recommended_list li {
  padding: 1em;
  background: #fff;
  border: 1px solid;
  border-radius: 10px;
  font-size: 18px;
  font-weight: bold;
}
.recommended_for .recommended_img {
  text-align: center;
}
.recommended_for .recommended_img img {
  width: 231px;
  height: auto;
}
@media screen and (min-width: 600px) {
  .recommended_for .recommended_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .recommended_for .recommended_list li {
    width: 48%;
    max-width: 435px;
    margin-bottom: 20px;
  }
  .recommended_for .recommended_list li:nth-child(1),
  .recommended_for .recommended_list li:nth-child(4),
  .recommended_for .recommended_list li:nth-child(5) {
    border-color: #2b4198;
    color: #2b4198;
  }
  .recommended_for .recommended_list li:nth-child(2),
  .recommended_for .recommended_list li:nth-child(3),
  .recommended_for .recommended_list li:nth-child(6) {
    border-color: #e18c4e;
    color: #e18c4e;
  }
}
@media screen and (max-width: 599px) {
  .recommended_for .recommended_list li {
    margin-bottom: 12px;
    padding: 1em;
    font-size: 14px;
  }
  .recommended_for .recommended_list li:nth-child(odd) {
    border-color: #2b4198;
    color: #2b4198;
  }
  .recommended_for .recommended_list li:nth-child(even) {
    border-color: #e18c4e;
    color: #e18c4e;
  }
  .recommended_for .recommended_img img {
    width: 145px;
  }
}

/* ------------------------------
introduce_teacher
------------------------------ */
.introduce_teacher h2 {
  margin-bottom: 3em;
  font-size: 30px;
  font-weight: normal;
  text-align: center;
}
.introduce_teacher h2 .strong {
  color: #44a1c5;
}
@media screen and (max-width: 599px) {
  .introduce_teacher h2 {
    margin-bottom: 2em;
    font-size: 24px;
  }
}

/* ------------------------------
student_voice
------------------------------ */
.student_voice {
  background: #f0f7fa;
}
.student_voice .inner {
  width: 92%;
}

/* ------------------------------
juko_kiyaku
------------------------------ */
.entry_inner + .juko_kiyaku_area{
  margin-top: 40px;
  padding: 0 25px 0 0;
  background: #fff;
  border: 25px solid #fff;
  border-right: none;
  height: 230px;
  overflow-y: scroll;
}
@media screen and (max-width: 599px){
  .entry .juko_kiyaku_area {
    width: 96%;
    margin: 35px auto 0;
    padding: 0 20px 0 0;
    border: 15px solid #fff;
    border-right: none;
    height: 245px;
  }
}

/* ------------------------------
faq
------------------------------ */
.faq dl {
  font-size: 16px;
  background: #fff;
  border: 1px solid #ddd;
  padding: 20px;
  margin-bottom: 30px;
  text-align: left;
}
.faq dt {
  padding-left: 3em;
  padding-bottom: .8em;
  margin-bottom: .8em;
  border-bottom: 1px solid #ddd;
  color: #1c236d;
  position: relative;
}
.faq dt::before {
  content: "Q";
  color: #fff;
  background: #1c236d;
  width: 1.3em;
  height: 1.3em;
  border-radius: 100%;
  margin-right: 10px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6em;
  position: absolute;
  left: 0;
  top: 0;
}
.faq dd {
  padding-left: 3em;
  position: relative;
}
.faq dd::before {
  content: "A";
  color: #fff;
  background: #ea5520;
  width: 1.3em;
  height: 1.3em;
  border-radius: 100%;
  margin-right: 10px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6em;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 599px) {
  .faq dl {
    font-size: 14px;
  }
}

/* ------------------------------
separator
------------------------------ */
.separator {
  position: relative;
  padding: 6px 0;
}
.separator::before,
.separator::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(to right, rgba(68,161,197,1) 0%,rgba(68,161,197,1) 15%,rgba(94,118,167,1) 15%,rgba(94,118,167,1) 29%,rgba(126,103,141,1) 29%,rgba(126,103,141,1) 43%,rgba(195,99,128,1) 43%,rgba(195,99,128,1) 57%,rgba(225,111,78,1) 57%,rgba(225,111,78,1) 71%,rgba(215,186,65,1) 71%,rgba(215,186,65,1) 85%,rgba(138,159,85,1) 85%,rgba(138,159,85,1) 100%);
  content: '';
}
.separator::before {
  top: 0;
}
.separator::after {
  bottom: 0;
}
.separator img {
  width: 100%;
}
.separator .img_sp {
  display: none;
}
@media screen and (min-width: 700px) {
  .separator::before,
  .separator::after {
    background: repeating-linear-gradient(to right, rgba(68,161,197,1) 0,rgba(68,161,197,1) 100px,rgba(94,118,167,1) 100px,rgba(94,118,167,1) 200px,rgba(126,103,141,1) 200px,rgba(126,103,141,1) 300px,rgba(195,99,128,1) 300px,rgba(195,99,128,1) 400px,rgba(225,111,78,1) 400px,rgba(225,111,78,1) 500px,rgba(215,186,65,1) 500px,rgba(215,186,65,1) 600px,rgba(138,159,85,1) 600px,rgba(138,159,85,1) 700px);
  }
}
@media screen and (max-width: 599px) {
  .separator .img_sp {
    display: block;
  }
  .separator .img_pc {
    display: none;
  }
}

/* ------------------------------
latest_schedule
------------------------------ */
#mv {
  position: relative;
}
.latest_schedule {
  position: absolute;
  right: 20px;
  bottom: 30px;
  min-height: 133px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}
.latest_schedule .ttl_latest_schedule {
  margin-bottom: 0.4em;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.latest_schedule .box_schedule {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 15px;
  row-gap: 10px;
}
.latest_schedule .box_schedule.one_col {
  display: block;
}
.latest_schedule .box_schedule dt {
  margin-bottom: 0.5em;
  padding: 0.3em 0.4em;
  background: #44a1c5;
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
.latest_schedule .box_schedule dd {
  font-family: "din-2014", sans-serif;
  font-size: 24px;
  text-align: right;
  line-height: 1;
}
.latest_schedule .box_schedule dd .day {
  font-size: 47px;
  line-height: 1;
  vertical-align: bottom;
}
.latest_schedule .box_schedule dd .day_of_week {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin: 0 0 0.5em 0.5em;
  padding: 0 0.3em;
  background: #44a1c5;
  border-radius: 9999px;
  color: #fff;
  font-size: 11px;
  text-align: center;
  line-height: 1;
}
.latest_schedule .box_schedule dd .under_adjustment {
  display: block;
  padding-top: 0.5em;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 599px) {
  .latest_schedule {
    right: 15px;
    bottom: 15px;
    min-height: 100px;
    padding: 8px 12px 5px;
  }
  .latest_schedule .ttl_latest_schedule {
    font-size: 14px;
  }
  .latest_schedule .box_schedule {
    column-gap: 10px;
  }
  .latest_schedule .box_schedule dt {
    font-size: 10px;
  }
  .latest_schedule .box_schedule dd {
    font-size: 16px;
  }
  .latest_schedule .box_schedule dd .day {
    font-size: 34px;
  }
  .latest_schedule .box_schedule dd .day_of_week {
    min-width: 15px;
    height: 15px;
    font-size: 9px;
  }
  .latest_schedule .box_schedule dd .under_adjustment {
    padding-top: 0.2em;
    font-size: 11px;
  }
}

/* ------------------------------
loader
------------------------------ */
.loader {
  position: relative;
  width: 8px;
  height: 8px;
  margin: 23px auto 0;
  border-radius: 5px;
  background-color: #333;
  color: #333;
  animation: loader 1s infinite linear alternate;
  animation-delay: 0.5s;
}
.loader::before, .loader::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
}
.loader::before {
  left: -20px;
  width: 8px;
  height: 8px;
  border-radius: 5px;
  background-color: #333;
  color: #333;
  animation: loader 1s infinite alternate;
  animation-delay: 0s;
}
.loader::after {
  left: 20px;
  width: 8px;
  height: 8px;
  border-radius: 5px;
  background-color: #333;
  color: #333;
  animation: loader 1s infinite alternate;
  animation-delay: 1s;
}
@media screen and (max-width: 599px) {
  .loader {
    margin-top: 15px;
  }
}
@keyframes loader {
  0% {
    background-color: #333;
  }
  50%, 100% {
    background-color: rgba(51, 51, 51, 0.2);
  }
}
