@charset "UTF-8";
/*
Theme Name: マイテーマ
Description: (株)エイジェックのテーマです。
Author: エイジェック広報部
License: Copyright AGEKKE GROUP All Rights Reserved.
*/




/* ======================================================
/*               ++ リキャプチャ ++
   ====================================================== */
.grecaptcha-badge { visibility: hidden; }


/* ======================================================
/*               ++ Reset CSS ++
   ====================================================== */
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, address, del, em, img,
small, strong, sub, i,
dl, dt, dd, ol, ul, li, form, label, 
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figcaption, figure, 
footer, header, menu, nav, section, time, mark, audio, video {
    background: transparent;
    border: 0;
    font-size: 100%;
    letter-spacing: 0.5px;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
    word-break: break-all;
}
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
article,aside,details,figcaption,figure,
footer,header,menu,nav,section {display: block;}
nav, ul {list-style: none;}
a {
    background: transparent;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    text-decoration: none;
}
del {text-decoration: line-through;} 
table {
    width: 100%;
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    border: 0;   
    border-top: 1px solid #cccccc;
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
}
input, select {vertical-align: middle;}
ul { 
    letter-spacing: -0.5em;
    list-style-type: none;
}
li { letter-spacing: normal;
     list-style-type: none;
}
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
figure {
    margin: 0!important;
}
img {
    height: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: bottom;
}
button{
    padding: 0;
    border: none;
    outline: none;
    font: inherit;
    color: inherit;
    background: none
}
fieldset {
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
}
legend {
    width: 100%;
    margin: 0;
    padding: 0;
}
/* ======================================================
/*               ++ ベース ++
====================================================== */
html{
  font-family:"Noto Sans JP", "游ゴシック Medium","Yu Gothic Medium","游ゴシック体",YuGothic,Meiryo,"メイリオ","Hiragino Kaku Gothic ProN",-apple-system,BlinkMacSystemFont,Verdana,Arial,Helvetica,sans-serif;
  scroll-padding-top: 60px;
  height: 100%;
}
body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 100%;
    min-height: 100vh;
}

button{
    cursor: pointer;
}
/* ======================================================
/*               ++ レイアウト ly_ ++
====================================================== */
/* --------------------------------------------------- コンテンツ幅 */
.ly_cont {
    max-width: 1230px;
    margin: 0 auto;
    padding:4rem 15px;
    width:100%;
}
@media screen and (max-width: 1023px) {
    .ly_cont {
        max-width:100%;
        padding:2rem 1rem;
    }
}
.ly_cont__1000{
    max-width:1030px;
    padding:4rem 15px;
    margin:0 auto;
    width:100%;
}
@media screen and (max-width: 1023px) {
    .ly_cont__1000{
        max-width:100%;
        padding:2rem 1rem;
    }
}
.ly_cont__900 {
    max-width: 930px;
    margin: 0 auto;
    padding:4rem 15px;
}
@media screen and (max-width: 1023px) {
    .ly_cont__900 {
        max-width:100%;
        padding:2rem 1rem;
    }
}
/*メイン ヘッダーメニュー よけ*/
.ly_main{

}

