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

/* 全般 */
.entry-content section {
	margin-bottom: 60px;
}
.entry-content a {
	color: #036cb9;
}
.red {
	color: #FF3113;
}
br.pc_none {
	display: none;
}
/* 最新の研修コース */
.course_list {
	border-bottom: 1px solid #CCC;
}
.course_list li {
	border-top: 1px solid #CCC;
}
.course_list li a {
	display: flex;
	width: 100%;
	padding: 20px;
	color: inherit;
}
.course_list li a .image {
	width: 120px;
	min-width: 120px;
	height: 120px;
	margin-right: 20px;
	background-color: #FFF;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
}
.course_list li a .image.cloud {
	background-image: url(../images/icon_cloud.svg);
}
.course_list li a .image.network {
	background-image: url(../images/icon_network.svg);
}
.course_list li a .image.db {
	background-image: url(../images/icon_db.svg);
}
.course_list li a .image.os {
	background-image: url(../images/icon_os.svg);
}
.course_list li a .image.other {
	background-image: url(../images/icon_other.svg);
}
.course_list li a .detail {
}
.course_list li a .detail ul li {
	margin-bottom: 5px;
	padding-left: 30px;
	border: none;
	position: relative;
}
.course_list li a .detail ul li:last-child {
	margin-bottom: 0;
}
.course_list li a .detail ul li:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 25px;
	position: absolute;
	left: 0;
}
.course_list li a .detail ul li:nth-child(1):before {
	background: url(../images/courselist_1.svg) no-repeat;
}
.course_list li a .detail ul li:nth-child(2):before {
	background: url(../images/courselist_2.svg) no-repeat;
}
.course_list li a .detail ul li:nth-child(3):before {
	background: url(../images/courselist_3.svg) no-repeat;
}
.course_list li a .detail ul li p {
	display: table;
}
/* SP時カレンダーリスト */
.date_list {
	margin-top: 30px;
}
.date_list dt {
	border: solid 1px #CCC;
	margin-bottom: 10px;
}
.date_list .thumbnail {
	width: 18%;
	height: 60px;
	background-color: #FFF;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin: 0 2% 5px 0;
	float: left;
}
.date_list .cloud .thumbnail {
	background-image: url(../images/icon_cloud.svg);
}
.date_list .network .thumbnail {
	background-image: url(../images/icon_network.svg);
}
.date_list .db .thumbnail {
	background-image: url(../images/icon_db.svg);
}
.date_list .os .thumbnail {
	background-image: url(../images/icon_os.svg);
}
.date_list .other .thumbnail {
	background-image: url(../images/icon_other.svg);
}
.date_list h5 {
	word-break: break-all;
	cursor: pointer;
}
.date_list .date {
	font-weight: bold;
	color: #FFF;
	width: 20%;
	padding: 8px 0;
	text-align: center;
	float: left;
}
.date_list h5 .title {
	display: block;
	text-overflow: ellipsis;
	padding: 8px 10px;
	max-width: 80%;
	word-break: break-all;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.date_list .active h5 .title {
	white-space: normal;
}
.date_list dt, .date_list dd {
	background-image: url(../images/blue_bg.svg);
	background-size: cover;
	border-radius: 5px;
}
.date_list dt.active {
	border-bottom: none;
	border-radius: 5px 5px 0 0;
}
.date_list dd {
	margin-bottom: 10px;
	font-size: 1.2rem;
	display: none;
	position: relative;
	top: -10px;
	padding: 0 10px 0 20%;
	z-index: 2;
	border: solid 1px #CCC;
	border-top: none;
	border-radius: 0 0 5px 5px;
}
.date_list .detail {
	padding: 0 10px;
}
.date_list .detail div:before {
	display: inline-block;
	width: 17px;
	top: 5px;
	position: relative;
	margin-right: 10px;
}
.date_list .detail .days:before {
	content: url(../images/menu_item4_on.svg);
}
.date_list .detail .spot:before {
	content: url(../images/courselist_2.svg);
}
.date_list .detail .time:before {
	content: url(../images/icon_clock.svg);
}
.date_list .detail .cost:before {
	content: url(../images/icon_yen.svg);
}
.date_list .detail .license:before {
	content: url(../images/courselist_3.svg);
}
.date_list .detail .link a {
	display: block;
	text-align: center;
	padding: 5px 20px;
	margin: 10px 0;
	color: #FFF;
	background: #999;
	font-weight: bold;
	border-radius: 2px;
}
.date_list .detail .link a.entry {
	background: #17a32b;
}
/* トピックス */
.entry-content .topics li {
	width: 30.13%;
	margin-right: 4.79%;
	float: left;
}
.entry-content .topics li:last-child {
	margin-right: 0;
}
.entry-content .topics li:nth-child(3n) {
	margin-right: 0;
}
.entry-content .topics li a {
	color: inherit;
}
.entry-content .topics li .image {
	height: 140px;
	width: 100%;
	border: solid 1px #CCC;
	background-color: #FFF;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../images/noimage.png);
}
.entry-content .topics li p.date {
	font-size: 1.2rem;
	margin: 5px 0;
}
.entry-content .topics li h5 {
	color: #006cb9;
}
.topics_list .topics li {
	margin-bottom: 30px;
}
.topics_detail h3 {
	color: #006cb9;
	font-size: 2.4rem;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	padding: 10px 0;
	margin-bottom: 20px;
}
.topics_detail .topics_detail_date {
	color: #999;
	font-size: 1.6rem;
	text-align: right;
	margin-bottom: 20px;
}

/*wp-pagenavi*/
.wp-pagenavi {
	margin: 50px 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
}
.wp-pagenavi .page,
.wp-pagenavi .pages,
.wp-pagenavi .current {
	margin: 0 3px;
	font-size: 1.8rem;
	text-align: center;
	padding: 6px 14px;
}
.wp-pagenavi .current {
	background: #036cb9;
	color: #fff;
}
.wp-pagenavi .page,
.wp-pagenavi .pages {
	background: #f7f7f7;
	color: #036cb9;
	text-decoration: none;
}
.wp-pagenavi .page:hover {
	background: #036cb9;
	color: #fff;
	transition: all ease 0.3s;
	opacity: 1;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	margin: 0;
	color: #036cb9;
	font-size: 1.8rem;
	line-height: 1;
  text-decoration: none;
}
.wp-pagenavi .previouspostslink {
	padding: 16px 10px 16px 0;
}
.wp-pagenavi .nextpostslink {
	padding: 16px 0 16px 10px;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
	transition: all ease 0.3s;
	opacity: 0.7;
}

/* コース詳細 */
.course h2 span {
    font-size: 1.4rem;
    margin-left: 20px;
}
.about table {
	width: 100%;
	border-top: dotted 1px #CCC;
}
.about table th, .about table td {
	padding: 10px;
	border-bottom: dotted 1px #CCC;
	box-sizing: border-box;
	font-size: 1.4rem;
}
.about table th {
	width: 20%;
	font-weight: bold;
	background: #f7f7f7;
}
.about table td {
	width: 80%;
}
section.detail p {
	margin-bottom: 40px;
	padding-left: 10px;
}
/* カレンダー */
.date table {
	width: 100%;
	border-collapse: collapse;
}
.date table th, .date table td {
	padding: 10px;
	border: solid 1px #CCC;
	font-size: 1.4rem;
	text-align: center;
	vertical-align: middle;
}
.date table td.link {
	min-width: 70px;
}
.date table th {
	background: #006abb;
	color: #FFF;
}
.date table td.price_name {
	border-right: none;
	text-align: right;
	font-size: 1.2rem;
}
.date table td.price {
	border-left: none;
	font-weight: bold;
}
.date table td a {
	background: #00961c;
	border-radius: 3px;
	color: #FFF;
	display: inline-block;
	padding: 2px 10px;
}
.date table td a.disable {
	background: #999;
	pointer-events: none;
}
.date table td.campaign {
	background: #fff1f7;
}
.date p {
	margin-top: 20px;
	font-size: 1.2rem;
}
.date.nodate table {
    width: auto;
    min-width: 60%;
	margin: auto;
}
.date.nodate p {
    text-align: center;
}
.month {
	border-bottom: solid 1px #CCC;
	margin-bottom: 10px;
}
.month h3 {
	border: none;
    float: left;
    padding: 0;
    margin: -7px 0 -4px;
}
.month h3 span {
	font-size: 3.2rem;
}
.month a {
	display: inline-block;
	width: 80px;
	min-width: 80px;
	padding: 5px 0;
	margin: -1px;
	border: solid 1px #CCC;
	font-weight: bold;
	text-align: center;
	background-color: #f7f7f7;
	float: right;
}
.month .before:before {
	content: url(../images/month_before.svg);
	display: inline-block;
	position: relative;
	width: 14px;
	height: 14px;
	top: 2px;
	margin-right: 5px;
}
.month .next:after {
	content: url(../images/month_next.svg);
	display: inline-block;
	position: relative;
	width: 14px;
	height: 14px;
	top: 2px;
	margin-left: 5px;
}
.month .this {
	width: 100px;
	background-color: #FFF;
}
.calendar {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.4rem;
}
.calendar th, .calendar td {
	width: 14.28%;
	border: solid 1px #CCC;
	padding: 0;
}
.calendar th {
	padding: 2px;
	background: #666;
	color: #FFF;
	text-align: center;
	vertical-align: middle;
}
.calendar th.sun {
	background: #df0011;
}
.calendar th.sat {
	background: #009fe8;
}
.calendar td {
	height: 120px;
	vertical-align: top;
}
.calendar td.holiday,
.calendar td:first-child {
	background: #fff2f1;
}
.calendar td:last-child {
	background: #edfaff;
}
.calendar td.blank {
	background: #EEE;
}
.calendar td.today {
	background: #fffed2;
}
.calendar td .date {
	text-align: center;
	font-size: 1.2rem;
	color: #006cb9;
}
.calendar td .event {
	position: relative;
	cursor: pointer;
}
.calendar td .event .category-title {
	color: #FFF;
	width: 100%;
	height: 17px;
	display: block;
	position: absolute;
	padding: 2px 3px;
	font-size: 1.2rem;
	line-height: 1;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 730px 17px;
	cursor: pointer;
}
.calendar td .over .title {
	cursor: pointer;
	width: 100%;
	height: 17px;
	display: block;
	position: absolute;
	padding: 2px 3px;
	font-size: 1.2rem;
	background-image: none;
	color: #333;
	text-align: right;
    min-width: 80px;
}
.calendar td .over .title:before {
    content: url(../images/toggle_arrow.png);
	transition: 0.3s ease;
	display: inline-block;
    margin-right: 5px;
	position: relative;
}
.calendar td .over .title.active:before {
	transform: rotate(180deg);
    top: 2px;
}
.calendar td .over .overlist ul li a.category-title {
	color: #333;
    display: block;
    height: auto;
    position: relative;
    text-align: left;
    background-image: none;
    width: auto;
    white-space: unset;
    text-overflow: unset;
	padding: 10px 0;
	display: block;
}
.calendar td .over .overlist ul li a.category-title:before {
    content: none;
}
.calendar td .over .overlist ul li:nth-child(n + 2) {
	border-top: dotted 1px #CCC;
}
.calendar td .event.cloud .category-title {
	background-image: url(../images/arrow_cloud.svg);
}
.calendar td .event.network .category-title {
	background-image: url(../images/arrow_network.svg);
}
.calendar td .event.db .category-title {
	background-image: url(../images/arrow_db.svg);
}
.calendar td .event.os .category-title {
	background-image: url(../images/arrow_os.svg);
}
.calendar td .event.other .category-title {
	background-image: url(../images/arrow_other.svg);
}
.modal-overlay {
    z-index:1;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
}
.calendar td .event .popup {
	display: none;
	position: absolute;
	font-size: 1.2rem;
	right: 100%;
	top: -100px;
	padding: 10px;
	width: 300px;
	z-index: 100;
	background: #FFF;
	border: solid 1px #CCC;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.calendar td .over .overlist {
	top: 102px;
    width: 200%;
    right: -100%;
	display: none;
	position: absolute;
	font-size: 1.2rem;
	padding: 10px;
	z-index: 100;
	background: #FFF;
	border: solid 1px #CCC;
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.calendar td .over .overlist .popup {
    right: 105%;
	top: -100px;
}
.calendar td .event .popup .thumbnail {
	width: 60px;
	height: 60px;
	background-color: #FFF;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin: 0 10px 5px 0;
	float: left;
}
.calendar td .event.cloud .popup .thumbnail {
	background-image: url(../images/icon_cloud.svg);
}
.calendar td .event.network .popup .thumbnail {
	background-image: url(../images/icon_network.svg);
}
.calendar td .event.db .popup .thumbnail {
	background-image: url(../images/icon_db.svg);
}
.calendar td .event.os .popup .thumbnail {
	background-image: url(../images/icon_os.svg);
}
.calendar td .event.other .popup .thumbnail {
	background-image: url(../images/icon_other.svg);
}
.calendar td .event .popup h5 {
	display: inline-block;
	height: 65px;
	max-width: 207px;
	word-break: break-all;
}
.calendar td .event .popup .detail:after {
	content: "";
	display: block;
	clear: both;
}
.calendar td .event .popup .detail .days,
.calendar td .event .popup .detail .time {
	display: inline-block;
	width: 49%;
}
.calendar td .event .popup .detail div:before {
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: auto;
	right: auto;
}
.calendar td .event .popup .detail div {
	position: relative;
	margin-bottom: 3px;
	padding-left: 30px;
	left: 0;
}
.calendar td .event .popup .detail .days:before {
	content: url(../images/menu_item4_on.svg);
}
.calendar td .event .popup .detail .spot:before {
	content: url(../images/courselist_2.svg);
}
.calendar td .event .popup .detail .time:before {
	content: url(../images/icon_clock.svg);
}
.calendar td .event .popup .detail .license:before {
	content: url(../images/courselist_3.svg);
}
.calendar td .event .popup .detail .link {
	text-align: center;
	padding: 0;
	width: 100%;
}
.calendar td .event .popup .detail .link a {
	padding: 5px 20px;
    margin: 10px 5%;
    color: #FFF;
    background: #999;
    font-weight: bold;
    border-radius: 2px;
    width: 33%;
    display: inline-block;
}
.calendar td .event .popup .detail .link .entry {
	background: #17a32b;
}
/* カテゴリー一覧 */
.category_list {
	/* background: #c5dde8;
	padding: 0 20px; */
	display: flex;
	flex-wrap: wrap;
}
.category_list > li {
	flex-grow: 1;
	width: 100%;
	margin: 0 0 10px;
	padding: 20px 20px 30px 140px;
	border: solid 1px #CCC;
	background: #FFF;
	min-height: 140px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.category_list > li > ul.children {
	flex-grow: 1;
	padding: 0 10px;
	display: flex;
	flex-wrap: wrap;
}
.category_list > li > ul.children > li {
	margin-bottom: 0;
}
.category_list > li > a {
	padding: 10px;
	display: block;
	color: #FFF;
	font-size: 2.0rem;
	font-weight: bold;
	pointer-events: none;
	text-align: left;
	width: 100%;
}
.category_list > li {
	background-size: 120px 120px !important;
}
.category_list > li:nth-child(1) {
	background: url('images/icon_cloud_w.svg') no-repeat 15px 0 #1c77af;
}
.category_list > li:nth-child(2) {
	background: url('images/icon_network_w.svg') no-repeat 15px 0 #17a32b;
}
.category_list > li:nth-child(3) {
	background: url('images/icon_os_w.svg') no-repeat 15px 0 #07aa8b;
}
.category_list > li:nth-child(4) {
	background: url('images/icon_db_w.svg') no-repeat 15px 0 #5d66af;
}
.category_list > li:nth-child(5) {
	background: url('images/icon_other_w.svg') no-repeat 15px 0 #8cc63f;
}
.category_list li li:nth-child(1), .category_list li li:nth-child(2), .category_list li li:nth-child(3), .category_list li li:nth-child(4), .category_list li li:nth-child(5) {
	background-color: transparent;
}
.category_list li:nth-child(2), .category_list li:nth-child(3n+2) {
	/* margin: 20px 2%; */
}
.category_list li ul li {
	width: auto;
	float: none;
	border: none;
	/* margin: 20px 10px; */
	min-height: inherit;
	margin-right: 30px;
}
.category_list li ul li:nth-child(2), .category_list li ul li:nth-child(3n+2) {
	/* margin: 20px 10px; */
}
.category_list li ul li a {
	background: none !important;
	padding: 0;
	color: #FFF;
	font-size: 1.4rem;
}
.category_list li ul li ul li {
	display: none;
}
/* エントリーフォーム */
.entry_form table {
	width: 100%;
	border-collapse: collapse;
	margin: 15px 0 40px;
	border: solid 1px #CCC;
}
.entry_form table th, .entry_form table td {
	border-top: dotted #CCC 1px;
	padding: 15px;
	vertical-align: middle;
	font-size: 1.4rem;
}
.entry_form table th {
	width: 30%;
	background: #f2f2f2;
	font-weight: bold;
}
.entry_form h3 {
	border-bottom: none;
	border-left: 5px solid #006bba;
	padding-left: 15px;
}
.entry_form h3 span {
	color: red;
	padding-left: 5px;
}
.entry_form table td input, .entry_form table td textarea {
	width: 100%;
	border: solid 1px #CCC;
	color: #333;
	padding: 5px;
	border-radius: 2px;
}
.confirm table td input,
.confirm table td textarea,
.entry_form table td.disabled input,
.entry_form table td.disabled textarea {
	border: none;
	color: #333 !important;
}
.confirm table td input div,
.confirm table td textarea div,
.entry_form table td.disabled input div,
.entry_form table td.disabled textarea  div{
	color: #333 !important;
}
.entry_form table th span {
	color: red;
	padding-left: 5px;
}
.entry_form input[type="submit"],
.entry_form input[type="button"] {
	padding: 10px 30px;
	border: solid 2px #016bb9;
	color: #016bb9;
	font-weight: bold;
	text-align: center;
	font-size: 1.6rem;
	border-radius: 0;
	margin: 0 20px;
	background: #FFF;
}
.entry_form input[type="submit"].submit {
	background: #016bb9;
	color: #FFF;
}
.entry_form table td .error {
	color: red;
	margin-top: 10px;
	font-size: 1.2rem;
}
/*会場のご案内*/
.address_block {
	font-size: 0;
}
.address_block .map_area {
	display: inline-block;
	width: 40%;
	padding: 0 20px 0 0;
	vertical-align: top;
}
.address_block .map_area:hover {
	cursor: pointer;
}
.address_block .textarea {
	display: inline-block;
	width: 100%;
	font-size: 1.6rem;
}
.gotannda .address_block .textarea {
	width: 60%;
}
ul.rule_list {
	margin: 10px auto 20px;
	background: #f7f7f7;
	padding: 15px 10px;
}
ul.rule_list li {
	margin-left: 2rem;
	list-style: circle;
}
.address_block .textarea ul.rule_list li {
	margin-bottom: 5px;
}
.address_block .textarea ul.rule_list li:last-child {
	margin-bottom: 0;
}
.address_block .textarea dt {
	font-weight: bold;
}
.address_block .textarea dd {
	margin: 10px auto 20px;
}
a.arrow_link:before {
	content: "";
	display: inline-block;
	padding-right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #007bff;
}
/*モーダル*/
.modal-content {
	width: auto;
	max-height: 90vh;
	max-width: 600px;
	margin: auto;
	position: fixed;
	display: none;
	z-index: 2;
	left: 0;
	right: 0;
}
.modal-overlay {
	z-index: 1;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba( 0,0,0, 0.5 );
}
.modal-body {
	position: relative;
	padding: 0;
	text-align: center;
	box-shadow: 0px 0px 4px 4px rgba(0,0,0,0.1);
	background: #fff;
}
.modal-body .flow-scrll {
	overflow-y: scroll;
	max-height: 80vh;
	padding: 30px 30px 0;
}
.modal-body .flow-scrll img {
	margin-bottom: 20px;
}
.modal-body .btn-close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 32px;
	height: 32px;
	padding: 3px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 4px 4px rgba(0,0,0,0.1);
}
.modal-body .btn-close:hover {
	cursor: pointer;
}
.css-cancel {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	margin: 3px;
}
.css-cancel:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 3px;
	margin-top: -2px;
	background: #006cb9;
	transform: rotate(45deg);
}
.css-cancel:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 3px;
	margin-top: -2px;
	background: #006cb9;
	transform: rotate(-45deg);
}
.modal-body .btn-area {
	text-align: center;
	margin: 30px;
}
/* CLC */
/*table*/
.base_table {
	border-collapse: collapse;
	vertical-align: middle;
	width: 100%;
}
.base_table th, .base_table td {
	border: 1px solid #dbe1e8;
	padding: 8px;
}
.base_table th {
	background: #f9fafc;
}
.base_table label {
	line-height: 34px;
	margin: 0;
}
.base_table td.outline_category {
	text-align: center;
}
.base_table td.course_fee {
	text-align: center;
}
/*terms*/
.term_list ol li {
	margin-bottom: 30px;
}
.terms p.tel_info, .terms p.web_info {
	display: inline-block;
	font-size: 1.6rem;
	padding: 10px 20px;
	background: #f7f7f7;
	margin-bottom: 10px;
}
.terms dl.contact dt {
	font-weight: bold;
	margin-bottom: 10px;
}
.terms dl dd {
	margin-bottom: 20px;
}
.terms p.tel_info span, .terms p.web_info span {
	font-size: 1.2rem;
}
.terms p.tel_info span.caution, .terms p.web_info span.caution {
	margin-left: 10px;
}
.terms dl.cancel dd p {
	margin-bottom: 10px;
}
ul.rule_list li {
	margin-left: 2rem;
	list-style: circle;
	margin-bottom: 10px;
}
.term_list p {
	margin-bottom: 10px;
}
/*table_cancel*/

