/* NotoSans */
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/NotoSans/NotoSansCJKjp-Regular.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/NotoSans/NotoSansCJKjp-Medium.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/NotoSans/NotoSansCJKjp-Bold.woff') format('woff');
  font-display: swap;
}

/* Poppins */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/Poppins/Poppins-Light.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/Poppins/Poppins-Regular.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 550;
  src: url('../fonts/Poppins/Poppins-Medium.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/Poppins/Poppins-SemiBold.woff') format('woff');
  font-display: swap;
}

html {
  width: 100%;
  height: 100%;
  font-family: 'NotoSansCJKjp', "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 62.5%;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: auto;
}

body {
  width: 100%;
  height: 100%;
}

#wrap {
  width: 100%;
  height: 100%;
}

#main {
  position: relative;
  width: 100%;
  height: 100%;
}

#main_content {
  padding-top: 100px;
}

.ttl1 {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0em;
}
.ttl2 {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0em;
}
.ttl3 {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.41;
  letter-spacing: 0em;
}
.ttl4 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0em;
}
.p_def {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
.p_body {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0em;
}
.tx_small {
  font-size: 1.2rem;
  font-weight: 400;
  color: #7e7e7e;
  line-height: 2;
  letter-spacing: 0em;
}

strong {
  font-weight: inherit;
}

a {
  display: block;
  font-size: 1.4rem;
  transition: all 0.2s;
}
a:hover {
  cursor: pointer;
}
a.text_link {
  display: inline;
  font-size: inherit;
  color: #056CBB;
  text-decoration: underline;
}
a.text_link:hover {
  opacity: 0.6;
}

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

/* common */
.pc_none {
  display: none !important;
}
.sp_none {
  display: block !important;
}
.pc_hide {
  visibility: hidden;
}

.bg_main {
  background-color: #008f95 !important;
}
.bg_rd {
  background-color: #fb0051 !important;
}
.bg_bl {
  background-color: #004ea2 !important;
}
.bg_pu {
  background-color: #6a318f !important;
}
.bg_lg {
  background-color: #58b530 !important;
}
.bg_gr {
  background-color: #f3f3f3 !important;
}
.bg_none {
  background-color: transparent !important;
}
.learning_curriculum_bg_gr {
  background: linear-gradient(#fff 0%, #fff 44.6%, #f3f3f3 44.6%, #f3f3f3 100%) !important;
}
.tx_main {
  color: #008f95;
}
.tx_line {
  color: #03b902;
}
.tx_rd {
  color: #fb0051;
}
.tx_bl {
  color: #004ea2;
}
.tx_pu {
  color: #6a318f;
}
.tx_lg {
  color: #5cb53d;
}

.tx_center {
  text-align: center;
}
.tx_left {
  text-align: left !important;
}
.tx_bold {
  font-weight: 700;
}
.tx_indent_back {
  text-indent: -1em;
  padding-left: 1em;
}

.poppins {
  font-family: 'Poppins';
}

.dp_block {
  display: block;
}
.v_top {
  vertical-align: top;
}

.btn_arrow_rd_s, .btn_arrow_rd_l,
.btn_arrow_bl_s, .btn_arrow_bl_l,
.btn_ext_bl_s, .btn_ext_bl_l,
.btn_arrow_pu_s, .btn_arrow_pu_l,
.btn_arrow_gr_s, .btn_arrow_gr_l
 {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
}

.btn_arrow_rd_s {
  width: 100%;
  max-width: 350px;
  height: 52px;
  background: #fb0050;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #fb0050;
  border-radius: 26px;
  margin: 0 auto;
}
.btn_arrow_rd_l {
  width: 100%;
  max-width: 360px;
  height: 60px;
  background: #fb0050;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #fb0050;
  border-radius: 30px;
  margin: 0 auto;
}
.btn_arrow_rd_s:after, .btn_arrow_rd_l:after,
.btn_arrow_bl_s:after, .btn_arrow_bl_l:after,
.btn_arrow_pu_s:after, .btn_arrow_pu_l:after,
.btn_arrow_gr_s:after, .btn_arrow_gr_l:after
{
  position: absolute;
  display: block;
  content: "";
  width: 6px;
  height: 10px;
  background-image: url('../img/icon/arrow_wh.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 22px;
  margin: auto;
}
.btn_arrow_rd_s:hover, .btn_arrow_rd_l:hover {
  background: #fff;
  color: #fb0050;
}
.btn_arrow_rd_s:hover::after, .btn_arrow_rd_l:hover::after {
  background-image: url('../img/icon/arrow_rd.png');
}

.btn_arrow_bl_s {
  width: 100%;
  max-width: 350px;
  height: 52px;
  background: #004ea2;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #004ea2;
  border-radius: 26px;
  margin: 0 auto;
}
.btn_arrow_bl_l {
  width: 100%;
  max-width: 350px;
  height: 60px;
  background: #004ea2;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #004ea2;
  border-radius: 30px;
  margin: 0 auto;
}
.btn_arrow_bl_s:hover, .btn_arrow_bl_l:hover {
  background: #fff;
  color: #004ea2;
}
.btn_arrow_bl_s:hover::after, .btn_arrow_bl_l:hover::after {
  background-image: url('../img/icon/arrow_bl.png');
}

.btn_arrow_pu_s {
  width: 100%;
  max-width: 350px;
  height: 52px;
  background: #69318f;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #69318f;
  border-radius: 26px;
  margin: 0 auto;
}
.btn_arrow_pu_l {
  width: 100%;
  max-width: 350px;
  height: 60px;
  background: #69318f;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #69318f;
  border-radius: 30px;
  margin: 0 auto;
}
.btn_arrow_pu_s:hover, .btn_arrow_pu_l:hover {
  background: #fff;
  color: #69318f;
}
.btn_arrow_pu_s:hover::after, .btn_arrow_pu_l:hover::after {
  background-image: url('../img/icon/arrow_pu.png');
}

.btn_arrow_gr_s {
  width: 100%;
  max-width: 350px;
  height: 52px;
  background: #58b530;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #58b530;
  border-radius: 26px;
  margin: 0 auto;
}
.btn_arrow_gr_l {
  width: 100%;
  max-width: 350px;
  height: 60px;
  background: #58b530;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #58b530;
  border-radius: 30px;
  margin: 0 auto;
}
.btn_arrow_gr_s:hover, .btn_arrow_gr_l:hover {
  background: #fff;
  color: #58b530;
}
.btn_arrow_gr_s:hover::after, .btn_arrow_gr_l:hover::after {
  background-image: url('../img/icon/arrow_lg.png');
}

.btn_label_rd_l {
  background: #fb0050;
  border: 3px solid #fb0050;
  position: relative;
  display: inline-block;
  max-width: none;
  width: auto;
  height: 70px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  padding: 21px 60px;
  border-radius: 100px;
  margin: 0 auto;
}
.btn_label_rd_l:hover {
  background: #fff;
  color: #fb0050;
}
.btn_label_rd_l:after {
  position: absolute;
  display: block;
  content: "";
  width: 6px;
  height: 10px;
  background-image: url('../img/icon/arrow_wh.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 22px;
  margin: auto;
}
.btn_label_rd_l:hover::after {
  background-image: url('../img/icon/arrow_rd.png');
}
.btn_label_rd_l .balloon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 39px;
  width: 163px;
  top: -32px;
  left: 12px;
  font-weight: 600;
  color: #fb0050;
  line-height: 1;
  text-align: center;
  background: #fff;
  border: 3px solid #fb0050;
  border-radius: 20px;
}
.btn_label_rd_l .balloon:before {
  position: absolute;
  bottom: -16px;
  left: 34px;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 17px 16px 0;
  border-color: transparent #fb0050 transparent transparent;
}
.btn_label_rd_l .balloon:after {
  position: absolute;
  bottom: -12px;
  left: 37px;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #fff transparent transparent;
}

.btn_label_rd_l__no_border .balloon {
  height: 35px;
  border: none;
}
.btn_label_rd_l__no_border .balloon:before {
  display: none;
}
@media screen and (min-width: 768px) {
  .btn_label_rd_l .sp_none {
    display: inline !important;
  }
}
@media screen and (max-width: 767px) {
  .btn_label_rd_l {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: calc(100vw * 0.16);
    height: auto;
    padding: 5% 10.23%;
    font-size: 5.0vw;
  }
  .btn_label_rd_l .balloon {
    width: calc(100vw * 0.42);
    height: calc(100vw * 0.104);
    border-radius: 100px;
    top: -63.6%;
  }
  .btn_label_rd_l .balloon:before {
    bottom: calc((100vw * 0.042) * -1);
    left: 20.4%;
    border-width: 0 calc(100vw * 0.042) calc(100vw * 0.042) 0;
  }
  .btn_label_rd_l .balloon:after {
    bottom: calc((100vw * 0.032) * -1);
    left: 22%;
    border-width: 0 calc(100vw * 0.032) calc(100vw * 0.032) 0;
  }
  .btn_label_rd_l:after, .btn_label_rd_l:after {
    width: calc(100vw * 0.016);
    height: calc(100vw * 0.026);
    right: 8.3%;
  }
}

/*** btn rounded ***/
.btn_rounded_rd_l {
  width: 100%;
  max-width: 350px;
  height: 60px;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  background: #fb0050;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  padding: 0 40px;
  border: 2px solid #fb0050;
  border-radius: 30px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .btn_rounded_rd_l {
    width: 83.3%;
    max-width: none;
    height: calc(100vw * 0.16);
    font-size: 5.3vw;
    line-height: 1;
    padding: 0 4.23%;
    border-radius: 100px;
  }
}

/*** mergin common ***/
.mt05 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}
.mr05 {margin-right: 5px;}
.mr10 {margin-right: 10px;}
.mr15 {margin-right: 15px;}
.mr20 {margin-right: 20px;}
.mr25 {margin-right: 25px;}
.mr30 {margin-right: 30px;}
.mr35 {margin-right: 35px;}
.mr40 {margin-right: 40px;}
.mr45 {margin-right: 45px;}
.mr50 {margin-right: 50px;}
.ml05 {margin-left: 5px;}
.ml10 {margin-left: 10px;}
.ml15 {margin-left: 15px;}
.ml20 {margin-left: 20px;}
.ml25 {margin-left: 25px;}
.ml30 {margin-left: 30px;}
.ml35 {margin-left: 35px;}
.ml40 {margin-left: 40px;}
.ml45 {margin-left: 45px;}
.ml50 {margin-left: 50px;}
.mb05 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb35 {margin-bottom: 35px;}
.mb40 {margin-bottom: 40px;}
.mb45 {margin-bottom: 45px;}
.mb50 {margin-bottom: 50px;}

/*** padding common ***/
.pt05 {padding-top: 5px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.pt20 {padding-top: 20px;}
.pt25 {padding-top: 25px;}
.pt30 {padding-top: 30px;}
.pt35 {padding-top: 35px;}
.pt40 {padding-top: 40px;}
.pt45 {padding-top: 45px;}
.pt50 {padding-top: 50px;}
.pr05 {padding-right: 5px;}
.pr10 {padding-right: 10px;}
.pr15 {padding-right: 15px;}
.pr20 {padding-right: 20px;}
.pr25 {padding-right: 25px;}
.pr30 {padding-right: 30px;}
.pr35 {padding-right: 35px;}
.pr40 {padding-right: 40px;}
.pr45 {padding-right: 45px;}
.pr50 {padding-right: 50px;}
.pL05 {padding-left: 5px;}
.pl10 {padding-left: 10px;}
.pl15 {padding-left: 15px;}
.pl20 {padding-left: 20px;}
.pl25 {padding-left: 25px;}
.pl30 {padding-left: 30px;}
.pl35 {padding-left: 35px;}
.pl40 {padding-left: 40px;}
.pl45 {padding-left: 45px;}
.pl50 {padding-left: 50px;}
.pb05 {padding-bottom: 5px;}
.pb05 {padding-bottom: 10px;}
.pb15 {padding-bottom: 15px;}
.pb20 {padding-bottom: 20px;}
.pb25 {padding-bottom: 25px;}
.pb30 {padding-bottom: 30px;}
.pb35 {padding-bottom: 35px;}
.pb40 {padding-bottom: 40px;}
.pb45 {padding-bottom: 45px;}
.pb50 {padding-bottom: 50px;}

/*** Loading Image ***/
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(192, 192, 192, 0.253);
  border-right: 1.1em solid rgba(192, 192, 192, 0.253);
  border-bottom: 1.1em solid rgba(192, 192, 192, 0.253);
  border-left: 1.1em solid #3a8f94;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* common end */

/* parts */
.container {
  width: 92.85%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
/*
.container_m {
  width: 85.7%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
*/
.container_m {
  width: calc(100vw * 0.857);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.container_s {
  width: calc(100vw * 0.714);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.inner_container {
  padding: 0 50px;
}

.common_section {
  padding: 100px 0;
}
.border_top {
  border-top: 1px solid #eaeaea;
}
.border_bottom {
  border-bottom: 1px solid #eaeaea;
}
@media screen and (max-width: 767px) {
  .common_section {
    padding: 14.6% 0;
  }
}

.circle_arrow {
  display: inline-block;
  position: relative;
  background: #008f95;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.circle_arrow_bl {
  background: #004ea2;
}
.circle_arrow_lg {
  background: #58b530;
}
.circle_arrow:after {
  position: absolute;
  display: block;
  content: "";
  width: 5px;
  height: 8px;
  background-image: url('../img/icon/arrow_wh.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 7px;
  margin: auto;
}
.circle_arrow_wh {
  display: inline-block;
  position: relative;
  background: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.circle_arrow_wh:after {
  position: absolute;
  display: block;
  content: "";
  width: 5px;
  height: 8px;
  background-image: url('../img/icon/arrow_main.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 7px;
  margin: auto;
}

.content_card .content_card_inner {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 20px;
}
.content_card .img_box {
  position: relative;
  padding-top: 270px;
  background: #fff;
}
.content_card .img_box img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  border-radius: 5px;
  background-color: #f5f5f5;
  transition: all 0.7s;
}
.content_card .content_card_body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.content_card .text_box {
  text-align: center;
  padding: 25px 8px 15px 8px;
}
.content_card .text_box_flex {
  display: flex;
  flex: 1;
  align-items: center;
  padding: 25px 8px 15px 8px;
}
.content_card .text_box_flex p {
  flex: 1;
}
.content_card .decoration {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 20px;
  bottom: 0;
  left: 0;
}
.content_card .decoration hr {
  /* flex: 1; */
  max-width: calc(100% - 24px);
  width: 100%;
  border-color: #eaeaea;
}
.content_card .decoration .circle_arrow {
  margin-left: 4px;
}
.content_card .decoration .circle_arrow:before {
  position: absolute;
  content: "";
  display: block;
  background: inherit;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  border-radius: 50%;
}

.content_card a:hover .img_box img {
  opacity: 0.5;
}
.content_card a:hover .decoration hr {
  -webkit-animation: card_animation 0.7s linear;
  animation: card_animation 0.7s linear;
}
.content_card a:hover .decoration .circle_arrow:before {
  -webkit-animation: card_animation_arrow 0.7s linear;
  animation: card_animation_arrow 0.7s linear;
}
@-webkit-keyframes card_animation {
  0% {
    width: 0;
    opacity: 0;
  }
  70% {
    width: 100%;
    opacity: 1;
  }
}
@keyframes card_animation {
  0% {
    width: 0;
    opacity: 0;
  }
  70% {
    width: 100%;
    opacity: 1;
  }
}
@-webkit-keyframes card_animation_arrow {
  70% {
    width: 100%;
    height: 100%;
  }
  85% {
    width: 140%;
    height: 140%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@keyframes card_animation_arrow {
  70% {
    width: 100%;
    height: 100%;
  }
  85% {
    width: 140%;
    height: 140%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}

.simple_row_card {
  display: flex;
  border-radius: 5px;
  text-align: left;
  background: #fff;
  overflow: hidden;
}
.simple_row_card .img_box {
  position: relative;
  width: 40%;
  padding-top: 30.5%;
  top: 0;
  left: 0;
  object-fit: cover;
  background: #eaeaea;
}
.simple_row_card .inner {
  padding: 3% 5%;
}
@media screen and (max-width: 767px) {
  .simple_row_card {
    display: block;
  }
  .simple_row_card .img_box {
    width: 100%;
    padding-top: 65.2%;
  }
  .simple_row_card .inner {
    padding: 4% 4% 6% 4%;
  }
}

.line_section {
  text-align: center;
  padding: 55px 0 60px 0;
  background: #f2f2f2;
}
.line_section .ttl4 {
  font-weight: 700;
  margin-bottom: 30px;
}

/* page title */
.page_title{
  padding: 72px 0;
  background-color: #f2f2f2;
}
.page_title p {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .page_title p {
    font-size: 3.7vw;
    font-weight: 500;
  }
}
/* page title end */

/* common mix title */
.common_mix_title {
  text-align: center;
  letter-spacing: -0.05em;
  margin-bottom: 55px;
}
.common_mix_title img {
  width: auto;
  height: 25px;
  margin: 0 auto 20px auto;
}
@media screen and (max-width: 767px) {
  .common_mix_title {
    margin-bottom: 11.5%;
  }
  .common_mix_title img {
    height: calc(100vw * 0.0426);
    margin-bottom: 5%;
  }
}
/* parts mix title end */

.img_ratio {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.img_ratio_contain {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: contain;
}
.img_ratio_mask_contain {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}

/* parts end */

/*************************
header
***************************/
header#site_header {
  width: 100%;
  min-height: 100px;
  background: transparent;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: all 0.3s;
}
header#site_header.scroll {
  background: #fff;
  min-height: 70px;
}
header#site_header.hidden_scroll {
  opacity: 0;
  visibility: hidden;
}
header#site_header.hidden_scroll.show {
  opacity: 1;
  visibility: visible;
}

header#site_header .inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
}
header#site_header .header_logo {
  margin-left: 30px;
}
/* header#site_header .header_logo.hide {
  display: none;
} */
header#site_header .header_logo img {
  height: 20px;
  width: auto;
  object-fit: contain;
}
@media screen and (min-width: 1011px) and (max-width: 1180px) {
  header#site_header.commit_header .header_logo img {
    height: 30px;
  }
}
@media screen and (min-width: 950px) and (max-width: 1070px) {
  header#site_header.skills_header .header_logo img {
    height: 30px;
  }
}
header#site_header .left {
  display: flex;
  flex: 1;
  justify-content: flex-end;
  align-items: center;
  font-weight: 500;
}
nav.header_navigation {
  padding: 0 15px;
}
nav.header_navigation ul {
  display: flex;
  align-items: center;
}
nav.header_navigation ul li {
  margin: 0 15px;
}

/* header_link */
.header_link {
  min-height: 100px;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  cursor: pointer;
}
.scroll .header_link {
  min-height: 70px;
}
.header_link span {
  position: relative;
  padding: 10px 0;
}
.header_link span:before, .header_link span:after {
  border-bottom: 2px solid #008f95;
}
.commit_header .header_link span:before, .commit_header .header_link span:after {
  border-bottom: 2px solid #004ea2;
}
.skills_header .header_link span:before, .skills_header .header_link span:after {
  border-bottom: 2px solid #5cb53d;
}
.header_link span:before {
	content: '';
	width: 0;
	left: 50%;
	bottom: 0;
	transition: all 0.2s ease;
	position: absolute;
  display: block;
  border-radius: 0 1px 1px 0;
}
.header_navigation > ul > li:hover .header_link span:before,
.header_navigation > ul > li.active .header_link span:before  {
	width: 50%;
}
.header_link span:after {
	content: '';
	width: 0;
	right: 50%;
	bottom: 0;
	transition: all 0.2s ease;
	position: absolute;
  display: block;
  border-radius: 1px 0 0 1px;
}
.header_navigation > ul > li:hover .header_link span:after,
.header_navigation > ul > li.active .header_link span:after {
	width: 50%;
}

#header_purpose_navigation_wrapper {
  position: relative;
}
#header_purpose_navigation_wrapper:hover:after {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7px 13px 7px;
  border-color: transparent transparent #009095 transparent;
  z-index: 10000;
  margin: auto;
}
#header_purpose_navigation {
  visibility: hidden;
  opacity: 0;
  transition: all 0.2s;
  background: #008f95;
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  width: 100%;
  max-height: calc(100vh - 100px);
  padding: 50px 0;
  overflow: scroll;
}
#header_purpose_navigation::-webkit-scrollbar {
  display: none;
}
#site_header.scroll #header_purpose_navigation {
  top: 70px;
}
#header_purpose_navigation_wrapper:hover #header_purpose_navigation {
  visibility: visible;
  opacity: 1;
}
#header_purpose_navigation .purpose_list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 55px 3.45%;
}
#header_purpose_navigation .purpose_list a {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.4;
}
#header_purpose_navigation .purpose_list a p {
  margin-bottom: 2.5%;
}
#header_purpose_navigation .decoration {
  display: flex;
  align-items: center;
  width: 100%;
  height: 20px;
}
#header_purpose_navigation .decoration hr {
  flex: 1;
  border-color: #fff;
}
/* END: header_link */