/* ======================================================
/*               ++ ヘルパー hp_ ++ 
====================================================== */
/* --------------------------------------------------- 改行制御 */
.pc_br {
  display: block !important;
}
.mo_br {
  display: none !important;
}
.tab_br {
  display: none !important;
}
.pctab_br{
  display:block !important;
}
@media screen and (max-width:1023px){
  .pc_br {
    display: none !important;
  }
  .tab_br {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .mo_br {
    display: block !important;
  }
  .pctab_br{
    display:none !important;
  }
}
/* --------------------------------------------------- PC MO 切り替え */
.hp_pc_block {
    display: block !important;
}
.hp_mo_block {
    display: none !important;
}
@media screen and (max-width: 767px) {
    .hp_mo_block {
        display: block !important;
    }
    .hp_pc_block {
        display: none !important;
    }
}
/* --------------------------------------------------- color */
.hp_bg_Bas{
    background-color:var(--mainBasColor) !important;
}
.hp_bg_Nec{
    background-color:var(--mainNecColor) !important;
}
.hp_bg_Sot{
        background-color:var(--mainSotasColor) !important;
}
.hp_bg_Other{
        background-color:var(--mainOtherColor) !important;
}
.hp_bg_Freeprogram{
        background-color:var(--mainFreeprogramColor) !important;
}
.hp_bg_Meetup{
        background-color:var(--mainMeetupColor) !important;
}

.hp_bg_off{
        background-color:#5e5d5d !important;
}
/* --------------------------------------------------- highlight */


/* --------------------------------------------------- font size */

/* --------------------------------------------------- margin top */

/* --------------------------------------------------- margin bottom */

/* --------------------------------------------------- btn margin */

/* --------------------------------------------------- font weight */
.hp_weight_600{
    font-weight:600 !important;
}

/* --------------------------------------------------- other */
.hp_hilight_yellow{
  background:linear-gradient(transparent calc(100% - 0.7em), #FBFF06 0);
}
/* ======================================================
/*               ++ カスタムプロパティ ++
   ====================================================== */

   :root {
    --mainColor:#0F3174;
    --mainfontColor:#222222;

    --mainNecColor:#0F1ED2;
    --mainSotasColor:#00BA8E;
    --mainMeetupColor:#FFA100;

    --mainBasColor:#288EF1;
    --mainIntColor:#00BA8E;
    --mainAdvColor:#826DC9;

    --subBasColor:#EDF6FF;

    --borderGray:#d3d3d3;

    --mainOtherColor:#F17476;
    --mainFreeprogramColor:#019B4D;
   }
/* ======================================================
/*               ++ エレメントモジュール++
   ====================================================== */
/* --------------------------------------------------- a link color */
/* --------------------------------------------------- button */
.el_btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background:var(--mainColor);
  border-radius:999px;
  padding:0.8rem 4rem;
  color:#fff;
  font-weight:600;
  min-width:200px;
  position:relative;
  font-size:0.825rem;
  text-align:center;
}
.el_btn::after{
    content: '';
    position:absolute;
    right:1rem;
    top:0;
    mask: url(images/icon/ic_arrow.svg) center / contain no-repeat;
    background-color:#fff;
    width:1.25rem;
    height:100%;
}

.el_btn__out::after{
    mask: url(images/icon/ic_out.svg) center / contain no-repeat;
}
.el_btn__small{
    min-width:auto;
    font-size:0.8rem;
    padding:0.5rem;
}

.el_btn__white{
  color:var(--mainColor);
  background:#fff;
}
.el_btn__white::after{
  background-color:var(--mainColor);
}

.el_btn__none{
  color:#fff;
  background:#888;
}
.el_btn__white::after{
  background-color:var(--mainColor);
}

.ly_btn_center{
    display:flex;
    justify-content: center;
    gap:2rem;
}

@media screen and (max-width:1023px){
  .el_btn{
    width:100%;
    min-width:160px;
    max-width:400px;
    padding:0.8rem 2rem;
  }
}
@media screen and (max-width:767px){
  .el_btn{
    width:100%;
    max-width: none;
    padding:0.6rem 1.5rem;
    font-size:0.8rem;
  }
  .el_btn::after{
      width:1rem;
  }
  .ly_btn_center{
    flex-direction: column;
    gap:1rem;
  }
}
/* --------------------------------------------------- ページ見出し */


/* ======================================================
/*               ++ header ++
   ====================================================== */
.ly_header{
  background:transparent;
  position:relative;
  z-index:100;
}

.ly_header_inner{
  height:60px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 1rem;
  gap:2rem;
}
.bl_headerNav_logo{
  color:var(--mainColor);
  font-weight:700;
  font-size:1.2rem;
  white-space:nowrap;
}
.bl_headerNav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1.5rem;
}
.bl_headerNav_list{
  display:flex;
  align-items:center;
  gap:1.5rem;
}
.bl_headerNav_list li{
  font-size:0.8rem;
  font-weight:600;
}
.bl_headerNav_list a{
  color:var(--mainfontColor);
  white-space:nowrap;
}
.bl_headerNav_btns{
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.el_headerBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  /* min-height:36px; */
  padding:0.5rem 1rem;
  min-width:140px;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:600;
  white-space:nowrap;
  background:var(--mainColor);
  color:#fff;
}

