@charset "UTF-8";
/*
 * ================================================
 *
 * [consulting]
 *
 * ================================================
 */
body.index #pageTitle {
	background-image: url(/consultation/images/mv_ttl_index.jpg);
}
body.search #pageTitle {
	background-image: url(/consultation/images/mv_ttl_01.jpg);
}
/**
 * ---------------------------------------------------
 * search
 * ---------------------------------------------------
 */
/**
 * form
 */
.formVox {
	padding: 15px 0;
}
.formWrap {
	margin-bottom: 50px;
}
	.formWrap .formItem:not(:last-child) {
		margin-bottom: 30px;
	}
.formItem {}
	.formItem dt {
		font-size: 1.8rem;
		font-weight: bold;
		color: #231815;
		width: 190px;
	}
	.formItem dt,
	.formItem dd {
		display: table-cell;
		vertical-align: top;
	}
	.formItem dd {
		width: 665px;
	}
	.formItem .mark {
		font-size: 2.0rem;
		line-height: 1;
	}
.formText.date {
	width: 13em;
}
.formText.date.before {
	margin-right: 1.5em;
}
.formText.date.after {
	margin-left: 1.5em;
}
.formFields {}
	.formFields label {
		display: inline-block;
		margin-bottom: 5px;
	}
		.formFields input {
			vertical-align: top;
			margin: .4em .3em 0 0;
		}
.stateFields {}
	.stateFields label {
		margin-right: 1.5em;
	}
.themeFields {}
	.themeFields .item {
		float: left;
		width: 220px;
	}
	.themeFields .item:nth-child(3) {
		width: 290px;
	}
		.themeFields label {
			width: 100%;
		}
.themeFields2 {}
	.themeFields2 .item {
		float: left;
		width: 240px;
	}
	.themeFields2 .item:nth-child(2) {
		width: 140px;
	}
	.themeFields2 .item:nth-child(3) {
		width: 280px;
	}
		.themeFields2 label {
			width: 100%;
		}
.chartVox {
	overflow: hidden;
	padding-bottom: 20px;
}
	.chartVox .photo {
		float: left;
	}
	.chartVox .content {
		padding-left: 210px;
	}
		.chartVox .content .text {
			margin-bottom: 30px;
			line-height: 2;
		}
		.chartVox .content .sign {
			float: right;
			padding-right: 20px;
			}

.slist_nav_cart ul li.login a{
	background-color: #E1E1E1;
}
.slist_nav ul li.login3 a{
	background-color: #2c8617;
	color: #FFFFFF;
	font-weight: bold;
}
.formFields2 {}
.formFields2 label {
	display: inline-block;
	margin-bottom: 5px;
}
	.formFields2 input {
		vertical-align: top;
		margin: .4em .3em 0 0;
	}
	
/**
 * ---------------------------------------------------
 * 論文検索用
 * ---------------------------------------------------
 */
.formWrap2 {
	 margin-bottom: 35px;
 }
	 .formWrap2 .formItem2:not(:last-child) {
		 margin-bottom: 10px;
	 }
.formItem2 {}
 .formItem2 dt {
	 font-size: 1.4rem;
	 font-weight: bold;
	 color: #231815;
	 width: 160px;
 }
 .formItem2 dt,
 .formItem2 dd {
	 display: table-cell;
	 vertical-align: top;
 }
 .formItem2 dd {
	 width: 665px;
 }
 .formItem2 .mark {
	 font-size: 1.4rem;
	 line-height: 1;
 }
.submitVox2 {
	 text-align: center;
 }
	 .submitVox2 .formBt {
		 display: inline-block;
		 border: 3px solid #b7b7b7;
		 padding: .6em 2.5em .6em;
		 font-size: 1.4rem;
		 font-weight: bold;
		 border-radius: 6px;
		 background: #FFF;
		 margin: 0 12px;
	 }
	 .submitVox2 .formBt2 {
		 display: inline-block;
		  border: 3px solid #b7b7b7;
		  padding: .6em 2.5em .6em;
		  font-size: 1.4rem;
		  font-weight: bold;
		  color: #fff;
		  border-radius: 6px;
		  background-color: #2c8617;
		  margin: 0 12px;
	  }