/* header_right_btns */
#header_right_btns {
  display: flex;
  height: 100px;
  transition: all 0.3s;
}
header#site_header.scroll #header_right_btns {
  height: 70px;
}
.header_right_btn_wrapper {
  height: 100%;
}
/* .header_right_btn_wrapper.hide {
  display: none;
} */
.header_right_btn {
  display: flex;
  width: 100%;
  max-width: 170px;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 0 21px;
}

/* counseling_btn */
header#site_header .counseling_btn_wrapper {
  position: relative;
  color: inherit;
  padding: 0;
}
header#site_header .counseling_btn {
  background: #fb0050;
  color: #fff;
  font-size: 1.4rem;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}
header#site_header.webcamp_header .counseling_btn {
  border-radius: 0 0 0 5px;
}

/* request_document_btn */
header#site_header a.request_document_btn {
  background: #004ea2;
}
header#site_header.pro_header a.request_document_btn {
  background: #6a318f;
}
header#site_header.skills_header a.request_document_btn {
  background: #58b530;
}

header#site_header.scroll .header_right_btn {
  border-radius: 0;
}


#header_sp_navigation_content {
  display: none;
  position: fixed;
  background: #fff;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding-top: 60px;
  z-index: 100;
  transition: all 0.3s;
  overflow-y: scroll;
}
#header_sp_navigation_content.active {
  display: flex;
  /* display: block; */
}
#header_sp_navigation_content .counseling_box {
  padding: 0 4% 4% 4%;
  text-align: center;
}
#header_sp_navigation_content .counseling_box .logo {
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#header_sp_navigation_content .counseling_box .logo img {
  height: 14px;
  margin: 0 auto;
}
#header_sp_navigation_content .counseling_box .counseling_content {
  background: #E73657;
  color: #fff;
  padding: 5vw;
}
#header_sp_navigation_content .counseling_box .counseling_content .small {
  font-size: 3.7vw;
  font-weight: 600;
  margin-bottom: 3vw;
}
#header_sp_navigation_content .counseling_box .counseling_content .large {
  font-size: 7vw;
  font-weight: 600;
  margin-bottom: 3vw;
}
#header_sp_navigation_content .counseling_box .counseling_content a {
  font-size: 3.3vw;
  font-weight: 600;
  color: #E73657;
  background: #fff;
  width: 33.2vw;
  margin: 0 auto;
  padding: 2vw 5vw;
  border-radius: 5vw;
}
#header_sp_navigation_content ul {
  padding-top: 80px;
  padding-bottom: 500px;
}
#header_sp_navigation_content ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.8rem;
  line-height: 2.4rem;
  border-bottom: 1px solid #eaeaea;
  padding: 19px 5px;
}
#header_sp_navigation_content ul li:first-child a {
  border-top: 1px solid #eaeaea;
}

#hamburger_btn {
  display: none;
  justify-content: center;
  align-items: center;
  background: #f3f3f3;
}
#hamburger_btn .hamburger_inner {
  position: relative;
  width: 24px;
  height: 20px;
}
#hamburger_btn span {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 1px;
  margin: auto;
  transition: all .4s
}
#hamburger_btn span:nth-of-type(1) {
  top: 0;
}
#hamburger_btn span:nth-of-type(2) {
  top: 0;
  bottom: 0;
}
#hamburger_btn span:nth-of-type(3) {
  bottom: 0;
}
#hamburger_btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
}
#hamburger_btn.active span:nth-of-type(2) {
  opacity: 0;
}
#hamburger_btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
}


#site_header_counseling_navigation {
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  background: #008f95;
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  width: 100%;
  padding: 50px 0;
  z-index: 1000000000;
}
#site_header_counseling_navigation.dmm_cover:not(.scroll) {
  position: absolute;
  top: 48px;
}
#site_header_counseling_navigation.scroll {
  top: 70px;
}
#site_header_counseling_navigation .container_s {
  overflow-y: scroll;
}
@media screen and (max-width: 767px) {
  #site_header_counseling_navigation, #site_header_counseling_navigation.scroll {
    top: 60px;
    height: calc(100vh - 60px);
  }
  #site_header_counseling_navigation.dmm_cover:not(.scroll) {
    top: 44px;
  }
}
/*
@media screen and (min-width: 768px) {
  .counseling_btn_wrapper:hover #site_header_counseling_navigation {
    visibility: visible;
    opacity: 1;
  }
}
*/
#site_header_counseling_navigation.active, #site_header_counseling_navigation.click_active {
  visibility: visible;
  opacity: 1;
}

#site_header_counseling_navigation:before {
  position: absolute;
  top: -13px;
  right: 70px;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7px 13px 7px;
  border-color: transparent transparent #009095 transparent;
  z-index: 10000;
}
.career_counseling_wrapper .title {
  text-align: center;
  color: #fff;
  margin-bottom: 50px;
}
.career_counseling_wrapper .title p {
  font-weight: 500;
  line-height: 1.5;
}
.career_counseling_wrapper .title p span {
  padding-bottom: 4px;
  border-bottom: 1px solid #fff;
}
/* commit_header用 */
@media screen and (min-width: 768px) and (max-width: 1010px) {
  header#site_header.commit_header .no_break_navigation {
    display: none;
  }
  header#site_header .header_btn {
    width: auto;
  }
  #hamburger_btn.commit_hamburger_btn {
    display: flex;
    width: 70px;
    height: 100px;
  }
  #hamburger_btn.pro_hamburger_btn {
    display: flex;
    width: 70px;
    height: 100px;
  }
  #hamburger_btn.skills_hamburger_btn {
    display: flex;
    width: 70px;
    height: 100px;
  }
  .scroll #hamburger_btn.commit_hamburger_btn {
    height: 70px;
  }
  .scroll #hamburger_btn.pro_hamburger_btn {
    height: 70px;
  }
  .scroll #hamburger_btn.skills_hamburger_btn {
    height: 70px;
  }
  .scroll #header_sp_navigation_content ul {
    padding-top: 40px;
  }
}

