@charset "utf-8";
/* CSS Document */

/*===============================

    base

================================*/
/* base */
body{
  color: #333;
  font: 400 15px "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: left;
}

/* 既存CSSより */
#base { width: 1220px; }
div#cont { margin: 0; }
.wrapper_main {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin: 20px auto 0;
  width: 100%;
}
.header { margin: 20px 0; }
.container_main {
  position: relative;
  width: 750px;
}
.container_main--2col{
  width: 960px;
}
@media screen and (max-width:768px) {
  #base { width: 100%; }
  .container_main { width: 100%; }
}
.sideNav { width: 200px; }
@media screen and (max-width:768px) {
  .sideNav { display: none; }
}


/* カリキュラム */
/*
    カリキュラムテーブル
================================*/
#programTable,
.programTable{
border-collapse: separate;
border-spacing: 1px;
width: 100%;
}
#programTable td,
.programTable td{
padding: 4px;
border-width:0px;
background-color:white;
text-align:center;
}
#programTable td.tblTitle,
.programTable td.tblTitle{
background-color:transparent;
color:white;
text-align:left;
height:29px;
padding:0px 0.5em;
vertical-align: middle;
}
#programTable td.tblSubTitle1,
.programTable td.tblSubTitle1{
height:2em;
width: 35px;
padding:1px;
vertical-align:middle;
}
#programTable td.tblSubTitle2,
.programTable td.tblSubTitle2{
height:2em;
width:406px;
padding:1px;
vertical-align:middle;
}
#programTable td.tblSubTitle3,
.programTable td.tblSubTitle3{
height:2em;
width: 55px;
padding:1px;
vertical-align:middle;
}
#programTable td *,
.programTable td *{
text-align:left;
}
#programTable td center,
.programTable td center{
text-align:center;
}
#programTable ul,
.programTable ul{
list-style:none outside;
line-height:1.6em;
margin-left:0px;
padding-left:0px;
}
#programTable ul li,
.programTable ul li{
list-style:none outside;
margin-left:0.5em;
padding-left:0px;
}
#programTable ol,
.programTable ol{
list-style:decimal outside;
margin-left:0px;
padding-left:2.2em;
}
#programTable ol li,
.programTable ol li{
list-style:decimal outside;
margin-left:0px;
padding-left:0px;
}
#programTable .style1,
#programTable .emphasis,
.programTable .style1,
.programTable .emphasis{
line-height:1.6em;
font-weight:bolder;
}