.formselect {
			   background: #ffffff;
			   height: 30px;
			   width: 300px;
			   border-radius: 6px;
			   border: 1px solid #595757;
			   position: relative;
			   z-index: 1;
			 }
	 .formselect::after {
			   position: absolute;
			   content: '';
			   width: 8px;
			   height: 8px;
			   right: 10px;
			   top: 50%;
			   transform: translateY(-50%) rotate(45deg);
			   border-bottom: 2px solid #595757;
			   border-right: 2px solid #595757;
			   z-index: -1;
			 }
	 .formFields2 select {
			   /* 初期化 */
			   appearance: none;
			   -moz-appearance: none;
			   -webkit-appearance: none;
			   background: none;
			   border: none;
			   color: #595757;
			   font-size: 1.2rem;
			   width: 100%;
			   height: 100%;
			   padding: 0 5px;
			 }
input.formText2[type=text],
			 input.formText2[type=password],
			 input.formText2[type=number],
			 input.formText2[type=email],
			 input.formText2[type=date],
			 textarea.formText2 {
				 padding: 5px 6px;
				 border: none;
				 background-color: #fff;
				 border: 1px solid #595757;
				 border-radius: 6px;
			 }
.formFields2 {}
				 .formFields2 label {
					 display: inline-block;
					 margin-bottom: 5px;
				 }
					 .formFields2 input {
						 vertical-align: top;
						 margin: .4em .3em 0 0;
					 }
			 .stateFields2 {}
				 .stateFields label {
					 margin-right: 1.5em;
				 }
			 .themeFields2 {}
				 .themeFields2 .item {
					 float: left;
					 width: 220px;
				 }
				 .themeFields2 .item:nth-child(3) {
					 width: 290px;
				 }
					 .themeFields2 label {
						 width: 100%;
					 }

/**
 * ---------------------------------------------------
 * セミナー表
 * ---------------------------------------------------
 */
.list_flex{
   width: 100%;}
.list_flex ul{
  display: flex;
  flex-wrap: wrap;}
.list_flex li {
   width: 25%; /* ％指定で列を自由に設定可能 */
   box-sizing: border-box;
   padding:10px;}
.list_flex ul:first-child li {
   font-weight:bold;
   text-align:center; padding:0; background-color: rgba(90, 127, 174, .3);}
.list_flex ul:nth-child(2n+1){
	background-color: rgba(225,225,225,0.30);}