/* skills_header 用 */
@media screen and (min-width: 768px) and (max-width: 949px) {
  header#site_header.skills_header .no_break_navigation {
    display: none;
  }
  #hamburger_btn.skills_hamburger_btn {
    display: flex;
    width: 70px;
    height: 100px;
  }
  .scroll #hamburger_btn.skills_hamburger_btn {
    height: 70px;
  }
}

@media screen and (max-width: 767px) {
  header#site_header, header#site_header.scroll {
    min-height: 60px;
  }
  header#site_header .header_logo {
    flex: 1;
    margin-left: 4%;
  }
  header#site_header .header_logo img {
    width: auto;
    height: 14px;
  }
  header#site_header .left {
    flex: unset;
  }
  nav.header_navigation {
    display: none;
  }
  #header_right_btns, header#site_header.scroll #header_right_btns {
    height: 60px;
  }
  header#site_header .header_right_btn {
    font-size: 1rem;
  }
  header#site_header .header_btn.counseling_btn_wrapper {
    padding: 0;
  }
  header#site_header a.request_document_btn {
    display: none;
  }
  #hamburger_btn {
    position: fixed;
    display: flex;
    background: #fff;
    width: 60px !important;
    height: 60px !important;
    bottom: 0;
    right: 0;
    border-radius: 5px 0 0 0;
    box-shadow:0px 0px 20px -6px rgba(0,0,0,0.3);
    z-index: 1000;
  }
  #hamburger_btn span {
    background-color: #008f95;
  }
  #hamburger_btn.active {
    background: #008f95;
  }
  #hamburger_btn.commit_hamburger_btn span {
    background-color: #000;
  }
  #hamburger_btn.pro_hamburger_btn span {
    background-color: #000;
  }
  #hamburger_btn.active.commit_hamburger_btn {
    background: #004ea2;
  }
  #hamburger_btn.active.pro_hamburger_btn {
    background: #69318f;
  }
  #hamburger_btn.active span, #hamburger_btn.active.commit_hamburger_btn span {
    background-color: #fff;
  }
  #hamburger_btn.active span, #hamburger_btn.active.pro_hamburger_btn span {
    background-color: #fff;
  }

  #header_sp_navigation_content ul {
    padding-top: 40px;
  }

  #header_sp_navigation_content .circle_arrow {
    width: 20px;
    height: 20px;
  }
  #header_sp_navigation_content .circle_arrow:after {
    width: 5px;
    height: 8px;
    right: 7px;
  }
}

/* DMM header 関連 */
.dmm_header_wrap ._n4v1-header {
  min-width: 0;
  z-index: 100000000;
}
.dmm_header_wrap ._n4v1-global+._n4v1-logo {
  width: auto;
}
.dmm_header_wrap ._n4v1-global-navi {
  max-width: 100vw;
  overflow-x: auto;
  left: 0;
}
@media screen and (max-width: 767px) {
  .dmm_header_wrap ._n4v1-global-navi {
    left: -3px;
  }
}


.dmm_header_wrap {
  position: relative;
}
.dmm_header_cover {
  position: absolute;
  height: 48px;
  top: 0;
  right: 0;
  z-index: 1000000000;
}
.dmm_header_cover .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.dmm_header_cover .header_link {
  min-height: 48px;
}
.dmm_header_cover .header_link span {
  padding: 5px 0;
}
.dmm_header_cover .header_right_btns {
  display: flex;
  height: 48px;
  transition: all 0.3s;
}
.dmm_header_cover .counseling_btn {
  background: #fb0050;
  color: #fff;
  font-size: 1.4rem;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}
.dmm_header_cover #header_purpose_navigation {
  top: 48px;
  z-index: 100;
}
.dmm_header_cover #site_header_counseling_navigation {
  top: 48px;
  z-index: 100;
}

/*************************
END: header
***************************/

/* footer */

footer#site_footer nav {
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #f3f3f3 50%, #f3f3f3 100%);
  border-bottom: 1px solid #eaeaea;
}
footer#site_footer .footer_content {
  display: flex;
}
footer#site_footer .footer_content .left {
  width: 24.61%;
  flex-basis: 24.61%;
  padding: 60px 4.2% 60px 5px
}
footer#site_footer .footer_content .right {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex: 1;
  background: #f3f3f3;
  padding: 60px 22px 60px 5.5%;
}
footer#site_footer .footer_logo {
  margin-bottom: 32px;
}
footer#site_footer .btn_arrow_rd_s {
  max-width: 232px;
  padding: 0 30px;
}
footer#site_footer .navigation_content {
  width: 18.5%;
}
footer#site_footer .navigation_content .navigation_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 53px;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
  margin-bottom: 20px;
}
footer#site_footer .navigation_content .navigation_title p {
  font-family: 'Poppins';
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
}
footer#site_footer .navigation_content ul li:not(:last-child) {
  margin-bottom: 4px;
}
footer#site_footer .navigation_content a {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-bottom: 10px;
}
footer#site_footer .footer_lower {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
}
footer#site_footer .footer_lower ul {
  display: flex;
  align-items: center;
}
footer#site_footer .footer_lower ul li {
  margin-right: 27px;
}
footer#site_footer .footer_lower ul li a {
  font-size: 1.3rem;
  line-height: 2.57;
}
footer#site_footer .footer_lower p {
  font-family: 'Poppins';
  font-size: 1.4rem;
  font-weight: 300;
}

@media screen and (min-width: 768px) {
  footer#site_footer.webcamp {
    margin-bottom: 60px;
  }
  footer#site_footer:not(.webcamp) {
    margin-bottom: 130px;
  }
}
/* footer end */

@media screen and (max-width: 767px) {
  #main_content {
    padding-top: 60px;
  }
  /* common */
  .ttl1 {
    font-size: 6.4vw;
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: 0em;
  }
  .ttl2 {
    font-size: 5.3vw;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0em;
  }
  .ttl3 {
    font-size: 4.8vw;
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: 0em;
  }
  .ttl4 {
    font-size: 4.2vw;
    font-weight: 600;
    line-height: 1.375;
    letter-spacing: 0em;
  }
  .p_def {
    font-size: 4.2vw;
    font-weight: 400;
    line-height: 1.375;
    letter-spacing: 0em;
  }
  .p_body {
    font-size: 4.2vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0em;
  }
  .tx_small {
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0em;
  }

  .pc_none {
    display: block !important;
  }
  .sp_none {
    display: none !important;
  }
  .pc_hide {
    visibility: visible;
  }
  .container {
    width: 100%;
    padding: 0 4%;
  }
  .container_m {
    width: 100%;
    padding: 0 4%;
  }
  .container_s {
    width: 100%;
    padding: 0 4%;
  }

  .btn_arrow_rd_l, .btn_arrow_bl_l {
    width: 83.3%;
    max-width: none;
    height: calc(100vw * 0.16);
    font-size: 5.0vw;
    line-height: 1;
    padding: 0 4.23%;
    border-radius: 100px;
  }
  .btn_arrow_rd_l:after, .btn_arrow_bl_l:after, .btn_arrow_rd_s:after, .btn_arrow_bl_s:after {
    width: calc(100vw * 0.016);
    height: calc(100vw * 0.026);
    right: 8.3%;
  }

  .btn_arrow_rd_s, .btn_arrow_bl_s {
    width: 64.58%;
    max-width: none;
    height: calc(100vw * 0.14);
    font-size: 4.2vw;
    padding: 0 4.23%;
    border-radius: 100px;
  }
  /* common end */

  /* parts */
  .circle_arrow {
    width: calc(100vw * 0.053);
    height: calc(100vw * 0.053);
  }
  .circle_arrow:after {
    height: calc(100vw * 0.021);
    width: calc(100vw * 0.013);
    right: 32%;
  }

  /*
  .content_card a {
    padding-bottom: 0;
  }
  */
  .content_card .content_card_inner {
    padding-bottom: 0;
  }
  .content_card .img_box {
    /* padding-top: 227px; */
    padding-top: 65.79%;
  }
  .content_card .text_box, .content_card .text_box_flex {
    /* padding: 20px 8px 10px 8px */
    padding: 5.79% 2.31% 2.89% 2.31% 
  }
  .content_card .text_box p, .content_card .text_box_flex p {
    font-size: 4.6vw;
    font-weight: 500;
  }
  .content_card .decoration {
    position: relative;
    height: auto;
  }
  
  /*
  .content_card_sp_column a {
    flex-direction: row;
  }
  */
  .content_card_sp_column .content_card_inner {
    flex-direction: row;
  }
  .content_card_sp_column .img_box {
    width: 42%;
    flex-basis: 42%;
    padding-top: 27.53%;
  }
  .content_card_sp_column .content_card_body {
    justify-content: space-between;
    padding: 1% 0 0 4.34%;
  }
  .content_card_sp_column .text_box {
    padding: 0;
    text-align: left;
  }
  .content_card_sp_column .text_box p {
    font-size: 4.2vw;
  }

  .line_section .ttl4 {
    margin-bottom: 20px;
  }

  .page_title{
    padding: 34px 0;
  }
  /* parts end */

  /* footer */
  footer#site_footer {
    padding-top: 14.6%;
    padding-bottom: 3%;
  }
  
  footer#site_footer nav {
    background: #fff;
    border: none;
  }
  footer#site_footer .footer_content {
    display: block;
  }
  footer#site_footer .footer_content .left {
    width: 100%;
    padding: 0;
  }
  footer#site_footer .footer_content .right {
    display: block;
    background: transparent;
    padding: 0;
  }
  footer#site_footer .footer_logo {
    width: 63.4%;
    margin: 0 auto 5.79% auto;
  }
  footer#site_footer .btn_arrow_rd_s {
    width: 64.58%;
    max-width: none;
    margin-bottom: 11.59%;
  }
  footer#site_footer .navigation_content {
    width: 100%;
  }
  footer#site_footer .navigation_content .navigation_title {
    border-top: none;
    margin: 0;
    padding: 4.92% 0;
  }
  footer#site_footer .navigation_content .navigation_title p {
    font-size: 4.2vw;
  }
  footer#site_footer .navigation_content:first-child .navigation_title {
    border-top: 1px solid #e2e2e2;
  }
  #hamburger_btn.pro_hamburger_btn span {
    background-color: #000;
  }
  #hamburger_btn.skills_hamburger_btn span {
    background-color: #000;
  }
  #hamburger_btn.active.commit_hamburger_btn {
    background: #004ea2;
  }
  #hamburger_btn.active.pro_hamburger_btn {
    background: #69318f;
  }
  #hamburger_btn.active.skills_hamburger_btn {
    background: #5cb53d;
  }
  #hamburger_btn.active span, #hamburger_btn.active.commit_hamburger_btn span {
    background-color: #fff;
  }
  #hamburger_btn.active span, #hamburger_btn.active.pro_hamburger_btn span {
    background-color: #fff;
  }
  #hamburger_btn.active span, #hamburger_btn.active.skills_hamburger_btn span {
    background-color: #fff;
  }

  #header_sp_navigation_content ul {
    padding-top: 40px;
  }

  #header_sp_navigation_content .circle_arrow {
    width: 20px;
    height: 20px;
  }
  #header_sp_navigation_content .circle_arrow:after {
    width: 5px;
    height: 8px;
    right: 7px;
  }
  /* header end */

  /* footer */
  footer#site_footer {
    padding-top: 14.6%;
    padding-bottom: 170px;
  }
  footer#site_footer.webcamp {
    padding-bottom: 30px;
  }
  footer#site_footer nav {
    background: #fff;
    border: none;
  }
  footer#site_footer .footer_content {
    display: block;
  }
  footer#site_footer .footer_content .left {
    width: 100%;
    padding: 0;
  }
  footer#site_footer .footer_content .right {
    display: block;
    background: transparent;
    padding: 0;
  }
  footer#site_footer .footer_logo {
    width: 63.4%;
    margin: 0 auto 5.79% auto;
  }
  footer#site_footer .btn_arrow_rd_s {
    width: 64.58%;
    max-width: none;
    margin-bottom: 11.59%;
  }
  footer#site_footer .navigation_content {
    width: 100%;
  }
  footer#site_footer .navigation_content .navigation_title {
    border-top: none;
    margin: 0;
    padding: 4.92% 0;
  }
  footer#site_footer .navigation_content .navigation_title p {
    font-size: 4.2vw;
  }
  footer#site_footer .navigation_content:first-child .navigation_title {
    border-top: 1px solid #e2e2e2;
  }
  footer#site_footer .navigation_content ul {
    display: none;
  }

  footer#site_footer .footer_lower {
    display: block;
    padding: 0;
  }
  footer#site_footer .footer_lower ul {
    display: block;
    margin-top: 8.11%;
  }
  footer#site_footer .footer_lower ul li {
    margin-right: 0;
    margin-bottom: 8.11%;
  }
  footer#site_footer .footer_lower ul li a {
    font-size: 3.4vw;
    line-height: 1;
  }
  footer#site_footer .footer_lower p {
    font-family: 'Poppins';
    font-size: 3.7vw;
    font-weight: 300;
  }
  /* footer end */

  #mv .mv_image {
    height: calc(100vw * 1.07);
  }
  #mv .mv_image_content h2 {
    font-size: 5.3vw
  }
}