#programTable, 
.programTable{background-color: #666666;}
#programTable td.tblSubTitle1,
#programTable td.tblSubTitle2,
#programTable td.tblSubTitle3,
.programTable td.tblSubTitle1,
.programTable td.tblSubTitle2,
.programTable td.tblSubTitle3{background-color: #C0C0C0;}
#programTable .style1,
#programTable .emphasis{/*color: #666666;*/}

/* ▼ カリキュラム・実績（ミドル用）　配色*/
#programTable,
.programTable{background-color:#E43B6A;}
#programTable td.tblSubTitle1,
#programTable td.tblSubTitle2,
#programTable td.tblSubTitle3,
.programTable td.tblSubTitle1,
.programTable td.tblSubTitle2,
.programTable td.tblSubTitle3{background-color:#E9A8BA;}
#programTable .style1,
#programTable span.emphasis
.programTable .style1,
.programTable span.emphasis{color:#8b0303;font-size:12px;}




/*===============================

    layout

================================*/
/* 節 */
.l_section{}
.l_section__item{}
.l_section--primary > .l_section__item + .l_section__item{
  margin-top: 80px;
}
.l_section--secondary > .l_section__item + .l_section__item{
  margin-top: 40px;
}
.l_section--tertiary > .l_section__item + .l_section__item{
  margin-top: 16px;
}

/* グリッド */
.l_grid{
  display: flex;
  aling-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.l_grid__item{
  display: flex;
}
.l_grid__inner{
  display: block;
  width: 100%;
}

/*===============================

    module

================================*/
/* 見出し */
.m_heading{}
.m_heading__ttl{
  line-height: 1.4;
  font-weight: bold;
}
.m_heading--primary{
  padding: 4px 16px;
  margin-bottom: 40px;
  border-left: 6px solid #A11F24;
  background: #FFEFEF;
}
.m_heading--primary .m_heading__ttl{
  font-weight: bold;
  font-size: 24px;
}
.m_heading--secondary{
  padding: 0 8px 8px;
  margin-bottom: 16px;
  border-bottom: 4px solid #981616;
}
.m_heading--secondary .m_heading__ttl{
  line-height: 1.4;
  font-weight: bold;
  font-size: 20px;
}

/* アイコン */
.m_hasIco{
  position: relative;
  display: block;
  width: fit-content;
}
.m_hasIco::before{
  position: absolute;
  left: 0;
  display: block;
}
.m_hasIco--dot{
  padding-left: 1em;
}
.m_hasIco--dot::before{
  content: "・";
}
.m_hasIco--mail{
  padding-left: 26px;
}
.m_hasIco--mail::before{
  content: "";
  width: 22px;
  height: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(/resource/img/gnav/icon_navi-b02_inquiry.svg) no-repeat center center / contain;
}

.m_hasIco--dialogue{
  padding-left: 26px;
}
.m_hasIco--dialogue::before{
  content: "";
  width: 22px;
  height: 17px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(/resource/img/gnav/icon_navi-b03_business-discussion.svg) no-repeat center center / contain;
}
.m_hasIco--innerLink{
  padding-left: 1.6em;
}
.m_hasIco--innerLink::before{
  content: "";
  width: .35em;
  height: .35em;
  top: .45em;
  left: .35em;
  z-index: 1;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.m_hasIco--innerLink::after{
  content: "";
  position: absolute;
  left: 0;
  right: auto;
  top: .2em;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: #8D1321; 
}


/* ヒーローズエリア */
.m_herosArea{
  margin-bottom: 30px;
}
.m_herosArea__keyvisual + .m_herosArea__nav{
  margin-top: 15px;
}
.m_herosArea__nav + .m_herosArea__lineup{
  margin-top: 15px;
}
.m_herosArea__footer{
  margin-top: 15px;
}

/* キービジュアル */
.m_keyvisual{
  line-height: 0;
  text-align: center;
}
.m_keyvisual img{
  max-width: 100%;
  height: auto;
}
/* ナビのラッパー */
.m_navWrap{}
.m_navWrap__item + .m_navWrap__item{
  margin-top: 10px;
}
/* ナビリスト */
.m_navList{
  display: flex;
  align-items: center;
  gap: 10px;
}
.m_navList__ttl{
  word-break: keep-all;
  white-space: nowrap;
  color: #8D1321;
  font-weight: bold;
  font-size: 16px;
}
.m_navList__list{
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  margin: -5px;
}
.m_navList__item{
  display: flex;
  width: 100%;
  padding: 5px;
}
.m_navList--themeColor{
  background: #fbe3d6;
  padding: 20px;
}
.m_navList--2row .m_navList__list{
  flex-wrap: wrap;
}
.m_navList--2row .m_navList__item{
  width: 33.333%;
}

/* サービスナビ */
.m_serviceNav{}
.m_serviceNav__target{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  padding: 0 10px;
  border: 2px solid #8D1321;
  border-radius: 10px;
  color: #8D1321;
  line-height: 1.3;
  letter-spacing: 0;
  font-weight: bold;
  font-size: 13px;
  background: #fff;
  transition: .3s background, .3s color;
}
.m_serviceNav__target:hover,
.m_serviceNav__target.is_active{
  color: #fff;
  background: #8D1321;
}

/* コンテンツナビ */
.m_contentsNav{}
.m_contentsNav__target{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  padding: 0 6px;
  border: 2px solid;
  border-radius: 8px;
  color: inherit;
  line-height: 1.3;
  letter-spacing: 0;
  font-weight: bold;
  font-size: 12px;
  background: #fff;
  transition: .3s opacity;
}
.m_contentsNav__target:hover{
  opacity: .7;
}
.m_contentsNav--main{
  color: #ec4062;
}
.m_contentsNav--sub{
  color: #2a6cae;
}
/* ラインナップナビのラッパー */
.m_lineupNavWrap{}
.m_lineupNavWrap__nav{
  display: flex;
  align-items: stretch;
}
.m_lineupNavWrap__navItem{
  display: flex;
  width: 100%;
}
.m_lineupNavWrap__navTarget{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  border: 2px solid #8D1321;
  border-radius: 2px;
  color: #8D1321;
  font-weight: bold;
  font-size: 18px;
}
.m_lineupNavWrap__navTarget:hover,
.m_lineupNavWrap__navTarget.is_active{
  color: #fff;
  background: #8D1321;
}
.m_lineupNavWrap__nav + .m_lineupNavWrap__body{
  border-top: none;
}

/* ラインナップナビ */
.m_lineupNav{
  padding: 20px 10px;
  border: 2px solid #8D1321;
}
.m_lineupNav__list{
/*
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin: -4px;
*/
}
.m_lineupNav__item{
/*
  display: flex;
  width: 50%;
  padding: 4px;
*/
}
.m_lineupNav__item + .m_lineupNav__item{
  margin-top: 10px;
}
.m_lineupNav__target{
  color: inherit;
  font-weight: bold;
  font-size: 14px;
}
/* カテゴリナビのラッパー */
.m_catNavWrap{
  display: flex;
  align-items: stretch;
  gap: 10px;
  padding: 20px 10px;
  border: 2px solid #8D1321;
}
.m_catNavWrap__item{
  width: 100%;
}


/* カテゴリナビ */
.m_catNav{
  line-height: 1.6;
}
.m_catNav__ttl{
  position: relative;
  padding-left: 32px;
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 14px;
}
.m_catNav__ttl::before{
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  display: block;
  line-height: 0;
}
.m_catNav__ttl--conceptual::before{
  content: url("/resource/img/studio/lineup/e-learning_nav_conceptual-off.png");
}
.m_catNav__ttl--human::before{
  content: url("/resource/img/studio/lineup/e-learning_nav_human-off.png");
}
.m_catNav__ttl--technical::before{
  content: url("/resource/img/studio/lineup/e-learning_nav_technical-off.png");
}

.m_catNav__list{}
.m_catNav__item + .m_catNav__item{
  margin-top: 5px;
}
.m_catNav__item{
  font-size: 14px;
}
.m_catNav__target{
  text-decoration: none;
  color: inherit;
}
.m_catNav__target:hover{
  opacity: .7;
}
@media screen and (max-width: 768px){
  .m_catNav__ttl{
    font-size: 14px;
  }
}
@media screen and (max-width: 768px){
  .m_catNav__list{
    padding-left: 16px;
  }
}

/* アイコンの説明 */
.m_icoDecr{}
.m_icoDecr__list{
  display: flex;
  align-items: stretch;
  gap: 24px;
}
.m_icoDecr__item{
  position: relative;
  display: block;
  padding-left: 28px;
  line-height: 24px;
  word-break: keep-all;
  white-space: nowrap;
  font-size: 14px;
}
.m_icoDecr__item::before{
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  aspect-ratio: 1;
  border-radius: 4px;
  color: #fff;
  line-height: 1;
  font-weight: bold;
  font-size: 14px;
}
.m_icoDecr__item--slide::before{
  content: "ス";
  background: #237ab5;
}
.m_icoDecr__item--trainer::before{
  content: "講";
  background: #b52c45;
}
.m_icoDecr__item--pc::before{
  content: "PC";
  background: #d85f9a;
}
.m_icoDecr__item--anime::before{
  content: "ア";
  background: #d29031;
}
.m_icoDecr__item--case::before{
  content: "ケ";
  background: #3d7640;
}
/* 定期便 */
.m_subscription{}
.m_subscription__body{}
.m_subscription__problem{
	position: relative;
	padding-left: 54px;
	font-size: 16px;
}
.m_subscription__problem::before{
	content: "課題";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding: 4px 8px;
	border: 2px solid;
	border-radius: 2px;
	line-height: 1;
	color: #981616;
	font-size: 13px;
}
.m_subscription__problem + .m_subscription__comment{
	margin-top: 10px;
}
.m_subscription__comment > * + *{
	margin-top: 5px;
}
.m_subscription__comment + .m_subscription__contents{
	margin-top: 20px;
}
.m_subscription__footer{
	margin-top: 16px;;
}


/* ボタン */
.m_btn{
  display: flex;
  align-items: stretch;
}
.m_btn::before{
  content: "";
  display: block;
  width: 0;
}
.m_btn__target{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: inherit;
  border: none;
  outiline: none;
  background: rgba(255, 255, 255, 0);
  cursor: pointer;
}
.m_btn--center{
  justify-content: center;
}
.m_btn--right{
  justify-content: flex-end;
}
.m_btn--full{}
.m_btn--full .m_btn__target{
  width: 100%;
}

.m_btn--main{
  font-size: 16px;
}
.m_btn--main::before{
  height: 3em;
}
.m_btn--main .m_btn__target{
  padding: 0 24px;
  border-radius: 6px;
  color: #fff;
  font-size: inherit;
  background: #8D1321;
}
.m_btn--addCartByCode{
  font-size: 12px;
}
.m_btn--addCartByCode::before{
  height: 2.5em;
}
.m_btn--addCartByCode .m_btn__target{
  padding: 0 24px;
  border-radius: 4px;
  color: #fff;
  background: #8D1321;
}
.m_btn--addCart{
  font-size: 13px;
}
.m_btn--addCart::before{
  height: 2.5em;
}
.m_btn--addCart .m_btn__target{
  padding: 0 10px;
  border-radius: 6px;
  color: #fff;
  background: #8D1321;
}
.m_btn--about{
  font-size: 15px;
}
.m_btn--about::before{
  height: 60px;
}
.m_btn--about .m_btn__target{
  position: relative;
  min-width: 320px;
  border-radius: 6px;
  font-weight: bold;
  color: #fff;
  background: #D66C00;
  transition: .3s opacity;
}
.m_btn--about .m_btn__target::before{
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 50%;
  left: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(-135deg);
}
.m_btn--about .m_btn__target:hover{
  opacity: .7;
}
/*
.m_subscription__cart{
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
  font-size: 16px;
}
.m_subscription__cart::before{
	content: "";
	display: block;
	width: 0;
	height: 3em;
}
.m_subscription__cartBtn{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 24px;
	border-radius: 6px;
	color: #fff;
	font-size: inherit;
	background: #8D1321;
}*/

/* カテゴリー毎の講座 */
.m_category{}
.m_category:not(:has(.m_contentsList__item)){
  display: none;
}

/* コンテンツの一覧 */
.m_contentsList{
	border: 1px solid;
}
.m_contentsList__item + .m_contentsList__item{
	border-top: 1px solid;
}

/* コンテンツ */
.m_contents{
	display: flex;
	align-items: stretch;
}

.m_contents__ttl + .m_contents__type,
.m_contents__type + .m_contents__time,
.m_contents__time + .m_contents__details,
.m_contents__details + .m_contents__cartWrap{
  border-left: 1px dashed;
}
.m_contents__ttl{
	flex: 1 1 auto;
	padding: 8px 16px;
	font-size: 13px;
}
.m_contents__type{
	flex: 0 0 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px;
}
.m_contents__type::before{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 4px;
  color: #fff;
  line-height: 1;
  font-weight: bold;
  font-size: 16px;
}
.m_contents__type--slide::before{
  content: "ス";
  background: #237ab5;
}
.m_contents__type--trainer::before{
  content: "講";
  background: #b52c45;
}
.m_contents__type--pc::before{
  content: "PC";
  background: #d85f9a;
}
.m_contents__type--anime::before{
  content: "ア";
  background: #d29031;
}
.m_contents__type--case::before{
  content: "ケ";
  background: #3d7640;
}

.m_contents__time{
	flex: 0 0 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 0;
	font-size: 11px;
}
.m_contents__details{
	flex: 0 0 116px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8px 16px;
}
.m_contents__detail + .m_contents__detail{
	margin-top: 5px;
}
.m_contents__detail{
	line-height: 1;
}
.m_contents__detailLink{
	text-decoration: underline;
	font-size: 13px;
}
.m_contents__cartWrap{
  flex: 0 0 140px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px;
}
/* 
.m_contents__cart{
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
  font-size: 13px;
}
.m_contents__cart::before{
	content: "";
	display: block;
	width: 0;
	height: 2.5em;
}
.m_contents__cartBtn{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border-radius: 6px;
	color: #fff;
	font-size: inherit;
	background: #8D1321;
}
*/

/* カートエリア */
.m_cartArea{
  position: sticky;
  top: 20px;
}
.m_cartArea__item + .m_cartArea__item{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #efefef;
}
.m_cartArea__item--list{
  max-height: calc(100vh - 300px);
  overflow: auto;
}
.m_cartArea__item--semiorderList{
  max-height: calc(100vh - 340px);
  overflow: auto;
}
.m_cartArea__footer{
  margin-top: 15px;
}
/* カートリスト */
.m_selectedContentsList{}
.m_selectedContentsList__item + .m_selectedContentsList__item{
	border-top: 1px dashed;
}

/* カートアイテム */
.m_selectedContents{
	position: relative;
	padding: 8px;
}
.m_selectedContents__ttl{
	margin-bottom: 5px;
	line-height: 1.4;
	letter-spacing: 0;
	font-weight: bold;
	font-size: 12px;
}
.m_selectedContents__body{
	position: relative;
	padding: 8px 0;
}
.m_selectedContents__code{
	letter-spacing: 0;
	font-size: 10px;
}
.m_selectedContents__btn{
	position: absolute;
	bottom: 8px;
	right: 8px;
}
.m_selectedContents__btnTarget{
	display: block;
	padding: 2px 4px;
	border: 1px solid #ccc;
	border-radius: 2px;
	color: inherit;
  line-height: 1;
	font-size: 11px;
}
.m_selectedContents__lineup{
	max-height: 120px;
	padding: 8px 4px;
	border: 1px solid;
	overflow: auto;
}
.m_selectedContents__lineupItem + .m_selectedContents__lineupItem{
  margin-top: 5px;
}
.m_selectedContents__lineupItem{
	position: relative;
	padding-left: 1em;
	line-height: 1.4;
	font-size: 11px;
}
.m_selectedContents__lineupItem::before{
	content: "・";
	position: absolute;
	left: 0;
	display: block;
}


/* コード入力ボックス */
.m_codeBox{}
.m_codeBox__ttl{
  margin-bottom: 10px;
  letter-spacing: 0;
  font-weight: bold;
  font-size: 12px;
}
.m_codeBox__fieldWrap{
  background: #fff;
  border: 1px solid;
  border-radius: 4px;
}
.m_codeBox__field{
  display: block;
  width: 100%;
  border: none;
  text-indent: 1em;
  line-height: 2;
  font-size: 14px;
  background: none;
  outline: none;
}
.m_codeBox__fieldWrap + .m_codeBox__btn{
  margin-top: 10px;
}
/* 
.m_codeBox__btn{
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  font-size: 12px;
}
.m_codeBox__btn::before{
  content: "";
  display: block;
  width: 0;
  height: 2.5em;
}
.m_codeBox__submit{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: none;
  border-radius: 4px;
  color: #fff;
  font-size: inherit;
  background: #8D1321;
}
*/

/* 選択講座数 */
.m_cartNum{
  text-align: right;
  font-size: 16px;
}
.m_cartNum__num{
  display: inline-block;
  padding: 0 .5em;
  line-height: 100%;
  font-size: 24px;
}

/* 購入へ */
.m_cartBtn{
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  font-size: 14px;
}
.m_cartBtn::before{
  content: "";
  display: block;
  width: 0;
  height: 2.5em;
}
.m_cartBtn__target{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 24px;
  border: none;
  border-radius: 4px;
  color: #fff;
  font-size: inherit;
  background: #8D1321;
}

/* フォーム */
.m_form{}
.m_form__table{
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.m_form__row{
  display: flex;
  align-items: stretch;
}
.m_form__row + .m_form__row{
  border-top: 1px solid #ccc;
}
.m_form__row--hide{
  display: none;
}
.m_form__footer{
  margin-top: 20px;
}
.m_form__ttl{
  position: relative;
  flex: 0 0 200px;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px;
  letter-spacing: 0;
  font-size: 13px;
  background: rgba(133, 17, 31, .05);
}
.m_form__ttl:has(.m_form__must){
  padding-right: 64px;
}
.m_form__data{
  padding: 10px;
}
.m_form__must{
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  padding: 5px 10px;
  border-radius: 2px;
  color: #fff;
  line-height: 1;
  font-size: 13px;
  background: #8D1321;
}
.m_form__txtFirld{
  display: block;
  width: 100%;
  border: 1px solid;
  border-radius: 4px;
  text-indent: 1em;
  line-height: 2;
  font-size: 14px;
  background: none;
  outline: none;
  background: #fff;
}
.m_form__selectFirld{
  display: block;
  width: 100%;
  height: 2em;
  border: 1px solid;
  border-radius: 4px;
  text-indent: 1em;
  outline: none;
  line-height: 2;
  font-size: 14px;
}
.m_form__check{
  width: 1.75em;
  height: 1.75em;
  border-radius: 4px;
  outline: none;
}
.m_form__data label[for=chkAgree]:last-of-type{
  margin-left: .5em;
}

.m_form__dataItem{
  font-size: 13px;
}
.m_form__dataItem + .m_form__dataItem{
  margin-top: 10px;
}
.m_form__msg{}
.m_form__msg + .m_form__msg{
  margin-top: 5px;
}
.m_form__msg--em{
  position: relative;
  padding-left: 1em;
  color: #8D1321;
}
.m_form__msg--em::before{
  content: "※";
  position: absolute;
  left: 0;
  display: block;
}
.m_form__nameWrap{
  display: flex;
  align-items: center;
  gap: 1em;
}
.m_form__yuubinWrap{
  display: flex;
  align-items: center;
}
.m_form__yuubin{
  flex: 0 0 5em;
}
.m_form__yuubin + .m_form__yuubin{
  flex: 0 0 8em;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 4px;
}
.m_form__yuubin + .m_form__yuubin::before{
  content: "-";
  display: block;
}

.m_form__data:has(label.error:not(:empty)){
  position: relative;
  padding-bottom: 40px;
}
.m_form__data:has(label.error:not(:empty)) label.error{
  position: absolute;
  bottom: 10px;
  left: 10px;
  display: block;
  padding: 2px 8px;
  letter-spacing: 0;
  font-size: 13px;
  color: #fff;
  background: #8D1321;
}
.m_form__data .m_form__yuubin:has(label.error:not(:empty)) + .m_form__yuubin label.error{
  display: none;
}

/* 申込PDFのメール先 */
.m_mail{
  margin: auto;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
/* 申込PDFのコードリスト */
.m_selectedCodeList{}
.m_selectedCodeList__item + .m_selectedCodeList__item{
  margin-top: 16px;
}
.m_selectedCodeList--semiorder{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.m_selectedCodeList--semiorder .m_selectedCodeList__item{
  margin: 0;
}
.m_selectedCodeList--semiorder .m_selectedCodeList__item .m_selectedCode__ttl::after{
  content: ", ";  
}
.m_selectedCodeList--semiorder .m_selectedCodeList__item:last-of-type .m_selectedCode__ttl::after{
  content: none;  
}
/* 申込PDFのコード */
.m_selectedCode{}
.m_selectedCode__ttl{
  font-size: 13px;
}
.m_selectedCode__lineup{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.m_selectedCode__lineup::before{
  content: "（";
  line-height: 1;
}
.m_selectedCode__lineup::after{
  content: "）";
  line-height: 1;
}
.m_selectedCode__lineupItem{
  font-size: 12px;
}
.m_selectedCode__lineupItem::after{
  content: ", ";  
}
.m_selectedCode__lineupItem:last-of-type::after{
  content: none;  
}
/* セミオーダーのオーバーライド */
.m_selectedCodeList--semiorder .m_selectedCode__ttl{
  font-size: 12px;
}


/* 申込のメインコンテンツ */
.m_apply{}
.m_apply .m_selectedContentsList--semiorder{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 8px;
}
.m_apply .m_selectedContentsList__item + .m_selectedContentsList__item{
  padding-top: 16px;
}
.m_apply .m_selectedContentsList--semiorder .m_selectedContentsList__item{
  padding: 0;
  border: none;
}
.m_apply .m_selectedContents{
  padding: 0 0 16px;
}
.m_apply .m_selectedContents__ttl{
  font-size: 14px;
}
.m_apply .m_selectedContents__body{
  padding-top: 0;
}
.m_apply .m_selectedContents__lineup{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 8px;
}
.m_apply .m_selectedContents__lineupItem + .m_selectedContents__lineupItem{
  margin-top: 0;
}
.m_apply .m_selectedContents__btn{
  display: none;
}

/* 検索ボックス */
.m_searchBox{
  display: flex;
  position: relative;
}
.m_searchBox__body{
  flex: 1 1 auto;
  padding: 10px 20px;
  background: #f7dcdf;
}
.m_searchBox__fieldWrap{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  background: #EBEBEB;
  border-radius: 8px;
}
.m_searchBox__fieldWrap--white{
  background: #fff;
}
.m_searchBox__field{
  flex: 1 1 auto;
  display: block;
  border: none;
  text-indent: 1em;
  line-height: 2;
  font-size: 16px;
  background: none;
  outline: none;
}
.m_searchBox__fieldBtns{
  display: flex;
  align-items: strecth;
}
.m_searchBox__fieldBtn{
  position: relative;
  display: flex;
}
.m_searchBox__submit{
  width: 40px;
  border: none;
  background: none;
  cursor: pointer;
}
.m_searchBox__submit::before{
  content: "\f002";
  display: block;
  height: 1em;
  margin: auto 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  line-height: 1;
  font-size: 16px;
}
.m_searchBox__aside{
  flex: 0 0 320px;
  margin-left: 40px;
}
.m_searchBox__asideItem{}
.m_searchBox__asideItem + .m_searchBox__asideItem{
  margin-top: 5px;
}
.m_searchBox__asideLink{
  display: block;
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: .6rem;
  line-height: 1;
  color: #333;
}
.m_searchBox__asideLink:hover{
  transition: .3s;
  opacity: 0.6;
}
.m_searchBox__asideLink:before{
  content: "\f105";
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
  font-family: FontAwesome;
}
.m_searchBox__asideLink--img{
  line-height: 0;
  padding: 0;
}
.m_searchBox__asideLink--img img{
  max-width: 100%;
  height: auto;
}
.m_searchBox__asideLink--img::before{
  content: none;
}
@media screen and (max-width: 768px){
  .m_searchBox{
    display: block;
  }
  .m_searchBox__aside{
    margin: 10px 0 0;
  }
  .m_searchBox__asideItem + .m_searchBox__asideItem{
    margin-top: 8px;
  }
  .m_searchBox__asideLink{
    font-size: 13px;
  }
}

/* 
サイドナビよく調べられているワード */
.m_popularWord{
  margin-top: 10px;
  line-height: 1.4;
}
.m_popularWord_heading{
  font-size: 14px;
  font-weight: bold;
}
.m_popularWord_item{
  display: inline;
  margin-right: 5px;
}
.m_popularWord_itemTarget{
  text-decoration: underline;
  font-size: 13px;
  color: #333333;
}
.m_popularWord_itemTarget:hover{
  transition: .3s;
  opacity: 0.6;
}

/* pdfのヘッダー */
.m_pdfHeader{
  margin-bottom: 16px;
}
.m_pdfHeader__header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}
.m_pdfHeader__logo{
  line-height: 0;
}
.m_pdfHeader__logo img{
  max-width: 100%;
  height: auto;
}
.m_pdfHeader__date{
  display: inline-block;
  padding: 0 10px 5px;
  border-bottom: 1px solid;
  line-height: 1;
}
.m_pdfHeader__ttl{
  margin-bottom: 20px;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.m_pdfHeader__body{}
.m_pdfHeader__subTtl{
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 16px;
}
/*===============================

    State

================================*/
/* pdf化 */
.js_pdf{
  width: 680px;
}
.js_pdf .js_pdf__hide{
  display: none;
}
.js_pdf__show{
  display: none;
}
.js_pdf .js_pdf__show{
  display: block;
}
.js_pdf .m_form__must{
  display: none;
}
.js_pdf .m_form__ttl{
  flex: 0 0 160px;
  align-items: flex-start;
  padding: 10px;
  background: none;
}
.js_pdf .m_form__row--pdfHide{
  display: none;
}
.js_pdf .m_form__row--pdfShow{
  display: flex;
}
.js_pdf .m_form__dataItem{
  display: none;
}
.js_pdf .m_form__dataItem:has(input),
.js_pdf .m_form__dataItem:has(select){
  display: block;
}

.js_pdf .m_form__dataItem + .m_form__dataItem{
  margin: 0;
}
.js_pdf .m_form__txtFirld{
  border: none;
  text-indent: 0;
}
.js_pdf .m_form__check{
  display: none;
}
.js_pdf .m_form__footer{
  display: none;
}
.js_pdf .m_form__selectFirld{
  border: none;
  text-indent: 0;
}

/* 購入ページへの遷移ボタン */
.js_toBuyBtn{
  opacity: .1;
  cursor: default;
}
.js_toBuyBtn.is_active{
  opacity: 1;
  cursor: pointer;
}


/* カート内にある講座 */
.m_btn--addCart .m_btn__target.is_inCart{
  position: relative;
  background: #ccc;
  padding-inline: 5px 15px;
}
.m_btn--addCart .m_btn__target.is_inCart::before{
  content: "";
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 0;
  display: block;
  width: 4px;
  height: 8px;
  margin: auto;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.m_btn--main .m_btn__target.is_inCart{
  position: relative;
  background: #ccc;
  padding-inline: 14px 34px;
}
.m_btn--main .m_btn__target.is_inCart::before{
  content: "";
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  display: block;
  width: 5px;
  height: 10px;
  margin: auto;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}


/* タブきりかえ */
.js_tabTarget{}
.js_tabTarget__item{
  display: none;
}
.js_tabTarget__item.is_active{
  display: block;
}

/* テキストリンク */
@media (any-hover: hover) {
 .m_txtLink__agreement a:hover {
   opacity: 0.6;
   transition: 0.3s;
 }
}
/*===============================

    Utility

================================*/

/*横幅*/
.u_col1{width:8.333%;}
.u_col2{width:16.667%;}
.u_col3{width:25%;}
.u_col4{width:33.333%;}
.u_col5{width:41.666%;}
.u_col6{width:50%;}
.u_col7{width:58.333%;}
.u_col8{width:66.666%;}
.u_col9{width:75%;}
.u_col10{width:83.33%;}
.u_col11{width:91.666%;}
.u_col12{width:100%;}
@media screen and (max-width:768px){
  .u_resMdCol1{width:8.333%;}
  .u_resMdCol2{width:16.667%;}
  .u_resMdCol3{width:25%;}
  .u_resMdCol4{width:33.333%;}
  .u_resMdCol5{width:41.666%;}
  .u_resMdCol6{width:50%;}
  .u_resMdCol7{width:58.333%;}
  .u_resMdCol8{width:66.666%;}
  .u_resMdCol9{width:75%;}
  .u_resMdCol10{width:83.33%;}
  .u_resMdCol11{width:91.666%;}
  .u_resMdCol12{width:100%;}
}
@media screen and (max-width:599px){
  .u_resSmCol1{width:8.333%;}
  .u_resSmCol2{width:16.667%;}
  .u_resSmCol3{width:25%;}
  .u_resSmCol4{width:33.333%;}
  .u_resSmCol5{width:41.666%;}
  .u_resSmCol6{width:50%;}
  .u_resSmCol7{width:58.333%;}
  .u_resSmCol8{width:66.666%;}
  .u_resSmCol9{width:75%;}
  .u_resSmCol10{width:83.33%;}
  .u_resSmCol11{width:91.666%;}
  .u_resSmCol12{width:100%;}
}

/* color */
.u_color-coral { color: #ff7f50 !important; }
.u_color-rouge { color: #ec2c43 !important; }
.u_color-crimson { color: #e6002d !important; }

/* display */
.u_d-b { display: block !important; }
.u_d-ib { display: inline-block!important; }
.u_d-fx { display: flex !important; }

@media screen and (max-width: 599px){
  .u_res_d-n { display: none; }
  .u_res_d-b { display: block; }
}

/* float */
.u_fl-n { float: none !important; }
.u_fl-l { float: left !important; }
.u_fl-r { float: right !important; }

/* font-size */
.u_fz-xs { font-size: .75em !important; }
.u_fz-sm { font-size: .875em !important; }
.u_fz-md { font-size: 1em !important; }
.u_fz-lg { font-size: 1.25em !important; }
.u_fz-xl { font-size: 1.5em !important; }
.u_fz-sr { font-size: smaller !important; }
.u_fz-lr { font-size: larger !important; }

.u_fz10 { font-size: 10px !important; }
.u_fz11 { font-size: 11px !important; }
.u_fz12 { font-size: 12px !important; }
.u_fz13 { font-size: 13px !important; }
.u_fz14 { font-size: 14px !important; }
.u_fz15 { font-size: 15px !important; }
.u_fz16 { font-size: 16px !important; }
.u_fz17 { font-size: 17px !important; }
.u_fz18 { font-size: 18px !important; }
.u_fz19 { font-size: 19px !important; }
.u_fz20 { font-size: 20px !important; }

/* font-weigth */
.u_fw-b { font-weight: bold !important; }
.u_fw-n { font-weight: normal !important; }

/* line-height */
.u_lh-nm { line-height: normal !important; }
.u_lh-ih { line-height: inherit !important; }
.u_lh0 { line-height: 0 !important; }
.u_lh1 { line-height: 1 !important; }
.u_lh2 { line-height: 2 !important; }
.u_lh3 { line-height: 3 !important; }
.u_lh4 { line-height: 4 !important; }
.u_lh5 { line-height: 5 !important; }
.u_lh6 { line-height: 6 !important; }
.u_lh-xs { line-height: 1.25 !important; }
.u_lh-sm { line-height: 1.33 !important; }
.u_lh-md { line-height: 1.5 !important; }
.u_lh-lg { line-height: 1.75 !important; }
.u_lh-xl { line-height: 2 !important; }

/* padding */
.u_py0 { padding-top: 0 !important; padding-bottom: 0 !important; }

/* margin */
.u_mt0 { margin-top: 0 !important; }
.u_mt-a { margin-top: auto !important; }
.u_mt-xs { margin-top: 0.2rem !important; }
.u_mt-sm { margin-top: 0.5rem !important; }
.u_mt-md { margin-top: 1rem !important; }
.u_mt-lg { margin-top: 1.5rem !important; }
.u_mt-xl { margin-top: 3rem !important; }

.u_ml0 { margin-left: 0 !important; }
.u_ml-a { margin-left: auto !important; }
.u_ml-xs { margin-left: 0.2rem !important; }
.u_ml-sm { margin-left: 0.5rem !important; }
.u_ml-md { margin-left: 1rem !important; }
.u_ml-lg { margin-left: 1.5rem !important; }
.u_ml-xl { margin-left: 3rem !important; }

.u_mb0 { margin-bottom: 0 !important; }
.u_mb-a { margin-bottom: auto !important; }
.u_mb-xs { margin-bottom: 0.2rem !important; }
.u_mb-sm { margin-bottom: 0.5rem !important; }
.u_mb-md { margin-bottom: 1rem !important; }
.u_mb-lg { margin-bottom: 1.5rem !important; }
.u_mb-xl { margin-bottom: 3rem !important; }

.u_mr0 { margin-right: 0 !important; }
.u_mr-a { margin-right: auto !important; }
.u_mr-xs { margin-right: 0.2rem !important; }
.u_mr-sm { margin-right: 0.5rem !important; }
.u_mr-md { margin-right: 1rem !important; }
.u_mr-lg { margin-right: 1.5rem !important; }
.u_mr-xl { margin-right: 3rem !important; }

.u_my0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.u_my10 { margin-top: 10px !important; margin-bottom: 10px !important; }
.u_my20 { margin-top: 20px !important; margin-bottom: 20px !important; }
.u_my30 { margin-top: 30px !important; margin-bottom: 30px !important; }

.u_mt5 { margin-top: 5px !important; }
.u_mt10 { margin-top: 10px !important; }
.u_mt15 { margin-top: 15px !important; }
.u_mt20 { margin-top: 20px !important; }
.u_mt30 { margin-top: 30px !important; }
.u_mt50 { margin-top: 50px !important; }
.u_mt100 { margin-top: 100px !important; }

.u_mt-5 { margin-top: -5px !important; }
.u_mt-10 { margin-top: -10px !important; }
.u_mt-15 { margin-top: -15px !important; }
.u_mt-20 { margin-top: -20px !important; }
.u_mt-30 { margin-top: -30px !important; }
.u_mt-50 { margin-top: -50px !important; }
.u_mt-100 { margin-top: -100px !important; }

.u_mb5 { margin-bottom: 5px !important; }
.u_mb10 { margin-bottom: 10px !important; }
.u_mb15 { margin-bottom: 15px !important; }
.u_mb20 { margin-bottom: 20px !important; }
.u_mb30 { margin-bottom: 30px !important; }
.u_mb50 { margin-bottom: 50px !important; }
.u_mb100 { margin-bottom: 100px !important; }

.u_mb-5 { margin-bottom: -5px !important; }
.u_mb-10 { margin-bottom: -10px !important; }
.u_mb-15 { margin-bottom: -15px !important; }
.u_mb-20 { margin-bottom: -20px !important; }
.u_mb-30 { margin-bottom: -30px !important; }
.u_mb-50 { margin-bottom: -50px !important; }
.u_mb-100 { margin-bottom: -100px !important; }

.u_m-a { margin: auto !important; }

/* position */
.u_pos-r { position: relative !important; }
.u_pos-a { position: absolute !important; }

/* text-align */
.u_ta-c { text-align: center !important; }
.u_ta-r { text-align: right !important; }
.u_ta-l { text-align: left !important; }

/* text-indent */
.u_ti--1 { text-indent: -1em !important; padding-left: 1em !important; }
.u_ti-0 { text-indent: 0em !important; padding-left: 0em !important; }

/* text-decoration */
.u_td-n { text-decoration: none !important; }
.u_td-u { text-decoration: underline !important; }
.u_td-o { text-decoration: overline !important; }
.u_td-l { text-decoration: line-through !important; }

/* vertical-align */
.u_va-sup { vertical-align: super !important; }
.u_va-t { vertical-align: top !important; }

.u_va-tt { vertical-align: text-top !important; }
.u_va-m { vertical-align: middle !important; }
.u_va-bl { vertical-align: baseline !important; }
.u_va-b { vertical-align: bottom !important; }
.u_va-tb { vertical-align: text-bottom !important; }
.u_va-sub { vertical-align: sub !important; }

/* flexbox */
.u_ac-fs { align-content: flex-start !important; }
.u_ac-fe { align-content: flex-end !important; }
.u_ac-c { align-content: center !important; }
.u_ac-sb { align-content: space-between !important; }
.u_ac-sa { align-content: space-around !important; }
.u_ac-s { align-content: stretch !important; }
.u_ai-fs { align-items: flex-start !important; }
.u_ai-fe { align-items: flex-end !important; }
.u_ai-c { align-items: center !important; }
.u_ai-b { align-items: baseline !important; }
.u_ai-s { align-items: stretch !important; }
.u_as-a { align-self: auto !important; }
.u_as-fs { align-self: flex-start !important; }
.u_as-fe { align-self: flex-end !important; }
.u_as-c { align-self: center !important; }
.u_as-b { align-self: baseline !important; }
.u_as-s { align-self: stretch !important; }
.u_jc-fs { justify-content: flex-start !important; }
.u_jc-fe { justify-content: flex-end !important; }
.u_jc-c { justify-content: center !important; }
.u_jc-sb { justify-content: space-between !important; }
.u_jc-sa { justify-content: space-around !important; }
.u_fx0-1-a { flex: 0 1 auto !important; }
.u_fx1-0-a { flex: 1 0 auto !important; }
.u_fx1-1-a { flex: 1 1 auto !important; }
.u_fx0-0-a { flex: 0 0 auto !important; }
.u_fx1-0-0 { flex: 1 0 0% !important; }

/* order */
.u_ord0 { order: 0 !important; }
.u_ord1 { order: 1 !important; }
.u_ord2 { order: 2 !important; }
.u_ord3 { order: 3 !important; }
.u_ord4 { order: 4 !important; }
.u_ord5 { order: 5 !important; }
.u_ord6 { order: 6 !important; }
.u_ord9999 { order: 9999 !important; }
.u_ord-1 { order: -1 !important; }

/* table-layout */
.u_tbl-a { table-layout: auto !important; }
.u_tbl-f { table-layout: fixed !important; }

/* width */
.u_w350 { width: 350px !important; }
.u_w400 { width: 400px !important; }

.u_w40p { width: 40% !important; }
.u_w45p { width: 45% !important; }
.u_w50p { width: 50% !important; }
.u_w100p { width: 100% !important; }

.u_maW70p { max-width: 70% !important; }
.u_maW75p { max-width: 75% !important; }
.u_maW80p { max-width: 80% !important; }

.u_disNon-pc { display: none; }
.u_disNon-sp { display: block; }

.sp { display: none; }

@media screen and (max-width:599px){
  .res_sm_w100p { width: 100% !important; }
  .u_disNon-pc { display: block; }
  .u_disNon-sp { display: none; }
}