.bl_headerNav_burger{
  display:none;
  width:30px;
  height:30px;
  position:relative;
  flex-direction:column;
  gap:0.4rem;
  justify-content:center;
  z-index:101;
}
.bl_headerNav_burger span{
  display:block;
  width:100%;
  height:2px;
  background:var(--mainColor);
  transition:transform 0.3s, opacity 0.3s;
}
.bl_headerNav_burger.is-open span:nth-child(1){
  transform:translateY(8.5px) rotate(45deg);
}
.bl_headerNav_burger.is-open span:nth-child(2){
  opacity:0;
}
.bl_headerNav_burger.is-open span:nth-child(3){
  transform:translateY(-8.5px) rotate(-45deg);
}
.bl_headerNav_burgerNav{
  display:none;
}
body.is-menu-open{
  overflow:hidden;
}
@media screen and (max-width:1023px){
  .ly_header{
    background:#fff;
    position:sticky;
    top:0;
    width:100%;
    z-index:100;
    box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);
  }
  .bl_headerNav{
    display:none;
  }
  .bl_headerNav_burger{
    display:flex;
  }
  .bl_headerNav_burgerNav{
    display:none;
    position:fixed;
    top:60px;
    left:0;
    width:100%;
    height:calc(100vh - 60px);
    background:rgba(15, 49, 116, 0.92);
    overflow-y:auto;
  }
  .bl_headerNav_burgerNav.is-open{
    display:block;
  }
  .bl_headerNav_burgerNav_inner{
    width:100%;
    max-width:500px;
    margin:0 auto;
    padding:3rem 1.5rem;
  }
  .bl_headerNav_burgerList{
    display:flex;
    flex-direction:column;
  }
  .bl_headerNav_burgerList li{
    border-bottom:1px solid rgba(255, 255, 255, 0.3);
  }
  .bl_headerNav_burgerList li:first-child{
    border-top:1px solid rgba(255, 255, 255, 0.3);
  }
  .bl_headerNav_burgerList a{
    display:block;
    padding:1rem 0.5rem;
    color:#fff;
    font-size:0.9rem;
  }
  .bl_headerNav_burgerBtns{
    display:flex;
    flex-direction:column;
    gap:0.75rem;
    margin-top:2rem;
  }
  .bl_headerNav_burgerBtns .el_headerBtn{
    width:100%;
    min-height:44px;
  }
}
/* ======================================================
/*               ++ header 追従タブ++
   ====================================================== */