/******************
*
* commit parts
*
*******************/

/*************************
career_plan
***************************/
#section_career_plan {
  text-align: center;
  padding: 90px 0 90px 0;
}
#section_career_plan h2 {
  margin-bottom: 50px;
}
#section_career_plan ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, 31.6%);
  gap: 50px 2.6%;
}
@media screen and (max-width: 767px) {
  #section_career_plan {
    padding: 13.3% 0;
  }
  #section_career_plan h2 {
    margin-bottom: 10.1%;
  }
  #section_career_plan ul {
    display: block;
  }
  #section_career_plan ul li:not(:last-child) {
    margin-bottom: 5.79%;
  }
}
/*************************
END: career_plan
***************************/


/*************************
lead
***************************/

#lead_section {
  padding: 55px 0;
  text-align: center;
}
#lead_section .ttl1 {
  margin-bottom: 26px;
  line-height: 1.8;
  color: #fff;
}
#lead_section .ttl1 .undeline {
  border-bottom: 1px solid #fff;
}
#lead_section .p_def {
  color: #fff;
}
#lead_section small {
  font-size: 0.5em;
  color: inherit;
}

/*************************
END: lead
***************************/

/*************************
recommend
***************************/
#recommend {
  padding: 100px 0 75px 0;
}
#recommend .recommend_upper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 100px;
}
#recommend .recommend_upper .text {
  flex: 1;
  text-align: left;
  padding-top: 22px;
  padding-left: 2.1%;
  margin-right: 3.1%;
}
#recommend .recommend_upper .text .mix_title {
  text-align: left;
  margin-bottom: 20px;
  letter-spacing: -0.05em;
}
#recommend .recommend_upper .text .mix_title img {
  margin: 0 0 30px 0;
}
#recommend .recommend_upper .img_box {
  position: relative;
  max-width: 600px;
  width: 50%;
  padding-top: 37.5%;
  border-radius: 5px;
  overflow: hidden;
}
.recommend_lower {
  text-align: center;
}
.recommend_lower h3 {
  margin-bottom: 60px;
}
.recommend_lower ul {
  display: flex;
  justify-content: space-between;
  line-height: 1.38;
  font-weight: 500;
  margin-bottom: 60px;
}
.recommend_lower ul li {
  width: 32%;
  padding: 35px 20px;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}
.recommend_lower ul li.img_lower {
  display: flex;
  flex-direction: column;
}
.recommend_lower ul li .img_box {
  position: relative;
  width: 115px;
  height: 74px;
  margin: 0 auto 30px auto;
}
.recommend_lower ul li.img_lower p {
  padding-bottom: 30px;
}
.recommend_lower ul li.img_lower .img_box_bottom {
  position: relative;
  width: 115px;
  height: 74px;
  margin: auto auto 0;
}
.recommend_lower ul li .img_box .img_ratio_mask_contain {
  background-color: #004ea2;
}
@media screen and (max-width: 767px) {
  #recommend {
    padding: 10.6% 0 14.6% 0;
  }
  #recommend .recommend_upper {
    margin-bottom: 15.94%;
  }
  #recommend .recommend_upper .text {
    padding: 0;
    margin: 0;
  }
  #recommend .recommend_upper .text .mix_title {
    text-align: center;
    margin-bottom: 10%;
  }
  #recommend .recommend_upper .text .mix_title img {
    margin: 0 auto 5.79%;
  }
  #recommend .recommend_upper .img_box {
    max-width: none;
    width: 100%;
    padding-top: 74.9%;
    margin-bottom: 11.59%;
  }
  #recommend .recommend_upper .p_def {
    line-height: 2;
  }
  .recommend_lower h3 {
    margin-bottom: 8.1%;
  }
  .recommend_lower ul {
    display: block;
    margin-bottom: 14.5%;
  }
  .recommend_lower ul li {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    padding: 6.9% 5.9%;
    margin: 0;
  }
  .recommend_lower ul li:not(:last-child) {
    margin-bottom: 4%;
  }
  .recommend_lower ul li .img_box {
    width: calc(100vw * 0.216);
    height: calc(100vw * 0.13);
    margin: 0 6% 0 0;
  }
  .recommend_lower ul li.img_lower {
    flex-direction: unset;
  }
  .recommend_lower ul li.img_lower p {
    padding-bottom: 0;
  }
  .recommend_lower ul li.img_lower .img_box_bottom {
    width: calc(100vw * 0.216);
    height: calc(100vw * 0.13);
    margin: 0 6% 0 0;
    order: -1;
  }
}
/*************************
END: recommend
***************************/

/*************************
learning_curriculum
***************************/
#learning_curriculum {
  text-align: center;
  padding-top: 100px;
}
#learning_curriculum .learning_curriculum_title h2 {
  margin-bottom: 60px;
}
#learning_curriculum .learning_curriculum_title h3 {
  margin-bottom: 60px;
}
#learning_curriculum .img_bg {
  background: linear-gradient(#fff 0%, #fff 44.6%, #edfaff 44.6%, #edfaff 100%);
  margin-bottom: 60px;
}
#learning_curriculum .img_bg .container_s {
  position: relative;
}
#learning_curriculum .img_bg .text {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  left: 0;
  text-align: left;
}
#learning_curriculum .img_bg .text p:not(:last-child) {
  margin-bottom: 10px;
}
#learning_curriculum .img_bg .text span {
  display: inline-block;
  background: #000;
  color: #fff;
  line-height: 1;
  padding: 6px 10px;
}
#learning_curriculum .img_bg .text span:not(:last-child) {
  margin-bottom: 5px;
}
#learning_curriculum > .inner {
  background: #edfaff;
  padding-bottom: 100px;
}
#learning_curriculum .inner .text .ttl1 {
  font-size: 3.5rem;
}
#learning_curriculum .img_wrapper {
  padding-left: 50px;
}
#learning_curriculum .img_wrapper .img_box {
  position: relative;
  width: 100%;
  padding-top: 52.63%;
}
#learning_curriculum .lower_text .p_def {
  line-height: 2;
}
#learning_curriculum .lower {
  background: #fff;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  #learning_curriculum {
    padding-top: 14.6%
  }
  #learning_curriculum .learning_curriculum_title h2 {
    margin-bottom: 7.11%;
  }
  #learning_curriculum .learning_curriculum_title h3 {
    font-size: 4.8vw;
    margin: 0 0 11.59% 0;
  }
  #learning_curriculum .img_bg {
    background: linear-gradient(#fff 0%, #fff 21%, #edfaff 21%, #edfaff 100%);
    margin-bottom: 11.59%;
  }
  #learning_curriculum .img_wrapper {
    padding: 0;
  }
  #learning_curriculum .img_wrapper .img_box {
    margin: 0 0 11.59% 0;
  }
  #learning_curriculum .img_bg .text {
    position: static;
    transform: none;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
    padding: 0 4.34%;
  }
  #learning_curriculum .img_bg .text p:not(:last-child) {
    margin-bottom: 4.4%;
  }
  #learning_curriculum > .inner {
    padding-bottom: 14.6%;
  }
  #learning_curriculum .inner .text .ttl1 {
    font-size: 5.6vw;
  }
  #learning_curriculum .lower_text {
    text-align: left;
    padding: 0 8%;
  }
  #learning_curriculum .lower {
    padding: 14.6% 0;
  }
}
/*************************
END: learning_curriculum
***************************/


/*************************
common_support
***************************/
.common_support {
  padding: 100px 0;
  text-align: left;
}
.common_support h2 {
  text-align: center;
  margin-bottom: 60px;
}
.common_support h3 {
  text-align: center;
  margin-bottom: 60px;
}
.common_support ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.common_support ul li {
  position: relative;
  width: 49%;
  border-radius: 5px;
  margin-bottom: 20px;
  overflow: hidden;
}
.common_support ul li .img_box {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 36%;
  height: 100%;
  z-index: 10;
}
.common_support ul li .inner {
  position: relative;
  min-height: 135px;
  height: 100%;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}
.common_support ul li .text {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  padding: 25px 15px 25px 25px;
  margin-left: 36%;
}
.common_support ul li .text .p_body {
  line-height: 1.4;
}
.common_support ul li .text p:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .common_support {
    padding: 14.6% 0;
  }
  .common_support h2 {
    margin-bottom: 11.59%;
  }
  .common_support ul {
    flex-direction: row;
  }
  .common_support ul li {
    width: 100%;
    margin: 0 0 4%;
  }
  /* .common_support ul li:not(:last-child) {
    margin-bottom: 4%;
  } */
  .common_support ul li .text {
    padding: 3.7% 3% 3.7% 3.7%;
  }
  .common_support ul li .text .p_body {
    font-size: 3.73vw;
  }
  .common_support ul li .text .ttl3 {
    font-size: 4.26vw;
  }
  .common_support ul li .inner {
    min-height: calc(100vw * 0.25);
  }
  .common_support ul li .text p:not(:last-child) {
    margin-bottom: 1%;
  }
}
/*************************
END: common_support
***************************/


/*************************
merit
***************************/
.merit {
  padding: 100px 0;
}
.merit h2 {
  text-align: center;
  margin-bottom: 60px;
}
.list_number_row li {
  position: relative;
  border-radius: 5px;
  text-align: left;
  overflow: hidden;
}
.list_number_row li .inner {
  min-height: 305px;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}
.list_number_row li:not(:last-child) {
  margin-bottom: 30px;
}
.list_number_row li .img_box {
  position: absolute;
  width: 40%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  background: #eaeaea;
}
.list_number_row li .text {
  padding: 32px 50px;
  margin-left: 40%;
}
.list_number_row li h3 {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.list_number_row li h3 .num {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  width: 52px;
  background: #004ea2;
  font-family: 'Poppins';
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin-right: 15px;
}
.list_number_row li h3 .copy {
  flex: 1;
}
.list_number_row li .text small {
  display: block;
}
.list_number_row li .text small:nth-of-type(1) {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .merit {
    padding: 14.6% 0;
  }
  .merit h2 {
    margin-bottom: 11.59%;
  }
  .list_number_row li {
    border: 1px solid #eaeaea;
  }
  .list_number_row li:not(:last-child) {
    margin-bottom: 4%;
  }
  .list_number_row li .img_box {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 72.75%;
  }
  .list_number_row li .inner {
    min-height: 0;
    border: none;
    padding: 5.79% 5.79% 11.59% 5.79%;
  }
  .list_number_row li .text {
    padding: 0;
    margin: 0;
  }
  .list_number_row li h3 {
    margin-bottom: 4.59%;
  }
  .list_number_row li h3 .num {
    width: calc(100vw * 0.106);
    height: calc(100vw * 0.106);
    font-size: 4.8vw;
  }
  .list_number_row li .text small::nth-of-type(1) {
    margin-top: 5.7%;
  }
}
/*************************
END: merit
***************************/


/*************************
free_consultation
***************************/
.free_consultation {
  background: #004ea2;
  text-align: center;
  color: #fff;
  padding: 55px 0 60px 0;
}
.free_consultation .ttl4 {
  font-weight: 400;
  line-height: 2;
}
.free_consultation h2 {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.16;
  margin: 18px 0 20px 0;
}
.free_consultation .btn_label_rd_l {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .free_consultation {
    padding: 10.6% 0;
  }
  .free_consultation h2 {
    font-size: 5.33vw;
    line-height: 1.4;
    margin: 3% 0;
  }
  .free_consultation .p_def {
    line-height: 2;
    letter-spacing: -0.05em;
  }
  .free_consultation .btn_label_rd_l {
    margin-top: 13%;
  }
}
/*************************
END: free_consultation
***************************/


/*************************
price
***************************/
#price {
  text-align: center;
  padding: 100px 0 105px 0;
  border-bottom: 1px solid #eaeaea;
}
#price h2 {
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  #price {
    padding: 14.6% 0;
  }
  #price h2 {
    margin-bottom: 11.5%;
  }
}