.base_table.cancel_list tr.sp_ttl {
	display: none;
}
.base_table.cancel_list .sp_after {
	display: none;
}
/*会社情報 ご挨拶*/
div.greeting {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-bottom: 50px;
}
div.greeting > p {
	width: 70%;
	flex-grow: 1;
}
div.greeting .name {
	padding: 0 20px;
	flex-grow: 1;
	margin-left: 30px;
}
div.greeting .name span {
	display: block;
	font-size: 1.2rem;
	margin-bottom: 5px;
}
/*研修コース一覧*/
.course_container {
	display: flex;
	flex-wrap: wrap;
}
.course_box {
	width: calc(50% - 10px);
	margin: 0 10px 20px 0;
	border: solid 1px #ccc;
	position: relative;
}
.course_box:nth-child(even) {
	margin: 0 0 20px 10px;
}
.course_box a {
	display: block;
	padding: 25px 15px 15px;
	color: #333;
	height: 100%;
}
.course_box a:hover {
	background: #f7f7f7;
	transition: 0.3s ease;
}
.course_box_data {
	margin-bottom: 10px;
}
.course_box_data p {
	display: inline-block;
	margin-right: 20px;
	font-size: 1.2rem;
}
.course_box_data p span {
	display: inline-block;
	margin-right: 10px;
	padding: 3px 5px;
	background-color: #006cb9;
	border-radius: 3px;
	font-size: 1.0rem;
	color: #fff;
	line-height: 1;
}
.course_box_tag span {
	display: inline-block;
	margin-right: 10px;
	padding: 3px 5px;
	border: solid 1px #ccc;
	background-color: #eee;
	border-radius: 3px;
	color: #999;
	font-size: 1.2rem;
	line-height: 1;
}
.course_box_tag2 {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	line-height: 0;
}
.course_box_tag2 span {
	display: inline-block;
	min-width: 80px;
	margin-left: 1px;
	padding: 4px;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
	line-height: 1;
}
.course_box_tag2 .tag_category {
	background-color: #e89823;
}
.course_box_tag2 .tag_vendor {
	background-color: #6c74d3;
}
/*VMware ラーニングクレジット*/
a.textlink_blue {
	color: #036cb9;
}
a.arrow_link:before {
	content: "";
	display: inline-block;
	padding-right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #007bff;
}
p.traction_contact {
	font-size: 1.6rem;
	margin-top: 10px;
}
p.traction_contact span.tel_num {
	font-weight: bold;
	margin-right: 5px;
}
p.traction_contact a.textlink_blue {
	margin-left: 5px;
}
.learning_credit .base_table th {
	text-align: center;
}
.learning_credit .base_table td.course_name {
	text-align: center;
}
/* よくあるご質問 */
.faq dl {
	padding: 20px;
	border-bottom: 1px solid #CCC;
}
.faq dl:first-child {
	border-top: 1px solid #CCC;
}
.faq dl dt {
	padding-bottom: 20px;
	font-weight: bold;
}
body {
	counter-reset: i;
}
.faq dl dt::before {
	counter-increment: i;
	content: "Q" counter(i) ".";
	font-size: 2.0rem;
	color: #006cb9;
	padding-right: 5px;
}
.faq dl dd {
	padding-left: 2.5em;
}
/* お申し込み方法 */
.order_flow .order_flow_box {
	padding: 20px;
	margin-bottom: 25px;
	border: 1px solid #CCC;
	position: relative;
}
.order_flow .order_flow_box::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 40px 0 40px;
	border-color: #ccc transparent transparent transparent;
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -40px;
}
.order_flow .order_flow_box:last-child::after {
	display: none;
}
.order_flow .order_flow_box h4 {
	font-size: 2.0rem;
	font-weight: bold;
	color: #006cb9;
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px solid #CCC;
}
.order_flow .order_flow_box h4 span {
	font-size: 2.4rem;
	padding-right: 5px;
}
.order_flow ul.orderlist li {
	padding-left: 1.2em;
	padding-bottom: 10px;
	position: relative;
}
.order_flow ul.orderlist li::after {
	display: block;
	content: "";
	width: 6px;
	height: 6px;
	background-color: #ccc;
	border-radius: 50%;
	position: absolute;
	top: 7px;
	left: 3px;
}
/* 表 */
.table {
	margin-bottom: 50px;
}
.table dl {
	display: flex;
	flex-wrap: wrap;
}
.table dt, .table dd {
	padding: 10px;
	border-bottom: dotted 1px #CCC;
	box-sizing: border-box;
	font-size: 1.4rem;
}
.table dl:first-of-type dt, .table dl:first-of-type dd {
	border-top: dotted 1px #CCC;
}
.table dt {
	width: 20%;
	font-weight: bold;
	background: #f7f7f7;
}
.table dd {
	width: 80%;
}
/* certify */
.certify .table {
	margin-top: 30px;
}
.certify h2 span {
	font-size: 1.4rem;
	margin-left: 20px;
}
/* リンクボックス */
div.link-box {
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 15px 20px;
}
div.link-box ul {
	display: flex;
	flex-wrap: wrap;
}
div.link-box li {
	margin-right: 20px;
}
div.link-box li:before {
	content: "";
	display: inline-block;
	padding-right: 5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #006CB9;
}
div.link-box li a:hover {
	cursor: pointer;
}
/*お問い合わせ*/
.inquiry_form table {
	border-collapse: collapse;
	font-size: 1.4rem;
	margin: 20px 0 0;
	table-layout: fixed;
	width: 100%;
}
.inquiry_form table tr {
	border-bottom: dotted 1px #CCC;
}
.inquiry_form table tr th {
	font-weight: bold;
	padding: 20px 0;
	width: 25%;
}
.inquiry_form table tr td {
	padding: 20px 0;
	width: 75%;
}
.inquiry_form .mw_wp_form table tr td label {
	display: inline-block;
	padding-right: 10px;
}
.inquiry_form table tr th .required {
	color: #E5000B;
}
.inquiry_form table tr td input[type="text"]:-webkit-autofill, .inquiry_form table tr td input[type="email"]:-webkit-autofill, .inquiry_form table tr td select:-webkit-autofill {
 -webkit-box-shadow: 0 0 0px 1000px white inset;
}
.inquiry_form table tr td input:focus, .inquiry_form .inquiry_btns li input[name="button"]:focus, .inquiry_form .inquiry_btns li input[type="submit"]:focus {
	border: 0;
	outline: none;
	box-shadow: none;
}
.inquiry_form table tr td select:focus {
	outline: none;
	outline: none;
	box-shadow: none;
}
.inquiry_form table tr td input[type="text"], .inquiry_form table tr td input[type="email"], .inquiry_form table tr td textarea {
	border: 1px solid #ccc;
	color: #404040;
}
.inquiry_form table tr td textarea {
	width: 100%;
}
.inquiry_form table tr td select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0 0 0 -3px;
	padding: 5px 12px 5px 10px;
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	box-sizing: content-box;
	border: 1px solid #ccc;
	color: #404040;
}
/*ボタン*/
.inquiry_form .inquiry_btns {
	margin: 30px auto 0;
	max-width: 400px;
	text-align: center;
}
.inquiry_form .inquiry_btns li.btn_confirm_submit input[type="submit"] {
	background: #006bba;
	border-radius: 0;
	font-size: 1.6rem;
	padding: 15px;
}
.inquiry_form .inquiry_btns li input[name="submitBack"] {
	background: #828282;
	border-radius: 0;
	font-size: 1.6rem;
	float: left;
	padding: 15px;
	width: 48%;
}
.inquiry_form .inquiry_btns li input[name="button"] {
	float: right;
	width: 48%;
}
/*よくあるご質問ボタン*/
.inquiry_form a.more {
	margin: 20px auto 30px;
}
/*お電話でのお問い合わせ*/
.inquiry_form .tel_number {
	background: #f7f7f7;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 15px 0 0;
	padding: 15px 20px;
	text-align: center;
}
/*エラー*/
.inquiry_form .mw_wp_form table tr td .error {
	color: #E5000B;
	margin-top: 5px;
}
/*お問い合わせ完了*/
.inquiry_form h4 {
	color: #0F6DB7;
	margin-bottom: 15px;
}
/*特定商取引法に基づく表示*/
.about dl {
	width: 100%;
	border-top: dotted 1px #CCC;
}
.about dl dt, .about dl dd {
	padding: 10px;
	box-sizing: border-box;
	font-size: 1.4rem;
}
.about dl:last-child {
    border-bottom: dotted 1px #CCC;
}
.about dl dt {
	width: 20%;
	font-weight: bold;
	background: #f7f7f7;
}
.about dl dd {
	width: 80%;
}
a.arrow_link:before {
	content: "";
	display: inline-block;
	padding-right: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #007bff;
}
p.traction_contact {
	font-size: 1.6rem;
	margin-top: 10px;
}
p.traction_contact span.tel_num {
	font-weight: bold;
	margin-right: 5px;
}
p.traction_contact a.textlink_blue {
	margin-left: 5px;
}
.transactionlaw .about dl {
	display: table;
}
.transactionlaw .about dl dt, .transactionlaw .about dl dd {
	float: none;
	display: table-cell;
}

