/*---------- 全体共通 -----------*/

/*フォントの設定*/
* {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
}

body {
  color: #333;
  overflow-x: hidden;
}

a {
  width: inherit;
  height: inherit;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  opacity: 0.7;
}

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

/*フォント指定の設定*/
.hp_fss {
  font-size: 14px;
}

.hp_fsm {
  font-size: 18px;
}

.hp_fsml {
  font-size: 24px;
}

.hp_fsl {
  font-size: 36px;
}

.hp_fsll {
  font-size: 40px;
}

.ly_pc_bg {
  position: fixed;
  background: url(../img/pc_background_img.png)no-repeat center / cover;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}

.ly_wrapper {
  width: 640px;
  margin: 0 auto;
  background-color: #f2f2f2;
}

.ly_header {
  display: flex;
  align-items: center;
  height: 80px;
  padding: 0 30px;
}

.bl_header_logo {
  width: 280px;
}

.bl_fixed {
  position: fixed;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
  width: 620px;
  z-index: 999;
  transition: 0.5s ease;
  height: 0;
}

.bl_fixed.is_active {
  height: auto;
  bottom: -5px;
}

.ly_fv {
  background: url(../img/sp_fv_background.png) no-repeat right top;
  padding-bottom: 80px;
}

.bl_fv_txt {
  width: 580px;
  margin: 0 auto;
  padding: 102px 0 0;
}

.bl_fv_point {
  width: 580px;
  margin: 0 auto;
  padding-top: 29px;
}

.el_fv_note {
  margin: 7px 0 14px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.3px;
}

.bl_cta {
  width: 580px;
  margin: 0 auto;
  border-radius: 30px;
  background-color: #fff;
}

.bl_cta_ttl {
  background-color: #39bcf5;
  height: 100px;
  border-radius: 30px 30px 0 0;
  padding: 27px 0 0;
  text-align: center;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.11428571;
  color: #fff;
}

.bl_cta_txt {
  padding: 20px 0 22px;
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.692307;
  letter-spacing: 0.06px;
}

.bl_cta_txt02 {
  padding: 20px 0;
  font-size: 28px;
  font-weight: bold;
  color: #009de1;
  text-align: center;
}

.bl_cta_img {
  width: 520px;
  margin: 0 auto 22px;
}

.bl_cta_txt03 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 22px;
}

.bl_cta_txt03 span {
  font-size: 24px;
  font-weight: bold;
}

.bl_cta_txtImg {
  width: 490px;
  margin: 0 auto 27px;
}

.bl_cta_btn {
  width: 520px;
  margin: 0 auto;
  padding-bottom: 22px;
}

.ly_reason {
  background: url(../img/sp_reason_top_bg.png) no-repeat center top;
  margin: 90px 0 0;
  padding: 130px 30px 2px;
}

.bl_reason_ttl {
  width: 580px;
  margin: 0 auto 30px;
}

.bl_reason_listItem {
  padding: 0 0 55px;
}

.bl_reason_listImg {
  width: 600px;
  margin: 0 0 0 -10px;
}

.el_reason_listTtl {
  margin-top: -2px;
  padding: 0 30px;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: 0.06px;
  color: #009de1;
}

.el_reason_listTxt {
  margin-top: 10px;
  padding: 0 30px;
  font-size: 26px;
  line-height: 1.538461;
  letter-spacing: 0.06px;
}

.el_reason_listTxt span {
  font-size: 26px;
  line-height: 1.15384615;
  letter-spacing: 0.06px;
  font-weight: bold;
}

.bl_info_ttl {
  width: 100%;
}

.bl_cta02 {
  position: relative;
  margin-top: -61px;
  z-index: 1;
}

.ly_departments {
  padding: 0 0 90px;
}

.bl_departments_ttl {
  width: 536px;
  margin: 0 auto 48px;
}

.bl_departments_course {
  margin-bottom: 89px;
}

.bl_departments_courseBox {
  background: #fff;
  margin-bottom: 28px;
  padding: 36px 0 32px;
}

.bl_departments_courseTxtImg {
  width: 580px;
  margin: 0 auto 14px;
}