.money_back_guarantee {
  border: 1px solid #eaeaea;
  border-radius: 5px;
  margin-bottom: 25px;
  overflow: hidden;
}
.money_back_guarantee .upper {
  background: #edfaff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 34px 0 23px 0;
}
.money_back_guarantee .circle_text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  background: #fb0051;
  border-radius: 50%;
  color: #fff;
  margin-right: 25px;
}
.money_back_guarantee .circle_text p.small {
  font-size: 2.2rem;
  font-weight: 500;
  margin-top: 5px;
}
.money_back_guarantee .circle_text p.large {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 600;
}
.money_back_guarantee .circle_text p.large .number {
  font-family: 'Poppins';
  font-size: 6.7rem;
}
.money_back_guarantee .circle_text p.large .vr {
  line-height: 1.2;
  margin-left: 5px;
  margin-bottom: 4px;
}
.money_back_guarantee .circle_text p.large .note {
  font-size: 1.2rem;
  position: absolute;
  top: 0;
  right: -15px;
}
.money_back_guarantee .text p {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.money_back_guarantee .text h3 {
  font-size: 6.7rem;
  font-weight: 600;
  color: #fb0051;
}
.money_back_guarantee .lower {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 122px;
  padding: 25px 0;
}
.money_back_guarantee .lower small {
  margin-top: 5px;
}
.money_back_guarantee .lower small a {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .money_back_guarantee {
    margin-bottom: 3.9%;
  }
  .money_back_guarantee .upper {
    padding: 4.3% 4% 4.3% 4.3%
  }
  .money_back_guarantee .circle_text {
    width: calc(100vw * 0.229);
    height: calc(100vw * 0.229);
    margin-right: 4%;
  }
  .money_back_guarantee .circle_text p.small {
    font-size: 3.2vw;
  }
  .money_back_guarantee .circle_text p.large {
    font-size: 3.4vw;
  }
  .money_back_guarantee .circle_text p.large .number {
    font-size: 9.6vw;
  }
  .money_back_guarantee .circle_text p.large .note {
    font-size: 2vw;
    top: -8%;
    right: -11px;
  }
  .money_back_guarantee .text p {
    font-size: 3.7vw;
    margin-bottom: 3.4%;
  }
  .money_back_guarantee .text h3 {
    font-size: 9.6vw;
    letter-spacing: -0.05em;
  }
  .money_back_guarantee .lower {
    min-height: 0;
    line-height: 2;
    padding: 4.8% 4%;
  }
}

.course_price ul {
  display: flex;
  justify-content: space-between;
}
.course_price.include_balloon ul {
  padding-top: 45px;
}
.course_price ul li {
  /* width: 32%; */
  width: 49%;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}
.course_price ul li .title {
  position: relative;
  background: #004ea2;
  color: #fff;
  padding: 30px 0;
  border-radius: 4px 4px 0 0;
}
.course_price ul li .title p {
  margin-bottom: 15px;
}
.course_price ul li .title h3 {
  font-size: 3.2rem;
  font-weight: 600;
}
.course_price ul li .title .balloon {
  position: absolute;
  display: flex;
  align-items: center;
  width: 85.9%;
  min-height: 55px;
  background: #fb0051;
  text-align: left;
  font-weight: 600;
  line-height: 1.25;
  color: #fff;
  top: -45px;
  left: 21px;
  padding: 12px 13px;
}
.course_price ul li .title .balloon:after {
  display: block;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 14.9%;
  bottom: -12px;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #fb0051 transparent transparent;
}
.course_price ul li .text .inner {
  padding: 25px 0;
}
.course_price ul li .text hr {
  width: 84.375%;
  border-top: 1px solid #eaeaea;
  margin: 0 auto;
}
.course_price ul li .inner_2 p {
  font-weight: 400;
}
.course_price ul li .inner_2 p .tx_bl {
  font-family: 'Poppins';
  font-size: 3rem;
  font-weight: 600;
}
.course_price ul li .inner_2 small span {
  zoom: 50%;
  vertical-align: text-top;
}
.course_price ul li .inner_3 .ttl3 {
  font-family: 'Poppins';
  font-weight: 500;
  margin-left: 3px;
}
.course_price ul li .inner_3 .text_strike {
  position: relative;
}
.course_price ul li .inner_3 .text_strike:after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  bottom: 40%;
  left: 0;
}
.course_price ul li .inner_3 p .tx_small {
  margin-left: 3px;
}
.course_price ul li .inner_3 .emphasis {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.course_price ul li .inner_3 .ttl2 {
  font-family: 'Poppins';
  font-weight: 600;
  margin-bottom: 5px;
}
.course_price ul li .inner_3 .emphasis .tx_small {
  color: #fb0051;
  display: flex;
  flex-direction: column;
  line-height: 1;
  text-align: left;
  margin-bottom: 9px;
}
#price .note_area {
  text-align: left;
  margin: 30px 0;
}
#price .note_area a {
  display: inline;
  font-size: inherit;
  color: #056CBB;
  text-decoration: underline;
  transition: all 0.3s;
}
#price .note_area a:hover {
  opacity: 0.6;
}
#price .note_area small {
  display: block;
}
@media screen and (max-width: 767px) {
  .course_price.include_balloon ul {
    padding-top: 0;
  }
  .course_price ul {
    display: block;
  }
  .course_price ul li {
    width: 100%;
  }
  .course_price ul li:not(:last-child) {
    margin-bottom: 3.9%;
  }
  .course_price.include_balloon ul li:first-child {
    margin-bottom: 16.9%;
  }
  .course_price ul li .title {
    padding: 7.9% 0;
  }
  .course_price ul li .title .balloon {
    width: 73%;
    /*top: -56%;*/
    top: calc(-1 * (100vw * 0.12));
    left: 4.3%;
    padding: 2.6% 4%;
  }
  .course_price ul li .text hr {
    width: 78.2%;
  }
  .course_price ul li .text .inner {
    padding: 7.9% 0;
  }
  .course_price ul li .text .inner_1 p {
    font-size: 5.3vw;
  }
  .course_price ul li .inner_2 p {
    font-size: 5.2vw;
  }
  .course_price ul li .inner_2 p span {
    font-size: 9.6vw;
  }
  .course_price ul li .inner_3 p {
    font-size: 4.8vw;
  }
  .course_price ul li .inner_3 .ttl3 {
    font-size: 7.3vw;
  }
  .course_price ul li .inner_3 p .tx_small {
    font-size: 3.2vw;
  }
  .course_price ul li .inner_3 .ttl2 {
    font-size: 9.6vw;
  }
  #price .note_area {
    margin: 8.2% 0 11.5% 0;
  }
}

.all_cashback {
  border: 1px solid #eaeaea;
  border-radius: 5px;
  margin-bottom: 25px;
  overflow: hidden;
}
.all_cashback .upper {
  background: #edfaff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 42px 0;
}
.all_cashback .text p {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.all_cashback .text h3 {
  font-size: 6rem;
  font-weight: 600;
  color: #fb0051;
}
.all_cashback > p {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 122px;
  padding: 25px 0;
}
@media screen and (max-width: 767px) {
  .all_cashback .upper {
    padding: 7.2% 0;
  }
  .all_cashback .text p {
    font-size: 3.73vw;
    margin-bottom: 5%;
  }
  .all_cashback .text h3 {
    font-size: 9.6vw;
    line-height: 1.38;
  }
  .all_cashback > p {
    font-size: 4.26vw;
    line-height: 2;
    padding: 7.2% 4%;
  }
}

.all_cashback_wh {
  background: #fff;
  border-radius: 5px;
  text-align: center;
  padding: 50px 0;
}
.all_cashback_wh p.upper {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.all_cashback_wh h3 {
  font-size: 6rem;
  font-weight: 600;
  color: #fb0051;
  margin-bottom: 20px;
}
.all_cashback_wh .p_def {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .all_cashback_wh {
    padding: 7.5% 0;
  }
  .all_cashback_wh p.upper {
    font-size: 3.7vw;
    margin-bottom: 4%;
  }
  .all_cashback_wh h3 {
    font-size: 8vw;
    line-height: 1.4;
    margin-bottom: 4%;
  }
  .all_cashback_wh .p_def {
    line-height: 2;
    letter-spacing: -0.05em;
  }
}
/*************************
END: price
***************************/


/*************************
customer_slide
***************************/
.customer_slide {
  padding-bottom: 40px;
}
.customer_slide .title_wrap {
  background: #004ea2;
  text-align: center;
  padding: 60px 0;
}
.customer_slide .title_wrap h2 {
  color: #fff;
}
.customer_slide .title_wrap h2 span {
  line-height: 1;
  padding-bottom: 2px;
  border-bottom: 1px solid #fff;
}
.customer_slide .slide_wrap {
  background: linear-gradient(#004ea2 0%, #004ea2 32%, #fff 32%, #fff 100%);
  padding: 0 20px;
}
/*
.customer_slide ul {
  display: flex;
  justify-content: center;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-right: 50px;
  padding-bottom: 20px;
}
.customer_slide ul::-webkit-scrollbar {
  display: none;
}
*/
.customer_slide ul {
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
}
/*
.customer_slide ul li {
  flex-shrink: 0;
  width: 370px;
  margin-right: 20px;
  border-radius: 10px;
  transform-origin: center center;
  transform: scale(1);
  transition: transform 0.5s;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
*/
.customer_slide ul li {
  width: 24%;
  border-radius: 10px;
  transform-origin: center center;
  transform: scale(1);
  transition: transform 0.5s;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*
.customer_slide ul li:first-child {
  margin-left: 50px;
}
.customer_slide ul li:last-child {
  padding-right: 30px;
  width: 0px;
}
*/
.customer_slide .img_box {
  padding-top: 73.5%;
}
.customer_slide .swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: 100% !important;
}
.customer_slide ul li .text_box .p_body {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .customer_slide {
    padding-bottom: 4.8%;
  }
  .customer_slide .title_wrap {
    text-align: center;
    padding: 10.6% 0;
  }
  .customer_slide .slide_wrap {
    padding: 0;
  }
  /*
  .customer_slide ul {
    padding-left: 4%;
    justify-content: left;
  }
  */
  .customer_slide ul {
    padding: 0 0 0 4%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }
  .customer_slide ul::-webkit-scrollbar {
    display: none;
  }
  .customer_slide ul li {
    flex-shrink: 0;
    width: calc(100vw * 0.53);
    margin: 0;
  }
  .customer_slide ul li a {
    width: calc(100vw * 0.533);
  }
  .customer_slide ul li:first-child {
    margin-left: 0;
  }
  /*
  .customer_slide ul li:last-child {
    padding-right: calc(100vw * 0.04);
  }
  */
  .customer_slide ul li .img_box {
    padding-top: 75%;
  }
  .customer_slide ul li .img_box img {
    border-radius: 0;
  }
  .customer_slide .content_card .text_box {
    padding: 5.79% 2.31% 11% 2.31%;
  }
  .customer_slide .content_card .decoration {
    position: absolute;
  }
}
/*************************
END: customer_slide
***************************/


/*************************
success_story
***************************/
.success_story {
  padding: 100px 0 57px 0;
}
.success_story ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.success_story ul li {
  width: 31.6%;
  margin-bottom: 33px;
}
.success_story .content_card .content_card_inner {
  padding-top: 10px;
}
.success_story .content_card .img_box {
  padding-top: 65.85%;
}
.success_story .content_card .img_box .label {
  position: absolute;
  z-index: 10;
  top: -10px;
  right: 20px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  -webkit-text-orientation: upright;
  writing-mode: vertical-rl;
}
/*
.success_story .content_card .img_box .label .rotate {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;  
}
*/
.success_story .label_item {
  display: inline-block;
  background: #000;
  font-size: 2.4rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.08em;
  padding: 4px 4px 8px 4px;
  margin-left: 6px;
}
/*
.success_story .label_item.modify {
  padding: 0 0 14px 4px;
}
*/
.vr_wrap {
  display: inline-block;
}
.vr_wrap .vr {
  display: inline-block;
  vertical-align: text-top;
  transform: rotate(90deg);
  margin: 0.1em 0 0 0;
}
.success_story .label_item.small {
  font-size: 1.6rem;
  font-weight: 400;
}
.success_story .content_card .p_def {
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .success_story {
    padding: 13.3% 0 3% 0;
  }
  .success_story .common_mix_title {
    margin-bottom: 11%;
  }
  .success_story .common_mix_title img {
    height: calc(100vw * 0.0426);
    margin-bottom: 5%;
  }
  .success_story ul {
    display: block;
  }
  .success_story ul li {
    width: 100%;
    margin-bottom: 9.8%;
  }
  .success_story .content_card .content_card_inner {
    padding-top: 6.37%;
  }
  .success_story .content_card .img_box .label {
    top: -9.69%;
    right: 6.6%;
  }
  .success_story .label_item {
    font-size: 6.4vw;
  }
  .success_story .label_item.small {
    font-size: 4.2vw;
  }
}
/*************************
END: success_story
***************************/


/*************************
recruit_archivement
***************************/
/*
.recruit_archivement {
  text-align: center;
  padding: 90px 0 100px 0;
  border-top: 1px solid #eaeaea;
}
.recruit_archivement p {
  margin-top: 55px;
  margin-bottom: 55px;
}
.recruit_archivement ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
.recruit_archivement ul li {
  position: relative;
  width: 18.4%;
  padding-top: 11%;
  background: #f3f3f3;
  border-radius: 5px;
  margin-bottom: 2%;
}
.recruit_archivement ul li img {
  position: absolute;
  width: 70%;
  height: 60%;
  object-fit: contain;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
*/
.recruit_archivement {
  text-align: center;
  padding: 90px 0 100px 0;
}
.recruit_archivement p {
  margin-top: 55px;
  margin-bottom: 55px;
}
.recruit_archivement ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
.recruit_archivement ul li {
  position: relative;
  width: 18.4%;
  padding-top: 11%;
  background: #f3f3f3;
  border-radius: 5px;
  margin-bottom: 2%;
  overflow: hidden;
}
.recruit_archivement ul li:nth-child(5n+4):last-child {
  margin-right: calc(18.4% * 2 + ((100% - 18.4% * 5) / 4) * 2);
}
.recruit_archivement ul li img {
  position: absolute;
  width: 120%;
  height: 120%;
  object-fit: cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

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

  .recruit_archivement {
    display: block;
    width: 100%;
    padding: 45px 0;
  }

  .recruit_archivement .container {
    width: 100%;
  }

  .recruit_archivement .container .ttl1 {
    font-size: 6.4vw;
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: 0em;
  }

  .recruit_archivement .container .p_def {
    line-height: 2;
    margin-top: 3.7%;
    margin-bottom: 9.1%;
  }

  .recruit_archivement .container .slick {
    padding-bottom: 10px;
    display: block;
    justify-content: flex-start;
    flex-wrap: nowrap;
    max-width: none;
    margin: 0;
  }

  .recruit_archivement .container .slick li {
    width: 150px;
    padding-right: 20px;
    position: static;
    padding-top: 0;
    background: transparent;
    border-radius: 0;
    margin-bottom: 0;
    overflow: visible;
  }

  .recruit_archivement ul li:nth-child(5n+4):last-child {
    margin-right: 0;
  }

  .recruit_archivement ul li img {
    position: static;
    width: auto;
    height: auto;
    object-fit: fill;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    margin: 0;
  }
}

/* @media screen and (max-width: 767px) {
  .recruit_archivement {
    padding: 13.3% 0 12% 0;
  }
  .recruit_archivement p {
    line-height: 2;
    margin-top: 3.7%;
    margin-bottom: 9.1%;
  }
  .recruit_archivement ul li {
    width: 31.15%;
    padding-top: 18.55%;
    margin-bottom: 2.98%;
  }
} */
/*************************
END: recruit_archivement
***************************/

/*************************
faq
***************************/
.faq {
  background: #edfaff;
  padding: 100px 0;
}
.faq h2 {
  text-align: center;
  margin-bottom: 55px;
}
.faq ul li:not(:last-child) {
  margin-bottom: 30px;
}
.faq .question {
  position: relative;
  display: flex;
  align-items: center;
  background: #fff;
  min-height: 70px;
  border-radius: 35px;
  font-weight: 600;
  padding: 25px 55px 25px 60px;
  cursor: pointer;
}
.faq .question .q_icon {
  background-image: url('/assets/img/icon/question_bl.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  display: block;
  width: 15px;
  height: 17px;
  top: 35px;
  left: 30px;
}
.faq.pro .question .q_icon {
  background-image: url('/assets/img/icon/question_pu.png');
}
.faq.skills .question .q_icon {
  background-image: url('/assets/img/icon/question_lg.png');
}
.faq .question .icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 16px;
  height: 16px;
  margin: auto;
}
.faq .question .icon:before, .faq .question .icon:after {
  display: block;
  position: absolute;
  content: "";
  width: 16px;
  height: 2px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-radius: 1px;
  background: #004ea2;
}
.faq.pro .question .icon:before, .faq.pro .question .icon:after {
  background: #69318f;
}
.faq.skills .question .icon:before, .faq.skills .question .icon:after {
  background: #58b530;
}
.faq .question .icon:after {
  transform: rotate(-90deg);
  transition: all 0.3s;
}
.faq .answer {
  position: relative;
  display: none;
  transition: all 0.3s;
}
.faq .answer .a_icon {
  background-image: url('/assets/img/icon/answer_bl.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  top: 37px;
  left: 30px;
}
.faq.pro .answer .a_icon {
  background-image: url('/assets/img/icon/answer_pu.png');
}
.faq.skills .answer .a_icon {
  background-image: url('/assets/img/icon/answer_lg.png');
}
.faq .answer .answer_bg {
  background: #f7f7f7;
  padding: 20px;
  border-radius: 5px;
  margin-top: 20px;
}
.faq .answer a {
  display: inline;
  color: #004ea2;
  font-size: inherit;
}
.faq li.active .question {
  border-radius: 35px 35px 0 0;
}
.faq li.active .answer {
  display: block;
  background: #fff;
  border-top: 1px solid #eaeaea;
  border-radius: 0 0 35px 35px;
  padding: 25px 55px 35px 60px;
}
.faq li.active .icon:after {
  transform: rotate(0deg);
}
@media screen and (max-width: 767px) {
  .faq {
    padding: 14.6% 0
  }
  .faq h2 {
    margin-bottom: 11.5%;
  }
  .faq ul li:not(:last-child) {
    margin-bottom: 4%;
  }
  .faq .question {
    padding: 6.2% 13% 6.2% 17.8%;
    line-height: 1.68;
  }
  .faq .question .q_icon {
    width: calc(100vw * 0.038);
    height: calc(100vw * 0.044);
    top: calc(100vw * 0.073);
    left: 7.8%;
  }
  .faq .question .icon {
    width: calc(100vw * 0.042);
    height: calc(100vw * 0.042);
    right: 4.3%;
  }
  .faq li.active .answer {
    padding: 6% 5.79% 6% 17.8%;
    line-height: 2;
  }
  .faq .answer .a_icon {
    width: calc(100vw * 0.036);
    height: calc(100vw * 0.037);
    top: calc(100vw * 0.073);
    left: 7.8%;
  }
  .faq .question .icon:before, .faq .question .icon:after {
    width: calc(100vw * 0.042);
  }
}
/*************************
END: faq
***************************/


/*************************
support
***************************/
#support {
  background: #edfaff;
  text-align: center;
  padding: 100px 0;
}
#support h2 {
  margin-bottom: 50px;
}
#support .text {
  margin-bottom: 50px;
}
#support .text .tx_small {
  display: block;
  font-size: 1.4rem;
  margin-top: 8px;
  margin-bottom: 10px;
}