/*会社情報-企業理念-*/
.company_idea h3 {
	border-top: solid 3px #e6e6e6;
	border-bottom: solid 3px #e6e6e6;
	margin: 0;
	padding: 20px 40px;
	line-height: 0;
	text-align: center;
}
.company_idea h3 img {
	max-width: 364px;
}
.company_idea .idea_figure {
	text-align: center;
	margin: 0;
	padding: 40px 0;
	line-height: 0;
}
.company_idea .idea_figure img {
	max-width: 455px;
}
.company_idea .idea_quote {
	display: flex;
	margin: 0 20px 60px;
}
.company_idea .idea_quote article {
	background-color: #f7f7f5;
}
.company_idea .idea_quote article:nth-child(1) {
	width: 385px;
	margin-right: 20px;
}
.company_idea .idea_quote article:nth-child(2) {
	width: 285px;
}
.company_idea .idea_quote h4 {
	color: #006cb9;
	font-size: 2.1rem;
	border-bottom: solid 1px #ccc;
	margin: 0;
	padding: 30px 30px 20px;
}
.company_idea .idea_quote h4 span {
	font-size: 1.3rem;
	letter-spacing: 0;
}
.company_idea .idea_quote p {
	font-size: 1.3rem;
	padding: 20px 30px 30px;
	letter-spacing: 0;
}
/*NGN-SFで学ぶべき３つの理由*/
.reason_vendor {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 80%;
	margin: 20px auto 0;
}
.reason_vendor li {
	margin-top: 20px;
}
/*教育訓練給付制度対象講座*/
.benefit p {
	margin-bottom: 10px;
}
.benefit br.pc_none {
	display: none;
}
.benefit .base_table {
	font-size: 1.4rem;
	margin-bottom: 30px;
}
.benefit .base_table td {
	text-align: center;
}
.benefit .base_table tr:nth-child(2) td:nth-child(1) {
	width: 40%;
}
.benefit .base_table tr:nth-child(2) td:nth-child(2) {
	width: 60%;
}
.benefit .base_table tr:nth-child(3) td {
	text-align: left;
}
.benefit .base_table .num {
	font-size: 1.8rem;
}
.sch-tbl {
	margin: 10px auto;
	border-collapse: collapse;
}
.sch-tbl th,
.sch-tbl td {
	padding: 10px;
	border: solid 1px #CCC;
    vertical-align: middle;
	text-align: center;
    font-size: 1.4rem;
}
.sch-tbl th{
	background: #006cb9;
	text-align: center;
	color: #FFF;
}
.sitemap {
	width: 48%;
	float: left;
}
.cf .sitemap:nth-child(1) {
	margin-right: 4%;
}
.sitemap li {
	padding: 10px;
	border-bottom: dotted 1px #CCC;
}
.sitemap li:first-child {
	border-top: dotted 1px #CCC;
}
.sitemap li  a {
	position: relative;
}
.sitemap li ul {
	margin-top: 5px;
    margin-left: 10px;
}
.sitemap li ul li {
	border-bottom: none;
}
.sitemap li ul li:first-child {
	border-top: none;
}
.hojin_box {
	display: flex;
}
.hojin_box article {
	width: 33%;
	margin-right: 20px;
	padding: 20px;
	background-color: #f7f7f7;
}
.hojin_box article:last-child {
	margin-right: 0;
}
.hojin_box article {
	width: 33%;
	margin-right: 20px;
	padding: 20px;
	background-color: #f7f7f7;
}
.hojin_box article h4 {
	text-align: center;
}
.hojin_img {
	text-align: center;
	margin: 30px;
}
.hojin_img img {
	max-width: 430px;
}
.hojin_tel {
	text-align: center;
	font-size: 2.0rem;
	background-color: #f7f7f7;
	padding: 20px;
	margin-top: 20px;
}
.post-27 h3 {
  margin-bottom: 20px;
}
.post-27 .business-list {
  margin-bottom: 30px;
  line-height: 2.0;
  margin-left: 1.5em;
}
.post-27 .business-list li {
  text-indent: -1em;
}
.post-27 .business-list li:before {
  content:'';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #828282;
  position: relative;
  top: -3px;
  margin-right: 0.5em;
}