.bl_departments_courseTxt {
  width: 577px;
  margin: 0 auto;
  font-size: 26px;
  line-height: 1.5;
}

.bl_departments_features {
  margin-bottom: 74px;
}

.bl_departments_featuresTtl {
  width: 373px;
  margin: 0 0 40px 176px;
}

.bl_departments_featuresTxt {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 580px;
  margin: 18px auto 0;
  padding: 20px 0 21px 30px;
  font-size: 26px;
  background: #39bcf5;
  border-radius: 20px;
}

.bl_departments_featuresTxt.is_active {
  border-radius: 20px 20px 0 0;
}

.bl_departments_featuresTxt::after {
  content: "＋";
  font-size: 30px;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.bl_departments_featuresTxt.is_active::after {
  content: "ー";
  font-size: 28px;
}

.bl_departments_featuresTxt img {
  width: 64px;
  margin-right: 20px;
}

.el_featuresTxt {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
}

.el_featuresTxtBigger {
  font-size: 28px;
}

.el_featuresTxtYellow {
  font-size: 28px;
  color: #f8f366;
  font-feature-settings: "palt";
}

.bl_departments_featuresContent {
  width: 580px;
  margin: 0 auto;
  height: 0;
  overflow: hidden;
  background-color: #fff;
  padding: 0 30px 0;
  border-radius: 0 0 20px 20px;
}

.bl_departments_featuresContent.is_show {
  height: auto;
  padding: 26px 30px 46px;
}

.bl_departments_featuresImg {
  margin-bottom: 18px;
}

.bl_departments_featuresAccTxt {
  font-size: 26px;
  line-height: 1.5;
}

.bl_departments_detail {
  width: 540px;
  margin: 0 auto;
}

.bl_departments_detailTtl {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background: #fff;
  border-top: #464646 solid 2px;
  border-bottom: #464646 solid 2px;
  padding: 21px 0 21px 28px;
  margin-top: -2px;
}

.bl_departments_detailTtl::after {
  content: "＋";
  font-size: 30px;
  color: #464646;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.bl_departments_detailTtl.is_active::after {
  content: "ー";
  font-size: 28px;
}

.bl_departments_detailTtl img {
  width: 58px;
  margin-right: 44px;
}

.bl_departments_detailTtl span {
  font-size: 32px;
  font-weight: bold;
  color: #464646;
}

.bl_departments_detailContent {
  height: 0;
  overflow: hidden;
  background-color: #fff;
  padding: 0 30px 0;
}

.bl_departments_detailContent.is_show {
  height: auto;
  padding: 26px 30px 20px;
}

.bl_departments_detailTxtBox {
  margin-bottom: 24px;
}
.bl_departments_detailTxtBox dt {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  background: #39bcf5;
  border-radius: 5px;
  text-align: center;
  line-height: 1.0;
  margin-bottom: 10px;
  padding: 11px 0;
}
.bl_departments_detailTxtBox dd {
  font-size: 22px;
}
.bl_departments_detailList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.bl_departments_detailList li {
  font-size: 22px;
  line-height: 36px;
  padding-left: 34px;
  background: url(../img/sp_features_detail_check.png) no-repeat left 8px;
}
.bl_departments_detailList li:nth-last-child(2) {
  margin-right: 52px;
}
.bl_departments_detailList li span {
  display: inline-block;
  vertical-align: 2px;
  font-size: 19px;
  line-height: 1.0;
  border: #464646 solid 1px;
  margin-left: 6px;
  padding: 1px 5px 4px;
}

.bl_departments_detailIntro {
  margin-bottom: 38px;
}
.bl_departments_detailIntro dt {
  margin-bottom: 14px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.bl_departments_detailIntro dt img {
  width: 150px;
  margin-right: 26px;
}
.bl_departments_detailIntro dt span {
  font-size: 26px;
  font-weight: bold;
  color: #009de1;
}
.bl_departments_detailIntro dd {
  font-size: 22px;
}
.bl_departments_detailIntro dd span {
  font-size: 18px;
}

.splide__pagination {
  flex-wrap: unset !important;
  left: 50% !important;
  bottom: -10px !important;
  transform: translate(-50%,0);
}

.bl_pagination {
  flex-wrap: nowrap;
  height: 10px;
  border-radius: 5px;
  margin: 0 auto;
  padding: 0;
}

.bl_pagination li {
  margin-left: 0;
  margin-right: 0;
}

.is_page {
  background-color: initial;
  width: 82.857px;
  height: 10px;
  border-radius: 0px;
  opacity: 1;
}

.is_page.is-active {
  background-color: #39bcf5;
  height: 12px;
  border-radius: 5px;
}

.ly_achievements {
  padding: 52px 0 23px;
}

.bl_achievements_ttl {
  width: 515PX;
  margin: 10px auto 0;
}

.bl_achievements_img {
  width: 580px;
  margin: 51px auto 0;
}

.el_achievements_txt {
  display: block;
  width: 580px;
  margin: 32px auto 16px;
  font-size: 18px;
  line-height: 1.333333;
}

.bl_achievements_support {
  width: 580px;
  margin: 37px auto 0;
  background-color: #fff;
  border-radius: 30px;
  padding: 20px 30px 30px;
}

.el_achievements_supportTtl {
  margin-top: 33px;
  text-align: center;
  color: #009de1;
  font-size: 26px;
  font-weight: bold;
}

.el_achievements_supportTxt {
  font-size: 24px;
  line-height: 1.4166666;
}

.ly_voice {
  background-color: #39bcf5;
  padding: 77px 0 33px;
}

.bl_voice_ttl {
  width: 510px;
  margin: 0 auto;
}

.bl_voice_list {
  margin-top: 26px;
}

.bl_voice_item {
  width: 580px;
  margin: 0 auto 61px;
  padding: 30px;
  background-color: #fff;
  border-radius: 30px;
}

.bl_voice_headerArea {
  display: flex;
  padding: 0 30px 0 0;
}

.bl_voice_headerArea img {
  width: 210px;
  height: 210px;
}

.bl_voice_headerRight {
  padding-left: 15px;
}

.el_voice_subject {
  display: inline-block;
  padding: 2px;
  background-color: #f2f2f2;
  border-radius: 15px;
  font-size: 20px;
  font-weight: bold;
}

.bl_voice_name {
  margin-top: 8px;
  font-size: 20px;
  font-weight: bold;
}

.bl_voice_name span {
  font-size: 24px;
  font-weight: bold;
}

.el_voice_headerTxt {
  margin: 3px 0 0;
  color: #009de1;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.307692;
}

.bl_voice_acco {
  height: 0;
  transition: 0.5s ease-in-out;
  overflow: hidden;
}

.bl_voice_acco.is_show {
  height: auto;
  padding-bottom: 50px;
}

.bl_voice_line {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.el_voice_lineTxt {
  color: #39bcf5;
  font-size: 14px;
  letter-spacing: 0.06px;
}

.el_voice_hr {
  width: 406px;
  height: 1px;
  background-color: #39bcf5;
}

.el_voice_accoSubhead {
  padding-top: 31px;
  font-size: 26px;
  font-weight: bold;
  color: #009de1;
}

.el_voice_accoTxt {
  font-size: 24px;
  line-height: 1.4166666;
  letter-spacing: 0.06px;
}

.el_voice_btn {
  display: block;
  background: url(../img/sp_voice_open_btn.png)no-repeat center / cover;
  width: 460px;
  height: 60px;
  margin: 20px auto -60px;
}

.el_voice_btn.is_active {
  background: url(../img/sp_voice_close_btn.png)no-repeat center / cover;
}

.ly_charm {
  padding: 59px 0 85px;
}

.bl_charm_ttl {
  width: 610px;
}

.bl_charm_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 580px;
  margin: 27px auto 37px;
}

.bl_charm_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 20px 0 0 0;
  padding-top: 10px;
  width: 280px;
  height: 190px;
  background-color: #fff;
  border-radius: 30px;
}

.bl_charm_card img {
  width: 240px;
}

.el_charm_txt {
  margin-top: 20px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.25;
}

.bl_charm_card:nth-child(2n) .el_charm_txt {
  margin-top: 7px;
}

.bl_charm_carfareImg {
  width: 580px;
  margin: 0 auto;
}

.ly_faq {
  width: 580px;
  margin: 107px auto 122px;
}

.bl_faq_ttl {
  position: relative;
  width: 580px;
  margin: 0 auto;
  padding: 1px 0 15px;
}

.el_faq_ttl {
  position: relative;
  width: 504px;
  margin: 0 auto;
  z-index: 2;
}

.el_faq_deco {
  position: absolute;
  width: 106px;
  top:-5px;
  right: 10px;
  z-index: 1;
}

.bl_faq_list {
  margin: 20px 0 0;
}

.bl_faq_qArea {
  display: flex;
  align-items: center;
  background-color: #39bcf5;
  border-radius: 20px;
  height: 80px;
  padding: 0 30px 0 20px;
}

.bl_faq_qArea__h100 {
  height: 100px;
}

.bl_faq_qArea.is_active {
  border-radius: 20px 20px 0 0;
}

.bl_faq_q {
  width: 60px;
}

.el_faq_qTxt {
  position: relative;
  width: 480px;
  padding-left: 10px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.384615;
  color: #fff;
}

.el_faq_qTxt::before,.el_faq_qTxt::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 30px;
  height: 3px;
  background-color: #fff;
}