.support_content {
  /*
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  */
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: 32px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
.support_content li {
  /* width: 46.63%; */
  width: 100%;
  background: #fff;
  border-radius: 5px;
  padding-bottom: 25px;
  /* margin-bottom: 64px; */
  overflow: hidden;
}
.support_content li .img_box {
  position: relative;
  width: 100%;
  padding-top: 65.2%;
}
.support_content li .ttl3 {
  margin: 27px 0 17px 0;
  font-weight: 600;
}
#support .all_cashback_wh {
  margin-top: 32px;
}
#support .note_area {
  text-align: left;
  margin: 30px 0;
}
#support .note_area small {
  display: block;
}
@media screen and (max-width: 767px) {
  #support {
    padding: 14.6% 0;
  }
  #support h2 {
    margin-bottom: 7.5%;
  }
  #support .text {
    margin-bottom: 10%;
  }
  #support .text .p_def {
    letter-spacing: -0.05em;
    line-height: 2;
  }
  #support .text .p_def .none {
    display: none;
  }
  #support .text .tx_small {
    font-size: 3.2vw;
    margin: 1% 0 4% 0;
  }
  .support_content {
    display: block;
    padding: 0;
  }
  .support_content li {
    width: 100%;
    padding-bottom: 7.5%;
    margin-bottom: 4%;
  }
  .support_content li:last-child {
    margin-bottom: 0;
  }
  .support_content li .ttl3 {
    margin: 7.7% 0 3.7% 0;
  }
  .support_content li p {
    text-align: left;
    padding: 0 4.3%;
  }
  #support .all_cashback_wh {
    margin-top: 4%;
  }
}
/*************************
End: support
***************************/


/*************************
job_change_flow
***************************/

#job_change_flow {
  background: #edfaff;
  padding: 100px 0 100px 0;
}
#job_change_flow h2 {
  text-align: center;
  margin-bottom: 50px;
}
#job_change_flow .job_change_flow_inner {
  background: #fff;
  border-radius: 5px;
}
#job_change_flow .separator {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 144px;
  height: calc(100vw * 0.1025);
  background-image: url('/assets/img/parts/job_change_flow_separator.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  #job_change_flow {
    padding: 14.6% 0;
  }
  #job_change_flow h2 {
    margin-bottom: 11.5%;
  }
  #job_change_flow .separator {
    background-image: url('/assets/img/parts/job_change_flow_separator_sp.png');
    height: calc(100vw * 0.109);
  }
}

.job_change_flow_detail {
  text-align: center;
  padding: 60px 0;
}
.job_change_flow_detail h3 {
  margin-bottom: 60px;
}
.job_change_flow_detail .inner {
  max-width: 805px;
  text-align: left;
  margin: 0 auto 32px auto;
}
.job_change_flow_detail ol {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  margin: 0 auto 17px auto;
}
.job_change_flow_detail ol li {
  position: relative;
}
.job_change_flow_detail ol li:nth-child(odd) {
  width: 22.3%;
  min-height: 160px;
  border: 1px solid #eaeaea;
  border-radius: 5px;
  padding: 29px 20px 23px 20px;
}
.job_change_flow_detail ol li:nth-child(even) {
  width: 6px;
  height: 10px;
  background-image: url('/assets/img/icon/arrow_bl.png');
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  margin: 0 1%;
}
.job_change_flow_detail li .img_box {
  position: relative;
  width: 59px;
  height: 61px;
  margin: 0 auto 25px auto;
}
.job_change_flow_detail li .img_box .img_ratio_mask_contain {
  background-color: #004ea2;
}
.job_change_flow_detail li .p_body {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .job_change_flow_detail {
    padding: 11.5% 4.3%;
  }
  .job_change_flow_detail h3 {
    margin-bottom: 11.5%;
  }
  .job_change_flow_detail .inner {
    max-width: none;
    margin:  0 0 6% 0;
  }
  .job_change_flow_detail ol {
    display: block;
    margin-bottom: 4.4%;
  }
  .job_change_flow_detail ol li:nth-child(odd) {
    width: 100%;
    min-height: 0;
    height: calc(100vw * 0.26);
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 0;
  }
  .job_change_flow_detail ol li:nth-child(even) {
    display: none;
  }
  .job_change_flow_detail ol li:not(:last-child) {
    margin-bottom: 4.4%;
  }
  .job_change_flow_detail li .img_box {
    width: 12.6%;
    padding-top: 16.8%;
    margin: 0 12.5% 0 14.2%;
  }
  .job_change_flow_detail li .p_body {
    font-weight: 500;
  }
  .job_change_flow_detail small {
    display: block;
    text-align: right;
  }
  .job_change_flow_detail .p_def {
    line-height: 2;
  }
}

.take_course_flow {
  position: relative;
  text-align: center;
  padding: 60px 0 110px 0;
}
.take_course_flow h3 {
  margin-bottom: 60px;
}
.take_course_flow ol {
  display: flex;
  max-width: 1200px;
  justify-content: center;
  padding-top: 11px;
  margin: 0 auto 23px auto;
}
.take_course_flow ol li {
  position: relative;
}
.take_course_flow ol li:nth-child(odd) {
  width: 20.8%;
  min-height: 160px;
  border: 1px solid #eaeaea;
  border-radius: 5px;
  padding: 28px 20px 20px 20px;
}
.take_course_flow ol li:nth-child(even) {
  width: 6px;
  height: 10px;
  align-self: center;
  background-image: url('/assets/img/icon/arrow_bl.png');
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  margin: 0 1%;
}
.take_course_flow ol li span {
  position: absolute;
  top: -11px;
  left: -11px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #004ea2;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
}
.take_course_flow ol li .img_box {
  position: relative;
  width: 67px;
  height: 66px;
  margin: 0 auto 25px auto;
}
.take_course_flow ol li .img_box .img_ratio_mask_contain {
  background-color: #004ea2;
}
@media screen and (max-width: 767px) {
  .take_course_flow {
    padding: 11.5% 0 23.1% 0;
  }
  .take_course_flow h3 {
    margin-bottom: 11.5%;
  }
  .take_course_flow ol {
    display: block;
    padding: 0 4.3% 0 7.2%;
  }
  .take_course_flow ol li:nth-child(odd) {
    display: flex;
    align-items: center;
    justify-content: left;
    width: 100%;
    min-height: 0;
    height: calc(100vw * 0.26);
    padding: 0;
    margin-bottom: calc(100vw * 0.042);
  }
  .take_course_flow ol li:nth-child(even) {
    display: none;
  }
  .take_course_flow ol li span {
    font-size: 4.2vw;
    width: calc(100vw * 0.096);
    height: calc(100vw * 0.096);
    top: calc((100vw * 0.024) * -1);
    left: calc((100vw * 0.024) * -1);
  }
  .take_course_flow ol li .img_box {
    width: 17.2%;
    padding-top: 16.3%;
    margin: 0 10.4% 0 11.4%;
  }
  .take_course_flow ol li p {
    font-weight: 500;
  }
  .take_course_flow .text {
    padding: 0 4.3%;
  }
  .take_course_flow .text p {
    line-height: 2;
  }
  .take_course_flow .text .tx_bl {
    color: inherit;
  }
}