/*モーダル*/
.post-27 .modal-content {
	width: auto;
	max-height: 90vh;
	max-width: 600px;
	margin: 0;
	background: #fff;
	position: fixed;
	display: none;
	z-index: 2;
	box-shadow: 0px 0px 4px 4px rgba(0,0,0,0.1);
}
.post-27 #modal-overlay {
	z-index: 1;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba( 0,0,0, 0.5 );
}
.post-27 .modal-body {
	position: relative;
	padding: 0;
	text-align: center;
}
.post-27 .modal-body .flow-scrll {
	overflow-y: scroll;
	max-height: 80vh;
	padding: 30px 30px 0;
}
.post-27 .modal-body .btn-close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 32px;
	height: 32px;
	padding: 3px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 4px 4px rgba(0,0,0,0.1);
}
.post-27 .modal-body .btn-close:hover {
	cursor: pointer;
}
.post-27 .css-cancel {
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	margin: 3px;
}
.post-27 .css-cancel:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 3px;
	margin-top: -2px;
	background: #006cb9;
	transform: rotate(45deg);
}
.post-27 .css-cancel:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 3px;
	margin-top: -2px;
	background: #006cb9;
	transform: rotate(-45deg);
}
.post-27 .modal-body .btn-area {
	text-align: center;
	margin: 30px;
}
.post-27 .address-txt {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	text-align: left;
}
.post-27 .address-txt span {
	font-weight: bold;
}
.post-27 .address-txt p {
	flex-grow: 1;
	margin-right: 10px;
	margin-bottom: 10px;
}
.post-27 .address-txt p:first-of-type {
	width: 40%;
}
.post-27 .address-txt p:last-of-type {
	width: 50%;
}


@media print {
.modal-open header#nav,
.modal-open div#left_area,
.modal-open .map_info h2,
.modal-open .entry-content section,
.modal-open footer#colophon,
.modal-open .modal-overlay,
.modal-open .modal-close,
.modal-body .btn-area button {
	display: none !important;
}
.modal-open .entry-content {
    float: none;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
}
.map1 , .map2 {
	position: relative;
	width: 100%;
}
.map1 #modal-map1,
.map2 #modal-map2 {
	position:absolute;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block !important;
}
.flow-scrll {
	overflow-y: hidden!important;
}
.modal-open .modal-body {
	display: inherit !important;
	width: 100%;
	margin: 0 auto 0;
    box-shadow: none;
}
}

.modal-syncer:hover {
  cursor: pointer;
}