.el_faq_qTxt::before {
  transform: translateY(-50%) rotate(90deg);
}

.bl_faq_qArea.is_active .el_faq_qTxt::before {
  transform: translateY(-50%) rotate(0deg);
}

.bl_faq_aArea {
  height: 0;
  overflow: hidden;
  background-color: #fff;
  border-radius: 0 0 20px 20px;
  padding: 0 30px 0;
}

.bl_faq_aArea.is_show {
  height: auto;
  padding: 30px;
}

.el_faq_aTxt {
  font-size: 26px;
  line-height: 1.5384615;
}

.ly_company {
  margin-bottom: 112px;
}

.bl_company_ttl {
  position: relative;
  width: 520px;
  margin: 0 0 30px 66px;
}

.el_company_ttl {
  position: relative;
  width: 362px;
  margin: 0 auto;
  padding-top: 24px;
  z-index: 2;
}

.el_company_deco {
  position: absolute;
  width: 106px;
  top: 0;
  left: 13px;
  z-index: 1;
}

.bl_company_wrapper {
  width: 580px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 30px;
  padding: 29px 0 27px;
}

.bl_company_slideWrapper {
  position: relative;
  width: 580px;
  margin: 0 auto;
}

.bl_company_item {
  position: relative;
  width: 520px;
  margin: 0 auto;
}