.learning_flow_detail {
  position: relative;
  padding: 50px 0 172px 0;
}
.learning_flow_detail h3 {
  text-align: center;
  margin-bottom: 70px;
}
.learning_flow_detail ol {
  width: 100%;
  max-width: 1000px;
  padding: 0 25px;
  margin: 0 auto;
}
.learning_flow_detail ol li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.learning_flow_detail ol li:not(:last-child) {
  margin-bottom: 60px;
}
.learning_flow_detail ol li .img_box {
  position: relative;
  width: 47.36%;
  padding-top: 28.94%;
}
.learning_flow_detail ol li .img_box img {
  border-radius: 5px;
}
.learning_flow_detail ol li .img_box .label {
  position: absolute;
  display: flex;
  top: -20px;
  left: 20px;
}
.learning_flow_detail ol li .img_box .label .label_bl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 106px;
  height: 40px;
  font-weight: 600;
  background: #004ea2;
  color: #fff;
}
.learning_flow_detail ol li .img_box .label .label_bl:after {
  display: block;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 38.67%;
  bottom: -12px;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #004ea2 transparent transparent;
}
.learning_flow_detail ol li .img_box .label .label_pu {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 106px;
  height: 40px;
  font-weight: 600;
  background: #6a318f;
  color: #fff;
}
.learning_flow_detail ol li .img_box .label .label_pu:after {
  display: block;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 38.67%;
  bottom: -12px;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #6a318f transparent transparent;
}
.learning_flow_detail ol li .img_box .label .label_rd {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 40px;
  font-weight: 600;
  background: #fb0051;
  color: #fff;
}
.learning_flow_detail ol li .text {
  width: 47.36%;
}
.learning_flow_detail ol li .text h4 {
  font-weight: 600;
  margin-bottom: 20px;
}
.learning_flow_detail ol li .text p {
  letter-spacing: -0.05em;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 767px) {
  .learning_flow_detail {
    padding: 11.5% 0 23.1% 0;
  }
  .learning_flow_detail h3 {
    margin-bottom: 19.5%;
  }
  .learning_flow_detail ol {
    padding: 0 4.3%;
  }
  .learning_flow_detail ol li {
    display: block;
  }
  .learning_flow_detail ol li:not(:last-child) {
    margin-bottom: 20%;
  }
  .learning_flow_detail ol li .img_box {
    width: 100%;
    padding-top: 61.2%;
  }
  .learning_flow_detail ol li .img_box .label {
    width: 100%;
    height: calc(100vw * 0.104);
    top: -15.2%;
    left: 0;
  }
  .learning_flow_detail ol li .img_box .label .label_bl {
    width: 29.5%;
    height: 100%;;
    margin-left: 6.8%;
  }
  .learning_flow_detail ol li .img_box .label .label_pu {
    width: 29.5%;
    height: 100%;;
    margin-left: 6.8%;
  }
  .learning_flow_detail ol li .img_box .label .label_rd {
    width: 55.8%;
    height: 100%;
  }
  .learning_flow_detail ol li .text {
    width: 100%;
  }
  .learning_flow_detail ol li .text h4 {
    margin: 6.9% 0 4% 0;
  }
  
}

/*************************
End: job_change_flow
***************************/


/*************************
course_list
***************************/
#course_list {
  background: #edfaff;
  padding: 100px 0;
}
#course_list h2 {
  text-align: center;
  margin-bottom: 60px;
}
#course_list ul li {
  background: #fff;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-radius: 5px;
  padding: 42px 32px 32px 32px;
}
#course_list ul li:not(:last-child) {
  margin-bottom: 32px;
}
#course_list ul li .img_box {
  position: relative;
  width: 34%;
  padding-top: 24.5%;
  margin-right: 4.5%;
}
#course_list ul li .img_box img {
  border-radius: 5px;
}
#course_list ul li .img_box .label {
  position: absolute;
  display: flex;
  top: -20px;
  left: 14px;
}
#course_list ul li .img_box .label .label_bl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 161px;
  height: 40px;
  background: #004ea2;
  color: #fff;
  font-weight: 600;
}
#course_list ul li .img_box .label .label_bl:after {
  display: block;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 25.46%;
  bottom: -12px;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #004ea2 transparent transparent;
}
#course_list ul li .img_box .label .label_rd {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 40px;
  background: #fb0051;
  color: #fff;
}
#course_list ul li .text {
  flex: 1;
}
#course_list ul li .text h4 {
  font-weight: 600;
  margin-bottom: 10px;
}
#course_list ul li .text p {
  letter-spacing: -0.05em;
  text-align: justify;
  text-justify: inter-ideograph;
}
#course_list ul li .text p.emphasis {
  display: inline-block;
  background: #fb0051;
  color: #fff;
  line-height: 2.3;
  font-weight: 600;
  padding: 0 15px;
  margin-top: 9px;
}
@media screen and (max-width: 767px) {
  #course_list {
    padding: 14.6% 0;
  }
  #course_list h2 {
    margin-bottom: 18%;
  }
  #course_list ul li {
    display: block;
    padding: 0;
  }
  #course_list ul li:not(:last-child) {
    margin-bottom: 14.2%;
  }
  #course_list ul li .img_box {
    width: 100%;
    padding-top: 67.4%;
    margin: 0;
  }
  #course_list ul li .img_box img {
    border-radius: 5px 5px 0 0 ;
  }
  #course_list ul li .img_box .label {
    top: -12.4%;
    left: 4.6%;
  }
  #course_list ul li .img_box .label .label_bl {
    height: calc(100vw * 0.104);
    width: calc(100vw * 0.4);
  }
  #course_list ul li .img_box .label .label_bl:after {
    bottom: calc((100vw * 0.032) * -1);
    left: 27.2%;
    border-width: 0 calc(100vw * 0.032) calc(100vw * 0.032) 0;
  }
  #course_list ul li .text {
    text-align: center;
    padding: 7.5% 5.7%;
  }
  #course_list ul li .text h4 {
    text-align: center;
    margin-bottom: 6.2%;
  }
  #course_list ul li .text p.emphasis {
    padding: 0 4%;
    margin-top: 4%;
  }
}
/*************************
End: course_list
***************************/


/*************************
choosable_learning_style
***************************/
#choosable_learning_style {
  padding: 100px 0;
}
#choosable_learning_style h2 {
  text-align: center;
  margin-bottom: 60px;
}
#choosable_learning_style ul {
  display: flex;
  justify-content: space-between;
}
#choosable_learning_style ul li {
  width: 47.5%;
  border: 1px solid #eaeaea;
  border-radius: 5px;
  overflow: hidden;
}
#choosable_learning_style ul li .img_box {
  position: relative;
  width: 100%;
  padding-top: 63.15%;
}
#choosable_learning_style ul li .text {
  text-align: center;
  padding: 6% 8.4%;
}
#choosable_learning_style ul li .text h3 {
  font-weight: 400;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  #choosable_learning_style {
    padding: 14.6% 0;
  }
  #choosable_learning_style h2 {
    margin-bottom: 11.5%;
  }
  #choosable_learning_style ul {
    display: block;
  }
  #choosable_learning_style ul li {
    width: 100%;
  }
  #choosable_learning_style ul li:not(:last-child) {
    margin-bottom: 5.7%;
  }
  #choosable_learning_style ul li .img_box {
    height: 65.2%;
  }
  #choosable_learning_style ul li .text {
    padding: 6% 5.79%
  }
}
/*************************
End: choosable_learning_style
***************************/


/*************************
shool_comparison
***************************/
#section_school_comparison {
  padding: 100px 0;
}
#section_school_comparison .title {
  text-align: center;
}
#section_school_comparison .title p {
  margin: 40px 0 60px 0;
}
#section_school_comparison .title p span {
  font-size: 6rem;
  font-weight: 700;
  margin-left: 13px;
}
#section_school_comparison .inner {
  padding: 0 20px;
}
#section_school_comparison .comparison_table {
  text-align: center;
}
#section_school_comparison .comparison_table .thead {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
#section_school_comparison .comparison_table .thead p {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 73px;
  color: #fff;
  background: #004ea2;
  border-left: 1px solid #eaeaea;
  border-top: 1px solid #eaeaea;
}
#section_school_comparison .comparison_table .thead p:last-child {
  border-right: 1px solid #eaeaea;
  border-radius: 0 5px 0 0;
}
#section_school_comparison .comparison_table .thead p.emphasis {
  flex: unset;
  width: 33.3%;
  height: 98px;
  background: #fb0051;
  font-weight: 600;
  border-radius: 5px 5px 0 0;
  border: none;
}
#section_school_comparison .comparison_table .tbody {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  line-height: 1.5;
}
#section_school_comparison .comparison_table .tbody > div {
  flex: 1;
  border-left: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  padding: 0 2.75%;
}
#section_school_comparison .comparison_table .tbody > div:last-child {
  border-right: 1px solid #eaeaea;
  border-radius: 0 0 5px 0;
}
#section_school_comparison .comparison_table .tbody .img_ratio_mask_contain {
  background-color: #004ea2;
}
#section_school_comparison .comparison_table .tbody .emphasis {
  flex: unset;
  width: 33.3%;
  font-weight: 600;
  border-left: 3px solid #fb0051;
  border-right: 3px solid #fb0051;
  border-bottom: 3px solid #fb0051;
  border-radius: 0 0 5px 5px;
  padding: 0 2.5% 16px 2.5%;
}
#section_school_comparison .comparison_table .tbody .emphasis .img_ratio_mask_contain {
  background-color: #fb0051;
}
#section_school_comparison .comparison_table .tbody .td {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 127px;
  border-bottom: 1px solid #eaeaea;
}
#section_school_comparison .comparison_table .tbody .td_3 {
  border-bottom: none;
}
#section_school_comparison .comparison_table .tbody .img_box {
  position: relative;
  width: 35px;
  height: 35px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  #section_school_comparison {
    padding: 14.6% 0;
  }
  #section_school_comparison .inner {
    padding: 0;
  }
  #section_school_comparison .title p {
    font-size: 4.2vw;
    margin: 6.68% 0 11.59% 0; 
  }
  #section_school_comparison .title p span {
    font-size: 8vw;
  }
  #section_school_comparison .comparison_table .thead p {
    height: auto;
    font-size: 3.73vw;
    padding: 4.5% 0;
  }
  #section_school_comparison .comparison_table .thead p.emphasis {
    height: auto;
    padding: 7.39% 0;
  }
  #section_school_comparison .comparison_table .tbody {
    font-size: 3.2vw;
  }
  #section_school_comparison .comparison_table .tbody > div {
    padding: 0;
  }
  #section_school_comparison .comparison_table .tbody .emphasis {
    padding: 0 0 1.1% 0;
  }
  #section_school_comparison .comparison_table .tbody .td {
    padding: calc(100vw * 0.054) 0
  }
  #section_school_comparison .comparison_table .tbody .img_box {
    width: calc(100vw * 0.093);
    height: calc(100vw * 0.093);
  }
}
/*************************
END: shool_comparison
***************************/

/*************************
bg_section
***************************/
.bg_section {
  background: #008f95;
  text-align: center;
  color: #fff;
  padding: 55px 0 60px 0;
}
.bg_section h2 {
  margin-bottom: 30px;
}
#career_modal {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;;
  z-index: 10000;
  transition: all 0.3s;
}
#career_modal.active {
  visibility: visible;
  opacity: 1;
}
.modal_content {
  position: absolute;
  width: 90%;
  max-width: 1000px;
  height: auto;
  max-height: calc(90vh - 40px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background: #008f95;
  border-radius: 5px;
  padding: 30px;
  margin: auto;
  z-index: 100000;
}
.modal_overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
}
.modal_content .title {
  text-align: center;
  color: #fff;
  margin-bottom: 60px;
}
.career_counseling_wrapper {
  overflow-y: scroll;
  max-height: 100%;
}
.career_counseling_wrapper::-webkit-scrollbar {
  display: none;
}
.career_counseling_list {
  display: flex;
  justify-content: space-between;
}
.career_counseling_list li {
  width: 32%;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
}
.career_counseling_list li .img_box {
  position: relative;
  width: 100%;
  padding-top: 65.8%;
  background: #eaeaea;
}
.career_counseling_list li .text {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: left;
  padding: 20px 30px;
}
.career_counseling_list li .text h3 {
  width: 15.4%;
  height: auto;
  margin-right: 4.8%;
}
.career_counseling_list li .text p {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
}
.career_counseling_list li .text:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  width: 5px;
  height: 8px;
  background-image: url('/assets/img/icon/arrow_main.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto;
}
.close_career_modal_btn {
  position: absolute;
  width: 40px;
  height: 40px;
  top: -60px;
  right: 0;
}
.close_career_modal_btn:before, .close_career_modal_btn:after {
  display: block;
  content: "";
  position: absolute;
  width: 40px;
  height: 3px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 5px;
  background: #fff;
  margin: auto;
}
.close_career_modal_btn:before {
  transform: rotate(45deg);
}
.close_career_modal_btn:after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .bg_section {
    padding: 10.4% 0 10.66% 0;
  }
  .bg_section h2 {
    letter-spacing: -0.05em;
    margin-bottom: 6.5%;
  }
  .modal_content {
    height: 70%;
    padding: 6% 4%;
  }
  .career_counseling_wrapper .title {
    margin-bottom: 6%;
  }
  .career_counseling_wrapper .title p {
    font-size: 3.2vw;
  }
  .career_counseling_list {
    display: block;
  }
  .career_counseling_list li {
    width: 100%;
  }
  .career_counseling_list li:not(:last-child) {
    margin-bottom: 4%;
  }
  .career_counseling_list li a {
    display: flex;
  }
  .career_counseling_list li .img_box {
    padding-top: calc(100vw * 0.3);
    width: 40%;
  }
  .career_counseling_list li .text {
    flex: 1;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0 4%;
  }
  .career_counseling_list li .text h3 {
    width: 22%;
    margin: 0 0 4% 0;
  }
  .career_counseling_list li .text p {
    font-size: 3.2vw;
  }
  .career_counseling_list li .text:after {
    width: calc(100vw * 0.013);
    height: calc(100vw * 0.021);
    right: 4.5%;
  }
}
/*************************
END: bg_section
***************************/