.list_flex li:nth-child(n+1) {
   border-top: 1px solid #999;}
.list_flex ul:last-child li {
   border-bottom: 1px solid #999;}
.list_flex li:nth-child(n+1) {
   border-left: 0px solid #000;}
.list_flex li:last-child {
   border-right: 0px solid #000;}

.list_flex_4col li{width:25%;} /* ４列にする　*/
.list_flex_3col li{width:33%;} /* ３列にする　*/
.list_flex_1col li{width:100%;} /* ３列にする　*/

.list_flex_gaiyo li:first-child {width: 30%;}
.list_flex_gaiyo li:last-child {width: 70%;}

.list_flex_yakuin li:first-child {width: 20%;}
.list_flex_yakuin li:nth-child(2) {width: 15%;}
.list_flex_yakuin li:last-child {width: 65%;}

.list_flex_slist li:first-child {width: 23%;}
.list_flex_slist li:nth-child(2) {width: 13%; text-align:center;}
.list_flex_slist li:nth-child(3) {width: 32%; font-weight:bold;}
.list_flex_slist li:last-child {width: 32%;}
.list_flex_cart li:first-child {width: 80%;}
.list_flex_cart li:last-child {width: 20%; text-align:center;}


.list_flex_plist{
   width: 100%; font-feature-settings: "palt";}
.list_flex_plist ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  }
.list_flex_plist li {
   width: 25%; /* ％指定で列を自由に設定可能 */
   padding: 5px 5px;
}
.list_flex_plist ul:first-child li {
   font-weight:bold;
   text-align:center;
   padding: 3px;
   font-size: 1.1rem;
}
.list_flex_plist ul:nth-child(2n+1) {
	background-color: rgba(44, 134, 24, 0.1);}
.list_flex_plist ul:last-child {
   border-bottom: 1px solid #999;}
   
.list_flex_plist li:first-child {width: 5%; text-align:center;}
.list_flex_plist li:nth-child(2) {width: 4%; text-align:center;}
.list_flex_plist li:nth-child(3) {width: 6%; text-align:center; font-size: 1.2rem;}
.list_flex_plist li:nth-child(4) {width: 10%; text-align:center; font-size: 1.2rem;}
.list_flex_plist li:nth-child(5) {width: 30%; font-weight:bold; color: #281}
.list_flex_plist li:nth-child(6) {width: 20%; font-size: 1.0rem;}
.list_flex_plist li:nth-child(7) {width: 13%;}
.list_flex_plist li:last-child {width: 12%; text-align:center; font-size: 1.2rem;}

.list_flex_plist2 ul:first-child {
	border-top: 1px solid #999; border-bottom: 1px solid #999;}

.list_flex_plist2 li:first-child {width: 5%;}
.list_flex_plist2 li:nth-child(2) {width: 4%;}
.list_flex_plist2 li:nth-child(3) {width: 6%;}
.list_flex_plist2 li:nth-child(4) {width: 10%;}
.list_flex_plist2 li:nth-child(5) {width: 30%;}
.list_flex_plist2 li:nth-child(6) {width: 20%;}
.list_flex_plist2 li:nth-child(7) {width: 13%;}
.list_flex_plist2 li:last-child {width: 12%; text-align:center; font-size: 1.2rem;}

.btn_choiyomi {color: #fff; font-size: 1.0rem; padding: 5px 0px; border-radius: 5px; background-color: #16f; line-height: 1.2; font-feature-settings: "palt";}
.btn_choiyomi a {color: #fff; text-decoration-line: none;}

/**
 * ---------------------------------------------------
 * セミナーリスト用ナビ
 * ---------------------------------------------------
 */
.slist_nav ul{
	display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}
.slist_nav ul{
	　display: table;
	　width: 80%;
	　text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
	margin-left: 5px;
	margin-right: 5px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}
.slist_nav ul li{
　display: table-cell;
　min-width: 50px;
}
.slist_nav ul li a{
	　display: block;
	　width: 100%;
	　padding: 10px;
	　text-decoration: none;
	　color: #555;
	　font-weight: bold;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 7px;
	padding-left: 10px;
	margin-top: 5px;
	margin-right: 5px;
	margin-bottom: 5px;
	margin-left: 5px;
	border: 3px solid #999999;
	border-radius: 5px;
	transition: filter 0.5s ease-in;
	-webkit-transition: filter 0.5s ease-in;
}
.slist_nav ul li.current{
　background-color: #DEEBF7;
}
.slist_nav ul li.current a{
	　color: #555;
	background-color: #009405;
	color: #FFFFFF;
	font-weight: bold;
}
.slist_nav ul li:hover a{
	filter: saturate(70%);
}
.slist_nav_cart ul{
	justify-content: flex-end;
	align-items: flex-end;
	margin-bottom: 0px;
}
.slist_nav_cart ul li.cart a{
	background-image: url(../images/icn_cart.png);
	background-color: #FF833A;
	background-repeat: no-repeat;
	background-position: 5% 40%;
	padding-left: 35px;
	color: #FFFFFF;
}
.slist_nav_cart ul li.myp a{
	background-image: url(../images/icn_mypage.png);
	background-color: #008ECB;
	background-repeat: no-repeat;
	background-position: 5% 40%;
	padding-left: 35px;
	color: #FFFFFF;
}
/**
 * ---------------------------------------------------
 * セミナー詳細表示
 * ---------------------------------------------------
 */
.semVox {
	border: 3px solid #1A8700;
	padding-top: 50px;
	padding-right: 50px;
	padding-bottom: 50px;
	padding-left: 50px;
}
.semtitle {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .05em;
	margin-bottom: 10px;
	position: relative;
	border-bottom: 1px solid #000000;
	color: #008A1B;
	padding-bottom: 10px;
}
.semtitle2 {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .05em;
	margin-bottom: 20px;
	position: relative;
	border-bottom: 1px solid #000000;
	padding-bottom: 10px;
}
.semtitle3 {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .05em;
	margin-bottom: 15px;
	position: relative;
	/* [disabled]border-bottom-color: #000000; */
	/* [disabled]border-bottom-style: solid; */
	/* [disabled]border-bottom-width: 1px; */
	background-color: #CACACA;
	padding-left: 10px;
	margin-top: 30px;
}
.semname {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .05em;
	margin-bottom: 20px;
	position: relative;
	/* [disabled]border-bottom-color: #000000; */
	/* [disabled]border-bottom-style: solid; */
	/* [disabled]border-bottom-width: 1px; */
}
/**
 * ---------------------------------------------------
 * セミナー詳細表
 * ---------------------------------------------------
 */
.list_flex_sem{
   width: 100%;}
.list_flex_sem ul{
  display: flex;
  flex-wrap: wrap;}
.list_flex_sem li {
   width: 25%; /* ％指定で列を自由に設定可能 */
   box-sizing: border-box;
   padding:10px;}
.list_flex_sem ul:nth-child(2n+1){
	background-color: rgba(225,225,225,0.30);}
.list_flex_sem li:nth-child(n+1) {
   border-top: 1px solid #999;}
.list_flex_sem ul:last-child li {
   border-bottom: 1px solid #999;}
.list_flex_sem li:nth-child(n+1) {
   border-left: 0px solid #000;}
.list_flex_sem li:last-child {
   border-right: 0px solid #000;}

.list_flex_sem_4col ul:first-child {font-weight: bold;} /* ４列にする　*/
.list_flex_sem_4col li:first-child {width:25%; font-weight: bold;}

.list_flex_sem_3col li:first-child {width:25%; padding:3px;} /* ３列にする　*/
.list_flex_sem_3col li:nth-child(2) {width:25%; padding:3px;} /* ３列にする　*/
.list_flex_sem_3col li:last-child {width:50%; padding:3px;} /* ３列にする　*/

.list_flex_sem_2col ul:first-child {margin-top: 30px; }
.list_flex_sem_2col li:first-child {width: 15%; text-align: center; font-weight: bold; font-size: 1.8rem;}
.list_flex_sem_2col li:last-child {width: 85%;}

.line_flex_sem_2_col_2 ul:nth-child(1) li:nth-child(2) {
	font-size: 1.8rem; font-weight: bold;}

.list_flex_sem_formcol ul:first-child {margin-top: 30px; }
.list_flex_sem_formcol li:first-child {width: 25%; font-weight: bold;}
.list_flex_sem_formcol li:last-child {width: 75%; }

.list_flex_sem_301060 li:first-child {width:30%; padding:3px;} /* ３列にする　*/
.list_flex_sem_301060 li:nth-child(2) {width:10%; padding:3px;} /* ３列にする　*/
.list_flex_sem_301060 li:last-child {width:60%; padding:3px;} /* ３列にする　*/

.list_flex_sem_1col li:first-child {width:100%; padding:3px;} /* １列にする　*/

/* ============================================================
   スマートフォン対応 (consultation/ 専用オーバーライド)
   ============================================================ */
@media (max-width: 768px) {

	/* グローバルのmin-widthをリセット */
	body { min-width: 0; }

	/* ====== ヘッダー ====== */
	#siteHeader { position: relative; }
	#siteHeader .shInner {
		width: 100%;
		padding: 0 12px;
		box-sizing: border-box;
	}
	#siteHeader .shTop {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		overflow: visible;
	}
	#siteHeader .shTop .sl { float: none; }
	#siteHeader .shTop .sl a img { height: 40px; width: auto; }
	/* デスクトップ右側ナビ（検索・リンク群）は非表示 */
	#siteHeader .shTop .nav { display: none; }

	/* グローバルナビ：通常は非表示、navOpen 時のみ表示 */
	#gNav { display: none; }
	#siteHeader.navOpen #gNav {
		display: block;
		background: #fff;
	}
	#siteHeader.navOpen #gNav ul { overflow: visible; }
	#siteHeader.navOpen #gNav li { float: none; border-bottom: 1px solid #eee; }
	#siteHeader.navOpen #gNav li a { padding: .9em 1.2em; display: block; font-size: 1.4rem; }

	/* ドロップダウンメニュー幅リセット */
	#mMenu .mmItem { width: 100%; box-sizing: border-box; }

	/* ====== ハンバーガーボタン（nav.js が挿入） ====== */
	.mnavToggle {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 5px;
		background: none;
		border: 2px solid #5A7FAE;
		border-radius: 4px;
		cursor: pointer;
		padding: 6px 8px;
		width: 42px;
		height: 38px;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
	}
	.mnavToggle span {
		display: block;
		width: 22px;
		height: 2px;
		background: #5A7FAE;
		-webkit-transition: .2s;
		        transition: .2s;
	}

	/* ====== パンくず：横スクロールにせず折り返す ====== */
	#topicPathVox .inner {
		width: 100%;
		box-sizing: border-box;
		padding: 8px 12px;
	}
	#topicPathVox ol {
		overflow-x: visible;
		white-space: normal;
		padding: 0;
	}
	#topicPathVox ol li {
		font-size: 1.1rem;
		margin-right: 6px;
	}
	#topicPathVox ol li:not(:last-child)::after {
		margin-left: 6px;
	}

	/* ====== ページタイトル ====== */
	#pageTitle { height: auto; min-height: 80px; }
	#pageTitle.top { height: auto; min-height: 120px; }
	#pageTitle .inner {
		width: 100%;
		padding: 20px 12px;
		box-sizing: border-box;
	}
	#pageTitle .title,
	#pageTitle .title2 { font-size: 1.6rem; width: 100%; letter-spacing: .05em; }

	/* ====== 見出し（hdS01/hdS02）：左右の余白が広すぎて折り返さないよう縮小 ====== */
	.hdS01 {
		font-size: 1.7rem;
		padding: 0 .5em .5em;
	}
	.hdS02 {
		font-size: 1.3rem;
		padding: 0 .5em .5em;
	}
	.hdS03 { font-size: 1.4rem; }
	.hdS04 { font-size: 1.4rem; letter-spacing: .1em; }

	/* ====== 事例・診断ページの見出し（semtitle）====== */
	.semtitle { font-size: 1.6rem; }
	.semtitle2 { font-size: 1.5rem; }
	.semtitle3 { font-size: 1.3rem; }
	.semname { font-size: 1.5rem; }

	/* ====== フォントサイズ縮小ユーティリティ（s120/s150/s180） ====== */
	.s180 { font-size: 150%; }
	.s150 { font-size: 130%; }
	.s120 { font-size: 110%; }

	/* ====== 動画＋テキストの横並び（w50p/fRight）を縦積みに ====== */
	.fRight.w50p,
	.w50p {
		width: 100% !important;
		float: none !important;
	}
	.pR20 { padding-right: 0; }

	/* ====== ローカルナビ（タブ）：横スクロールにせず折り返す ====== */
	#lNav { overflow-x: visible; padding: 8px 8px; }
	#lNav ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		white-space: normal;
	}
	#lNav li { display: block; margin: 1px 5px; line-height: 1.3; }
	#lNav li a {
		padding: .35em .7em;
		display: block;
		font-size: 1.15rem;
		color: #0071AC;
	}
	#lNav li.current a { color: #0071AC; font-weight: bold; }

	/* ====== フッター：会員・SNSリンク（1カラムに、アイコンサイズを統一） ====== */
	#siteFooter .sfInner {
		width: 100%;
		padding: 0 12px;
		box-sizing: border-box;
	}
	#siteFooter .topLinks {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		display: block;
	}
	#siteFooter .topLinks li {
		width: 100%;
		margin: 0 0 10px;
	}
	#siteFooter .topLinks li a {
		font-size: 1.3rem;
		padding: .8em 0;
	}
	#siteFooter .topLinks li a.fb { font-size: 1.3rem; }
	#siteFooter .topLinks li a img,
	#siteFooter .topLinks li a img.icon {
		height: 20px !important;
		width: auto !important;
		max-width: 24px;
	}

	/* ====== フッター：サイトマップ（fNav）を1カラムに ====== */
	#fNav {
		display: block;
	}
	#fNav .item {
		width: 100%;
		padding-left: 0 !important;
		margin-bottom: 15px;
	}
	#fNav .item ul { margin-bottom: 12px; }
	#fNav .item li { font-size: 1.2rem; }

	/* ====== フッター：ロゴ・住所・認証マーク（絶対配置による重なりを解除） ====== */
	#siteFooter .sfInfo { padding: 20px 0 10px; }
	#siteFooter .sfInfo address {
		font-size: 1.1rem;
		line-height: 1.7;
	}
	#siteFooter .sfInfo .marks {
		position: static !important;
		display: block;
		text-align: center;
		margin-top: 15px;
		height: auto !important;
	}
	#siteFooter .sfInfo .marks .item {
		position: static !important;
		display: inline-block;
		margin: 0 6px;
	}

	/* ====== フッター下部リンク ====== */
	#siteFooter .sfBottom .others li {
		font-size: 1.1rem;
		margin: 0 .6em 6px;
	}

	/* ====== コンテンツ共通 ====== */
	.inner { padding-left: 12px; padding-right: 12px; box-sizing: border-box; }
	.contVox { width: 100%; box-sizing: border-box; }

	/* ====== アイコングリッド（catList01）：3列→2列 ====== */
	.searchVox { padding: 12px; }
	.searchVox .catList01 li {
		width: calc(50% - 8px);
		height: auto;
		min-height: 60px;
	}
	/* 3n目マージンをリセットし、奇数番目（左列）にのみマージンを付ける */
	.searchVox .catList01 li:not(:nth-child(3n)) { margin-right: 0; }
	.searchVox .catList01 li:nth-child(odd)      { margin-right: 15px; }
	.searchVox .catList01 li a {
		padding: 0 .5em 0 62px;
		font-size: 1.2rem;
	}
	.searchVox .catList01 li a::before { width: 56px; }

	/* ====== フォーム（dt/dd の横並びをリセット） ====== */
	.formItem,
	.formItem2 { display: block; }
	.formItem dt,
	.formItem dd,
	.formItem2 dt,
	.formItem2 dd {
		display: block;
		width: 100% !important;
	}
	.formItem dt,
	.formItem2 dt { margin-bottom: 4px; }
	.formText.date { width: 100%; }

	/* ====== 図（chart）====== */
	.chartVox .photo { float: none; text-align: center; margin-bottom: 15px; }
	.chartVox .content { padding-left: 0; }
	.chartVox .content .sign { float: none; padding-right: 0; text-align: right; }

	/* ====== 画像全般 ====== */
	img { max-width: 100%; height: auto; }

	/* ====== semVox ====== */
	.semVox {
		padding: 20px 15px;
	}

	/* ====== 表（list_flex） ====== */
	.list_flex_plist li,
	.list_flex_plist2 li { font-size: 1.0rem; padding: 3px 2px; }
}

@media (max-width: 480px) {
	/* さらに小さい端末ではアイコングリッドを1列に */
	.searchVox .catList01 li {
		width: 100%;
	}
	.searchVox .catList01 li:nth-child(odd) { margin-right: 0; }
}