.bl_sideTab{
  position:fixed;
  top:40%;
  right:0;
  transform:translateY(-50%);
  z-index:100;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.bl_sideTab_item{
  /* width:2rem; */
  min-height:10rem;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem 1rem;
  border-radius:10px 0 0 10px;
  color:#fff;
  font-weight:600;
  writing-mode:vertical-rl;
  text-orientation:upright;
  letter-spacing:0.1em;
  font-size:0.875rem;
}
.bl_sideTab_item__course{
  background:var(--mainColor);
}
.bl_sideTab_item__bas{
  background:var(--mainBasColor);
}
@media screen and (max-width:1023px){
  .bl_sideTab{
    display:none;
  }
}


   /* ======================================================
/*               ++ footerのお問い合わせ ++
   ====================================================== */
.ly_footContact{
background: #F2F8FF;
}
.bl_footContact{
    background:var(--mainColor);
    border-radius: 20px;
    padding:2rem 2rem 2rem 0;
}
.bl_footContact_box{
    display:flex;
    gap:4rem;
}
@media screen and (max-width:1023px){
  .bl_footContact{
    border-radius: 10px;
  }
}

/*見出し*/
.bl_footContactTit{
   position:relative;
   color:#fff;
   margin-left:4rem;
   margin-bottom:1rem;
}
.bl_footContactTit::before{
   content:'';
   width:3rem;
   height:4px;
   border-radius: 0px 9999px 9999px 0px;
   position:absolute;
   left:-4rem;
   top:0.5625rem;
   background-color:#fff;
}
.bl_footContactTit_sub{
   font-weight:500;
   font-size:1rem;
}
.bl_footContactTit_main{
   font-weight:700;
   font-size:1.8rem;
}
@media screen and (max-width:767px){
  .bl_footContactTit{
    margin-left:2.5rem;
  }
  .bl_footContactTit::before{
    width:2rem;
    height:3px;
    left:-2.5rem;
    top:0.45rem;
  }
}
/*文言*/
.bl_footContact_right{
    text-align:left;
    color:#fff;
}
/*ボタン*/
.bl_footContact_mailbox{
    display:flex;
    justify-content: center;
    margin-top:1rem;
}
@media screen and (max-width: 1023px) {
  .bl_footContact{
      padding:1rem;
  }
  .bl_footContact_box{
    flex-direction: column;
    gap:0.5rem;
  }
  .bl_footContact_right{
      text-align:center;
  }
}
@media screen and (max-width: 767px) {
  .bl_footContact_right{
      font-size:0.8rem;
  }
  .bl_footContactTit_sub{
    font-size:0.9rem;
    line-height:1;
  }
  .bl_footContactTit_main{
    font-size:1.4rem;
    line-height:1;
  }
}

   /* ======================================================
/*               ++ footer ++
   ====================================================== */
.ly_footer{
    background:#F5F5F5;
    color:var(--mainfontColor);
}
.ly_footer_inner{
    text-align: center;
    display:flex;
    flex-direction: column;
    gap:3rem;
}

.bl_footer_tit{
    display:flex;
    flex-direction: column;
    gap:0.5rem;
}
.bl_footer_tit_main{
    color:var(--mainColor);
    font-weight:700;
    font-size:1.5rem;
}
.bl_footer_tit_sub{
    font-size:0.875rem;
}
.bl_footerNavSns_copy{
  font-size:1rem;
}

/*nav*/
.ly_footer_nav{
    display:flex;
    justify-content: center;
    color:var(--mainfontColor);
}
.ly_footer_nav li{
    padding:0 2rem;
}
.ly_footer_nav li:nth-child(1),
.ly_footer_nav li:nth-child(2),
.ly_footer_nav li:nth-child(3){
    border-right:2px solid var(--mainfontColor);
}
.ly_footer_nav a{
    color:var(--mainfontColor);
}
@media screen and (max-width: 1023px) {
  .ly_footer_nav{
      flex-direction: column;
      gap:1rem;
  }
  .ly_footer_nav li:nth-child(1),
  .ly_footer_nav li:nth-child(2),
  .ly_footer_nav li:nth-child(3){
      border-style:none;
  }
}
@media screen and (max-width: 767px) {
  .ly_footer_inner{
    gap:2rem;
  }
  .ly_footer_nav{
    gap:0.5rem;
  }
  .ly_footer_nav li{
    padding:0;
  }
  .ly_footer_nav a{
    font-size:0.875rem;
  }
  .bl_footerNavSns_copy{
    font-size:0.875rem;
  }
}

/*ページトップアイコン*/
.bl_pageTop{
  display:none;
  position:fixed;
  right:4rem;
  bottom:2rem;
  z-index:100;
}
.bl_pageTop button{
  display:block;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
}
.bl_pageTop img{
  display:block;
  width:50px;
  height:auto;
  transition:opacity 0.3s;
}
.bl_pageTop button:hover img{
  opacity:0.7;
}
@media screen and (max-width: 767px) {
  .bl_pageTop{
  right:1rem;
  bottom:2rem;
}
.bl_pageTop img{
  width:40px;
}
}