/*************************
classroom_list
***************************/
#classroom_list {
  padding: 100px 0;
}
#classroom_list h2 {
  text-align: center;
  margin-bottom: 60px;
}
#classroom_list ul li {
  position: relative;
  border-radius: 5px;
  text-align: left;
  overflow: hidden;
}
#classroom_list ul li:not(:last-child) {
  margin-bottom: 28px;
}
#classroom_list li .img_box {
  position: absolute;
  width: 40%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  background: #eaeaea;
}
#classroom_list li .inner {
  min-height: 305px;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}
#classroom_list li .text {
  padding: 32px 40px;
  margin-left: 40%;
}
#classroom_list li h3 {
  margin-bottom: 16px;
}
#classroom_list li .address {
  margin-bottom: 13px;
}
#classroom_list li small {
  display: block;
}
@media screen and (max-width: 767px) {
  #classroom_list {
    padding: 14.6% 0;
  }
  #classroom_list h2 {
    margin-bottom: 11.5%;
  }
  #classroom_list ul li:not(:last-child) {
    margin-bottom: 4%;
  }
  #classroom_list li {
    border: 1px solid #eaeaea;
  }
  #classroom_list li .img_box {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 72.75%;
  }
  #classroom_list li .inner {
    min-height: 0;
    border: none;
    padding: 8.79% 4.79% 11.59% 4.79%;
  }
  #classroom_list li .text {
    padding: 0;
    margin: 0;
  }
  #classroom_list li h3 {
    font-weight: 600;
    margin-bottom: 5%;
  }
  #classroom_list li .address {
    margin-bottom: 4%;
  }
}
/*************************
END: classroom_list
***************************/

/*************************
reason_2
***************************/
#reason_2 {
  background: #edfaff;
  padding-bottom: 100px;
  margin-top: -1px;
}
#reason_2 .separator {
  width: 100%;
  height: calc(100vw * 0.0816);
  background-image: url('/assets/img/parts/separator_wh.png');
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  margin-bottom: 100px;
}
#reason_2 ul {
  display: flex;
  justify-content: space-between;
}
#reason_2 ul li {
  width: 31.5%;
  background: #fff;
  border-radius: 5px;
}
#reason_2 ul li .img_box {
  position: relative;
  width: 100%;
  padding-top: 65.8%;
}
#reason_2 ul li img {
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}
#reason_2 ul li .label {
  position: absolute;
  top: -8.7%;
  left: 4.8%;
  display: inline-block;
  line-height: 2.3;
  color: #fff;
  font-weight: 600;
  padding: 0 20px;
}
#reason_2 ul li .label:after {
  display: block;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 33.4%;
  bottom: -12px;
  border-style: solid;
  border-width: 0 12px 12px 0;
  border-color: transparent #004ea2 transparent transparent;
}
#reason_2 ul li .text {
  text-align: center;
  padding: 6% 3%;
}
#reason_2 ul li h3 {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: -0.05em;
  margin-bottom: 5%;
}
#reason_2 ul li p {
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  #reason_2 {
    padding-bottom: 14.6%;
  }
  #reason_2 .separator {
    margin-bottom: 14.6%;
  }
  #reason_2 h2 {
    margin-bottom: 17%;
  }
  #reason_2 ul {
    display: block;
  }
  #reason_2 ul li {
    width: 100%;
  }
  #reason_2 ul li:not(:last-child) {
    margin-bottom: 12.4%;
  }
  #reason_2 ul li .label {
    font-size: 4.8vw;
    line-height: 2.6;
    padding: 0 5.5%;
    top: -12.8%;
    left: 6.5%;
  }
  #reason_2 ul li .label:after {
    left: 44%;
  }
  #reason_2 ul li .text {
    padding: 7% 3%;
  }
  #reason_2 ul li h3 {
    font-size: 4.8vw;
    margin-bottom: 3%;
  }
}
/*************************
END: reason_2
***************************/


/*************************
government
***************************/
#government {
  background: #f3f3f3;
  padding: 100px 0;
  text-align: center;
}
#government h2 {
  text-align: center;
  letter-spacing: -0.05em;
  margin-bottom: 60px;
}
#government ul {
  display: flex;
  justify-content: space-between;
  padding: 0 25px;
  margin-bottom: 55px;
}
#government ul li {
  position: relative;
  width: 48.4%;
  padding-top: 21%;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
}
#government ul li img {
  width: 80%;
  height: 80%;
  bottom: 0;
  right: 0;
  margin: auto;
}
#government .text a {
  display: inline;
  color: #056CBB;
  text-decoration: underline;
  font-size: inherit;
  transition: all 0.3s;
}
#government .text a:hover {
  opacity: 0.6;
}
#government .text small {
  display: inline-block;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  #government {
    padding: 14.6% 0;
    text-align: left;
  }
  #government ul {
    display: block;
    padding: 0;
    margin-bottom: 11.5%;
  }
  #government ul li {
    width: 100%;
    padding-top: 43%;
  }
  #government ul li:not(:last-child) {
    margin-bottom: 4%;
  }
  #government .text p {
    line-height: 2;
  }
}
/*************************
END: government
***************************/


/*************************
counseling_thanks
***************************/
#counseling_thanks {
  text-align: center;
  padding: 100px 0;
  border-bottom: 1px solid #eaeaea;
}
#counseling_thanks h2 {
  text-align: center;
  font-weight: 600;
  margin-bottom: 20px;
}
.title_under_line {
  position: relative;
  padding-bottom: 15px;
}
.title_under_line:after {
  position: absolute;
  display: block;
  content: "";
  width: 50px;
  height: 3px;
  background: #eaeaea;
  border-radius: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.title_under_line.tx_bl:after {
  background: #004ea2;
}
.title_under_line.tx_pu:after {
  background: #6a318f;
}
.title_under_line.tx_lg:after {
  background: #58b530;
}
#counseling_thanks .thanks_content {
  position: relative;
  border: 2px solid #eaeaea;
  border-radius: 5px;
  text-align: justify;
  text-justify: inter-ideograph;
  padding: 30px 10%;
  margin-bottom: 80px;
}
#counseling_thanks.commit .thanks_content {
  border: 2px solid #004ea2;
}
#counseling_thanks.pro .thanks_content {
  border: 2px solid #6a318f;
}
#counseling_thanks.skills .thanks_content {
  border: 2px solid #58b530;
}
#counseling_thanks h3 {
  position: absolute;
  top: -10px;
  left: 2%;
  line-height: 1;
  font-weight: 600;
  background: #fff;
  padding: 0 10px;
}
#counseling_thanks .thanks_content .tx_rd {
  font-weight: 600;
}
#counseling_thanks p a {
  display: inline;
  font-weight: 500;
}
#counseling_thanks h1 {
  text-align: center;
  font-weight: 600;
  letter-spacing: -0.05em;
  color: #ffbe08;
  margin-bottom: 30px;
}
#counseling_thanks a {
  color: #056CBB;
  transition: all 0.3s;
}
#counseling_thanks a:hover {
  opacity: 0.6;
}
#counseling_thanks .bottom_link {
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 1px solid #056CBB;
}
#counseling_thanks .movie_box {
  margin: 50px auto 10px auto;
  width: 73.9%;
}
#counseling_thanks .movie_box .movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#counseling_thanks .movie_box .movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
#counseling_thanks .movie_ds {
  text-align: center;
  margin-bottom: 50px;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  #counseling_thanks h1 {
    margin-bottom: 5vw;
  }
  #counseling_thanks {
    padding: 14.6% 0;
  }
  #counseling_thanks h2 {
    margin-bottom: 5vw;
  }
  #counseling_thanks .thanks_content {
    padding: 6% 4%;
    margin-bottom: 11.5%;
  }
  #counseling_thanks .movie_box {
    margin: 15vw auto 5vw auto;
    width: 100%;
  }
  #counseling_thanks .movie_ds {
    margin-bottom: 15vw;
    font-size: 3vw;
  }
}
/*************************
END: counseling_thanks
***************************/


/* breadcrumb_list */
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  padding: 10px;
  padding-left: 40px;
  border: solid 15px #f3f3f3;
  border-top-width: 10px;
  border-bottom-width: 10px;
}

.breadcrumb__list li:not(:last-child):after {
  display: inline;
  content: "/";
  padding-left: 5px;
 }

.breadcrumb__list li {
  display: inline-block;
  padding: 0 5px;
  font-size: 1.2rem;
}

.breadcrumb__list li a {
  display: inline;
  color: #0026ff;
  font-size: 1.2rem;
}

.breadcrumb__list li a:hover {
  text-decoration: underline;
  color: #bbbbbb;
}

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

  .breadcrumb__list {
    padding-left: 20px;
    line-height: 22px;
  }
}


/* tvcm_section */
#tvcm_section .banner_box {
  max-width: 950px;
  padding: 30px 0;
  margin: 0 auto;
}

#tvcm_section .banner_box a img {
  max-width: 100%;
  height: auto;
}

#tvcm_section .tvcm_container {
  width: 100%;
}

#tvcm_section .tvcm_container {
  width: 100%;
  height: auto;
}

#tvcm_section .tvcm_container {
  background-image: url(/assets/img/commit/index/tvcm_commit.jpg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
}

#tvcm_section .tvcm_container h3 {
  text-align: center;
  padding-top: 80px;
  padding-bottom: 20px;
  font-size: 3.5rem;
  font-weight: bold;
  color: white;
}

#tvcm_section .tvcm_container h1 {
  text-align: center;
  font-size: 4.5rem;
  font-weight: bold;
  color: white;
  padding-bottom: 50px;
}

#tvcm_section .tvcm_container .tvcm_box {
  margin: 0 auto;
  width: 60%;
  background-color: white;
  padding: 50px 0;
  border: solid 0.5px white;
  border-radius: 20px;
  box-shadow: 0px 3px 5px rgba(53, 51, 51, 0.5);
}

#tvcm_section .tvcm_container .tvcm_box .tvcm {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#tvcm_section .tvcm_container .tvcm_box .tvcm iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 50px;
}

#tvcm_section .tvcm_container .tvcm_box h4 {
  text-align: center;
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1.8;
  padding-top: 50px;
  padding-bottom: 30px;
}

#tvcm_section .tvcm_container .tvcm_box .text_box .addition {
  font-size: 1.5rem;
  padding-top: 20px;
}

#tvcm_section .tvcm_container .tvcm_box h4 span {
  color: #004EA3;
}

#tvcm_section .tvcm_container .tvcm_box h4 .sp_br {
  display: none;
}

#tvcm_section .tvcm_container .tvcm_box p {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.8;
}

#tvcm_section .tvcm_container .tvcm_box p .sp_br {
  display: none;
}

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

  #tvcm_section .banner_box {
    width: 100%;
    padding: 30px 4%;
  }

  #tvcm_section .tvcm_container .tvcm_box {
    width: auto;
    padding: 50px 4%;
  }

  #tvcm_section .tvcm_container .tvcm_box .tvcm iframe {
    padding: 0;
  }

  #tvcm_section .tvcm_container h3 {
    font-size: 3.0rem;
  }

  #tvcm_section .tvcm_container h1 {
    font-size: 4.0rem;
  }

  #tvcm_section .tvcm_container .tvcm_box h4 {
    font-size: 2.0rem;
  }

  #tvcm_section .tvcm_container .tvcm_box p {
    font-size: 1.5rem;
  }

  #tvcm_section .tvcm_container .tvcm_box h4 .sp_br {
    display: inline;
  }
  
  #tvcm_section .tvcm_container .tvcm_box p .sp_br {
    display: inline;
  }

  #tvcm_section .tvcm_container {
    background-image: url(/assets/img/commit/index/tvcm_sp_commit.jpg);
    padding: 0 4%;
  }

  #tvcm_section .tvcm_container h3 {
    padding-top: 40px;
    font-size: 2.5rem;
    font-weight: bold;
  }

  #tvcm_section .tvcm_container h1 {
    font-size: 2.5rem;
    font-weight: bold;
  }
}

/***********************************************************
* campaign_spring
************************************************************/
#spring_cashback {
  text-align: center;
  background: rgb(2,2,2);
  background: linear-gradient(90deg, rgba(2,2,2,1) 0%, rgba(103,103,103,1) 100%);
  padding: 85px 0;
  overflow: hidden;
}
#spring_cashback a {
  margin-top: 70px;
}

.spring_cashback_banner {
  margin: 40px 0 50px 0;
}
.spring_cashback_banner:hover {
  opacity: 0.7;
}

.spring_campaign_banner {
  margin: 0 0 100px 0;
}
.spring_campaign_banner:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  #spring_cashback {
    background: linear-gradient(0deg, rgba(2,2,2,1) 0%, rgba(103,103,103,1) 100%);
    padding: 14.4vw 0;
  }
  #spring_cashback a {
    margin-top: 20vw;
  }

  .spring_cashback_banner {
    margin: 8vw 0 9vw 0;
  }

  .spring_campaign_banner {
    margin: 0 0 12vw 0;
  }
}
/***********************************************************
* END: campaign_spring
************************************************************/