.el_company_splideTxt {
  position: absolute;
  background-color: #464646;
  color: #fff;
  left: 20px;
  bottom: 20px;
  padding: 4px 6px;
  font-size: 20px;
  font-weight: bold;
  z-index: 2;
}

.el_companySplide_prev {
  background: url(../img/sp_company_arrow.png)no-repeat center / cover !important;
  width: 48px !important;
  height: 48px !important;
  left: 7px !important;
  opacity: 1 !important;
}

.el_companySplide_next {
  background: url(../img/sp_company_arrow.png)no-repeat center / cover !important;
  width: 48px !important;
  height: 48px !important;
  right: 7px;
  transform: rotate(180deg) translateY(50%) !important;
  opacity: 1 !important;
}

.bl_company_pagination {
  width: 520px;
  background-color: #f2f2f2;
  bottom: -30px !important;
}

.bl_company_pagination .is_page {
  width: 57.77px;
}


.bl_company_inner {
  width: 520px;
  margin: 72px auto 34px;
  padding-left: 30px;
}

.bl_company_logo {
  width: 394px;
  margin: 0 0 48px 6px;
}

.bl_company_inner dl {
  display: flex;
  margin-bottom: 17px;
}

.bl_company_inner dt,
.bl_company_inner dd {
  font-size: 22px;
}

.bl_company_inner dt {
  width: 116px;
  text-align: right;
}

.bl_company_inner dd {
  margin-left: 37px;
}

.ly_footer {
  margin-top: 87px;
  height: 50px;
  background-color: #464646;
}

.el_footer_txt {
  padding-top: 13px;
  text-align: center;
  font-size: 18px;
  color: #fff;
}
