@charset "utf-8";
/* 下層共通 */
body {
	& .sub_menu {
		display: none;
	}
	& .kv {
		position: relative;
		z-index: -10;
		& .image {
			background: url("../img/second/kv.jpg") no-repeat;
			display: block;
			height: 240px;
			width: 100%;
			background-size: cover;
			background-position: center;
			@media (min-width: 980px){
				background: url("../img/second/kv_pc.jpg") no-repeat;
				height: 300px;
				background-size: cover;
				background-position: center;
			}
		}
		& h1, h2 {
			position: absolute;
			margin: 0;
			transform: translateY(-50%);
			color: #ffffff;
			font-weight: bold;
			font-size: 200%;
			position: absolute;
			top: calc((100% + var(--header-bottom, 80px)) / 2);
			left: 5%;
			width: 90%;
			@media (min-width: 980px){
				width: calc(100% - 430px);
				max-width: 855px;
				top: 50%;
				font-size: 312.5%;
				left: 300px;
				transform: translate(-0, -50%);
				-webkit-transform: translate(0, -50%);
				-ms-transform: translate(0, -50%);
			}
			@media (min-width: 1399px){
				width: calc(100% - 450px);
				max-width: 1000px;
			}
		}
	}
	.breadcrumbs {
		display: none;
		@media (min-width: 980px){
			display: block;
			padding: 0;
			margin-top: -30px;
			& article {
				& div {
					& ul {
						display: flex;
						align-items: center;
						flex-wrap: nowrap;
						width: 100%;
						& li, a {
							color: #ffffff;
							font-weight: bold;
						}
						& li {
							font-size: 87.5%;
							& a {
								padding-right: 0.5em;
							}
							&:first-child, &:nth-child(2){
								flex-shrink: 0;
								white-space: nowrap;
							}
							&:nth-child(3) {
								flex: 1 1 auto;
								min-width: 0;
								white-space: nowrap;
								overflow: hidden;
								text-overflow: ellipsis;
							}
						}
						& li:nth-child(n+2) {
							&:before {
								content: "/";
								display: inline-block;
							}
						}
					}
				}
			}
		}
	}
	& .note {
		font-size: 75%;
	}
	& div:has(table) + .note {
		margin-top: 0.5em;
		margin-bottom: 40px;
	}
	& .caution {
		color: var(--pink);
		margin-top: 10px;
	}
	& .accordion_btn {
		position: relative;
		&::after {
			content: url(../img/common/ico_arrow-b.svg);
			display: inline-block;
			width: 1.5em;
			height: 1.5em;
			position: absolute;
			right: 0;
			transition: transform 0.5s ease;
			transform: rotate(90deg);
		}
	}
	& .accordion_btn.open {
		&::after {
			transform: rotate(-90deg);

		}
	}
	& .pager {
		margin-top: 20px;
		font-size: 87.5%;
		@media (min-width: 768px){
			margin-top: 30px;
		}
		& > span.current {
			font-weight: bold;
		}
		& .page-numbers:nth-of-type(n+2),
		& a.page-numbers + span.page-numbers,
		& span.page-numbers + a.page-numbers {
            margin-left: 2em;
		}
		& .next {
			text-decoration: none;
		}
	}
}
/* セミナー関連 */
main {
	@media (min-width: 980px){
		margin-top: 12px;
	}
	& section {
		& > article {
			& .smn_img {
				& img {
					border-radius: 10px;
				}
			}
			& > div {
				/* .wp-block-lazyblock-program + .wp-block-lazyblock-program{
					margin-top: 20px;
				} */
				& > p + h2,
				& > ul + h2,
				& > ol + h2 {
					margin-top: 60px;
					@media (min-width: 768px){
						margin-top: 80px;
					}
				}
				& > p + h3 {
					margin-top: 50px;
					@media (min-width: 768px){
						margin-top: 60px;
					}
				}
				& ul {
					& li {
						& a {
							display: block;       
							position: relative; 
							line-height: 1.4;
							text-decoration: none;
							@media (min-width: 768px){
								padding-left: 1.3em;
							}
							& > p {
								margin-left: 1.25em;
								display: inline;
								@media (min-width: 768px){
									margin-left: 0;
								}
							}
						}
						& span {
							display: inline-flex;
							align-items: center;
							line-height: 1.4;
						}
						&.standard_course,
						&.genre_course,
						&.new_course {
							& a::before {
								position: absolute;
								left: 0;
								top: 0.1em;
								width: 1em;
								height: 1em;
							}
						}
					}
					& li.standard_course {
						& span::before, a::before {
							content: url(../img/common/ico_arrow-b.svg);
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
						}
						& span::before { margin-right: 2px; } /* 凡例の時の隙間 */
					}
					& li.genre_course {
						& span::before, a::before {
							content: url(../img/common/ico_arrow-green.svg);
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
						}
						& span::before { margin-right: 2px; }
					}
					& li.new_course {
						& span::before, a::before {
							content: url(../img/common/ico_arrow-purple.svg);
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
						}
						& span::before {
							margin-right: 2px;
						}
					}
					& li.joint_hosting {
						/* 凡例（span）の先頭につく星マーク用 */
						& span::before {
							content: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffb92c'%3E%3Cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3E%3C/svg%3E");
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
							margin-right: 2px;
						}
						/* 一覧表（a）の末尾につく星マーク用 */
						& a::after {
							content: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffb92c'%3E%3Cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3E%3C/svg%3E");
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
							margin-left: 4px;
							vertical-align: -0.15em;
						}
					}
					& li.acfe_contents {
						& span::before {
							content: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff6666'%3E%3Cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3E%3C/svg%3E");
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
							margin-right: 2px;
						}
						& a::after {
							content: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff6666'%3E%3Cpath d='M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z'/%3E%3C/svg%3E");
							display: inline-block;
							flex-shrink: 0;
							width: 1em;
							height: 1em;
							margin-left: 4px;
							vertical-align: -0.15em;
						}
						& span::before {
							margin-right: 2px;
						}
					}
				}
				& ul.remarks {
					@media (min-width: 1150px) {
						display: flex;
						align-items: center;
						justify-content: end;
					}
					& li {
						display: inline-block;
						& span {
							font-size: 10px;
							line-height: 1;
							@media (min-width: 768px) {
								font-size: 75%;
							}
						}
					}
					& li:not(:last-child) {
						@media (min-width: 1150px){
							margin-right: 10px;
						}
					}
				}
				& .seminar_filter {
					position: relative;
					margin-top: 30px;
					& form {
						background-color: var(--bg);
						padding: 20px 15px;
						border-radius: 10px;
						@media (min-width: 768px){
							padding: 40px 35px;
						}
						&:hover {
							cursor: pointer;
						}
						& > p:not(.accordion_btn) {
							color: var(--black);
							font-weight: bold;
							font-size: 5.333vw;
							margin-bottom: 18px;
							@media (min-width: 768px){
								font-size: 162.5%;
								margin-bottom: 30px;
							}
						}
						& > p.accordion_btn {
							font-size: 5.333vw;
							font-weight: bold;
							@media (min-width: 768px){
								font-size: 162.5%;
							}
						}
						& > div {
							margin-top: 1em;
							/* @media (min-width: 768px){
								margin-bottom: 30px;
							} */
							& ul {
								@media (min-width: 768px){
									display: flex;
									flex-direction: column;
									flex-wrap: wrap;
									height: 21em;
									align-content: space-between;
								}
								& li {
									@media (min-width: 768px) {
										width: 48%;
									}
									& .custom-date-wrapper {
										position: relative;
										display: inline-block;
										vertical-align: middle;
										& .custom-date-display {
											display: inline-block;
											padding: 5px 10px;
											border: 1px solid #cccccc;
											border-radius: 20px;
											background-color: #ffffff;
											font-size: 75%;
											line-height: 1;
											width: 100px;
											box-sizing: border-box;
											color: #333;
											pointer-events: none; 
										}
										& .custom-date-input {
											position: absolute;
											top: 0;
											left: 0;
											width: 100%;
											height: 100%;
											opacity: 0;
											cursor: pointer;
											box-sizing: border-box;
											font-size: 16px !important; 
										}
										& .custom-date-input::-webkit-calendar-picker-indicator {
											position: absolute;
											top: 0;
											left: 0;
											width: 100%;
											height: 100%;
											opacity: 0;
											cursor: pointer;
											margin: 0;
											padding: 0;
										}
									}
									& .item-label {
										font-size: 3.733vw;
										font-weight: bold;
										@media (min-width: 768px){
											font-size: 100%;
											cursor: auto;
										}
									}
									& .category-button {
										& input[type="checkbox"],
										& input[type="radio"] {
											display: none;
										}
									}
									& .category-button:nth-of-type(n+3) {
										& span {
											margin-top: 5px;
											display: inline-block;

										}
									}
									& .button-text, .search_text, select, input[name="month_start"], input[name="month_end"] {
										display: inline-block;
										padding: 5px 10px;
										border: #cccccc solid 1px;
										cursor: pointer;
										border-radius: 20px;
										background-color: #ffffff;
										line-height: 1;
									}
									& .button-text, select, input[name="month_start"], input[name="month_end"]  {
										font-size: 75%;
									}
									& .search_text {
										font-size: 87.5%;
										margin-top: 16px;
										width: stretch;
										width: -webkit-fill-available;
									}
									& select {
										line-height: 1.4;
									}
									& .category-button input[type="checkbox"]:checked + .button-text,
									& .category-button input[type="radio"]:checked + .button-text {
										color: var(--blue_bg);
										border-color: var(--blue_bg);
									}
									.date-wrap {
										position: relative;
										display: inline-block;
									}

									.date-placeholder {
										position: absolute;
										left: 10px;        /* inputのpaddingに合わせて位置調整 */
										top: 50%;
										transform: translateY(-50%);
										color: #999999;    /* プレースホルダーらしいグレー色 */
										background-color: #ffffff; /* 白背景でブラウザ標準の「年/月/日」を覆い隠す */
										width: calc(100% - 35px); /* 右端のカレンダーアイコンは隠さないように幅を計算 */
										height: 80%;
										display: flex;
										align-items: center;
										font-size: 87.5%;
										pointer-events: none; 
									}
								}
								& li:first-of-type {
									& div {
										display: inline-block;
									}
								}
								& li:nth-child(n+2) {
									margin-top: 1em;
								}
								& li:nth-child(5) {
									@media (min-width: 768px) {
										margin-top: 0;
									}
								}
								& li:last-child {
									& label {
										position: relative;
										& button {
											width: 1.5em;
											height: 1.5em;
											position: absolute;
											top: 0.5em;
											right: 0.5em;
										}
									}
								}
							}
						}
						& .form-footer {
							margin: 60px auto 0;
							& button {
								margin-top: 0;
							}
						}
					}
					& .switch_past_link {
						position: absolute;
						left: 15px;
						font-size: 75%;
						bottom: 70px;
						@media (min-width: 768px) {
							left: 35px;
							bottom: 85px;
						}
					}
				}
				& .list_2 {
					& li {
						&:nth-child(n+2) {
							margin-top: 10px;
							@media (min-width: 768px){
								margin-top: 0;
							}
						}
						& a {
							text-decoration: none;
							background-color: var(--bg);
							height: 70px;
							display: block;
							border-radius: 10px;
							padding: 15px;
							display: flex;
							@media (min-width: 768px){
								height: 90px;
							}
							& img {
								width: 40px;
								height: auto;
								@media (min-width: 768px){
									width: 60px;
								}
							}
							& span {
								margin-left: 5px;
								display: inline-block;
								font-size: 4.533vw;
								display: flex;
								line-height: 1;
								align-items: center;
								@media (min-width: 768px){
									font-size: 125%;
									margin-left: 16px;
									
								}
								&::after {
								background: url(../img/common/ico_arrow-b.svg) no-repeat;
								content: "";
								display: inline-block;
								width: 1em;
								height: 1em;
								margin-left: 5px;
								flex-shrink: 0;
								}
							}
						}
						& ::after {
							width: 16px;
							height: 18px;
							margin-left: 5px;
							
						}
					}
				}
			& .program_note_text {
				font-size: 75%;
				margin-top: 1em;
				& a {
					margin-top: 1em;
					display: inline-block;
					font-size: 116.66%;
					font-weight: bold;
					color: var(--pink);
				}
			}
			}
			& .introduction {
				margin-top: 20px;
				background-color: var(--bg);
				padding: 20px;
				border-radius: 10px;
				@media (min-width: 768px) {
					padding: 35px;
					display: grid;
					grid-template-columns: 120px 1fr;
					grid-template-rows: auto max-content 1fr;
					gap: 0 20px;
				}
				& h5 {
					color: var(--blue_bg);
					font-weight: bold;
					font-size: 112.5%;
					margin-top: 0 !important;
					margin-bottom: 0 !important;
					@media (min-width: 768px) {
						font-size: 125%;
						margin-top: 0 !important;
						margin-bottom: 0 !important;
					}
				}
				& > h5:first-of-type {
					@media (min-width: 768px) {
						grid-column: 1 / -1;
						margin-bottom: 15px; /* 下の要素との余白 */
					}
				}
				& > div {
					margin-top: 10px;
					@media (min-width: 768px) {
						margin-top: 15px;
					}
				}
				& .business_title {
					display: flex;
					gap: 1em;
					@media (min-width: 768px) {
						display: contents;
					}
					& > p {
						@media (min-width: 768px) {
							margin-top: 15px;
						}
					}
					& p.lecturer_img_p {
						width: 100px;
						flex-shrink: 0;
						@media (min-width: 768px) {
							width: 120px;
							grid-column: 1 / 2;
							grid-row: 2 / 4;
						}
						& img {
							border-radius: 10px;
							width: 100%;
						}
					}
					& p.lecturer_info_p {
						font-size: 87.5%;
						@media (min-width: 768px) {
							grid-column: 2 / 3;
							grid-row: 2 / 3;
							font-size: 100%;
						}
					}
					& p {
						& span.sp {
							font-size: 114.28%;
						}
						& span.pc {
							margin-top: 10px;
							font-size: 112.5%;
						}
					}
				}
				& .profile {
					margin-top: 20px;
					@media (min-width: 768px) {
						grid-column: 2 / 3;
						grid-row: 3 / 4;
						margin-top: 15px;
						align-self: start;
						width: auto;
						margin-left: 0;
					}
					& h5 + p {
						margin-top: 10px;
						font-size: 87.5%;
					}
				}
			}
			& .venue {
				margin-top: 20px;
				@media (min-width: 768px) {
					display: flex;
					gap: 4%;
				}
				& .map {
					margin-top: 0 !important;
					@media (min-width: 768px) {
						width: 48%;
					}
					& iframe {
						width: 100%;
						height: 185px;
						@media (min-width: 768px) {
							height: 210px;
						}
					}
				}
				& div {
					margin-top: 20px;
					@media (min-width: 768px) {
						margin-top: 0;
					}
					& dl {
						margin-top: 1.5em;
						& dt {
							line-height: 1.6;
						}
						& dd {
							font-size: 87.5%;
							margin-top: 1em;
							line-height: 1.5;
						}
					}
					& dl:nth-of-type(n+2) {
						margin-top: 20px;
						& dt {
							font-size: 87.5%;
						}
					}
					& p.access {
						margin-top: 35px;
					}
				}
			}
			.result_no {
				&.hit {
					& span {
						color: var(--pink);
						font-size: 150%;
					}
				}
			}
		}
	}
	/* アンカーリンクの着地位置をヘッダーの高さ分下げる */
	& section[id], div[id] {
		scroll-margin-top: 80px;
		@media (min-width: 980px){
			scroll-margin-top: 40px;
		}
	}
	& section {
		padding: 40px 5%;
		@media (min-width: 980px){
			padding: 50px 0;
		}
	}
	& section:first-of-type {
		padding-top: 80px;
		@media (min-width: 980px){
			padding-top: 100px;
		}
	}
	/* & section:nth-of-type(n+2) {
		padding: 40px 20px;
		@media (min-width: 980px){
			padding: 50px 0;
		}
	} */
	& section:last-of-type {
		padding-bottom: 80px;
		@media (min-width: 980px){
			padding-bottom: 100px;
		}
	}
}

section.program_list {
	& > article {
		& div.wrapper {
			& div:has(table) {
				overflow-x: auto;
				-webkit-overflow-scrolling: touch;
				position: relative;
				@media (max-width: 979px) {
                    max-height: 420px;
                    overflow-y: auto;
                    border-bottom: #cccccc solid 1px;
                }
			}
			& table {
				width: max-content;
				table-layout: fixed;
                border-collapse: separate;
                border-spacing: 0;
                border-top: #cccccc solid 1px;
				& tr {
					& th, td {
						padding: 8px;
						width: calc(868px / 4);
						min-width: 217px;
						white-space: normal;
                        border-bottom: #cccccc solid 1px;
                        box-sizing: border-box;
					}
					& th:first-of-type {
                        width: 132px;
                        min-width: 132px;

						background-color: var(--bg);
                    }
					&:first-of-type th:first-of-type {
                        z-index: 3;
                    }
					& th {
						font-size: 81.25%;
						background-color: var(--bg);
						@media (max-width: 979px) {
							position: sticky;
							top: 0;
							z-index: 4; /* 1列目の固定(z-index: 2-3)より上に */
							background-color: var(--bg);
						}
					}
					& td {
						font-size: 75%;
						background-color: #ffffff;
                    	vertical-align: top;
                    	white-space: normal;
						& ul {
							& li {
								& a {
									text-decoration: none;
									line-height: 1.3;
								}
								&:nth-child(n+2) {
									margin-top: 1em;
								}
							}
						}
					}
				}
				& tr:first-of-type {
                    & th {
						color: var(--black);	
					}
				}
				& tr:first-of-type,
				& tr:nth-of-type(n+2) {
					& th {
						position: sticky;
                        left: 0;
                        z-index: 2;
					}
				}
				& tr.jfba_co-hosted_content,
				& .acfe_japan {
					display: none;
				}
			}
		}
		& h2 + div {
			display: flex;
			align-items: center;
			margin-bottom: 20px;
			justify-content: space-between;
			& h3 {
				margin: 0;
			}
			& form {
				display: flex;
				align-items: center;
				line-height: 1;
				position: relative;
				width: max-content;
				& span.switch_label {
					font-size: 75%;
					font-weight: bold;
					background-color: #333333;
					padding: 6px 10px;
					color: #ffffff;
					border-radius: 6px 0 0 6px;
				}
				&::after {
					content: "";
					position: absolute;
					right: 10px;
					top: 50%;
					width: 10px;
					height: 8px;
					background: url(../img/common/ico_btn.svg) no-repeat center;
					background-size: contain;
					transform: translateY(-50%) rotate(90deg); 
					pointer-events: none; 
				}

				& select {
					padding: 5px 26px 5px 12px;
					font-size: 75%;
					border: 1px solid #cccccc;
					border-radius: 0 5px 5px 0;
					background-color: #ffffff;
					cursor: pointer;
					appearance: none;
					-webkit-appearance: none;
					border-left: none;
				}
			}
		}
	}
}

section {
	& > article {
		& > div {
			& .list_3 {
				display: block;
				@media (min-width: 768px) {
					display: flex;
					flex-wrap: wrap;
					gap: 2%;
					align-items: flex-start;
				}
				& > div {
					@media (min-width: 768px){
						width: 32%;
					}
				}
				& > div:nth-of-type(n+2) {
					margin-top: 35px;
					@media (min-width: 768px){
						margin-top: 0;
					}
				}
				& > div:nth-of-type(n+4) {
					@media (min-width: 768px){
						margin-top: 35px;
					}
				}
			}
			.closed_msg {
				padding: 10px 20px;
				text-align: center;
				border: solid 1px #333333;
				width: fit-content;
			}
		}
	}
}
/* 開催間近のセミナー */
section.seminar {
	& > article {
		& ul.smn_list {
			& > li {
				background-color: var(--bg);
				border-radius: 10px;
				padding: 20px 16px 60px;
				position: relative;
				@media (min-width: 768px){
					padding: 20px 16px
				}
				& .schedule,
				& > div {
					display: flex;
				}
				& > div {
					margin-top: 10px;
					@media (min-width: 768px){
						margin-top: 0;
					}
				}
				& .schedule {
					line-height: 1;
					align-items: flex-start;
					& span.times {
						white-space: nowrap;
						background-color: var(--black);
						color: #ffffff;
						border-radius: 20px;
						padding: 6px 10px 4px;
						margin-right: 0.5em;
						line-height: 1;
						font-size: 10px;
						@media (min-width: 768px) {
							font-size: 75%;
							padding: 6px 10px 5px;
						}
					}
					& span.date {
						font-size: 87.5%;
						font-weight: bold;
						display: block;
					}
				}
				& > .smn_ttl {
					display: block;
					@media (min-width: 768px){
						display: none;
					}
					& a {
						font-size: 112.5%;
						text-decoration: underline;
						& span {
							font-size: 80%;
						}
						& .total_sessions {
							display: inline;
						}
					}
				}
				& > div {
					gap: 12px;
					& > .smn_img {
						width: 34.5%;
						max-width: 100px;
						@media (min-width: 768px){
							width: 13%;
							min-width: 120px;
						}
					}
					& > div {
						max-width: calc(100% - 110px);
						& .smn_ttl {
							display: none;
							@media (min-width: 768px) {
								display: block;
							}
							& a {
								text-decoration: underline;
								padding-left: 0;
								@media (min-width: 768px) {
									font-size: 125%;
								}
								& .total_sessions {
									display: inline;
									font-size: 80%;
								}
								& .theme_name {
									font-size: 70%;
									display: block;
								}
							}
						}
					}
				}
				& .seminar_type {
					@media (min-width: 768px){
						display: flex;
						margin-top: 8px;
					}
					& li {
						display: inline-block;
						padding: 5px 10px 3px;
						border-radius: 2px;
						font-weight: bold;
						background-color: #ffffff;
						line-height: 1;
						margin-right: 1em;
						text-align: center;
						font-size: 2.666vw;
						@media (min-width: 768px) {
							padding: 5px 0 3px;
							font-size: 75%;
							width: 9em;
						}
					}
					& li:nth-child(n+2) {
						margin-top: 0.5em;
						@media (min-width: 768px){
							margin-top: 0;
						}
					}
				}
				& .seminar_level {
					font-size: 75%;
					font-weight: bold;
					@media (min-width: 768px) {
						font-size: 81.25%;
						margin-top: 5px;
					}
				}
				& .schedule_text {
					font-size: 87.5%;
					font-weight: bold;
					margin-top: 2px;
				}
				& .see_more {
					width: fit-content;
					position: absolute;
					bottom: 20px;
					right: 16px;
					@media (min-width: 980px) {
						margin: 0;
						bottom: calc(50% - 15px);
					}
					& a {
						padding: 4px 20px;
					}
				}
			}
			& li:nth-child(n+2) {
				margin-top: 10px;
				
			}
		}
	}
}
/* セミナー詳細ページ */
.single-event {
	& main {
		& section {
			& > article {
				& > div {
					& h1 {
						& span {
							font-size: 80%;
						}
					}
					& .intro {
						@media (min-width: 768px) {
							display: flex;
						}
						& .smn_img {
							@media (min-width: 768px) {
								width: 32%;
								max-width: 320px;
							}
						}
						& .text {
							margin-top: 1em;
							line-height: 1.75;
							@media (min-width: 768px) {
								margin-top: 0;
								font-size: 112.5%;
								margin-left: 30px;
								width: calc(68% - 30px);
							}
						}
					}
					& .intro + div {
						margin-top: 20px;
						& table {
							& tr {
								& th, td {
									@media (min-width: 768px) {

									}
								}
								& th {
									width: 132px;
									@media (max-width: 767px) { /* スマホのみ */
										padding: 12px;
									}
								}
								& td {
									padding: 9px 12px;
									@media (min-width: 768px) {
										padding: 16px 15px;
									}
									& ul {
										& li {
											display: inline;
										}
										& li:nth-child(n+2)::before {
											content: "+";
											display: inline-block;
											margin: 0 0.25em;
										}
									}
									& span.note {
										font-size: 75%;
										display: block;
										margin-top: 0.5em;
										line-height: 1.5;
									}
									& a {
										color: var(--blue_bg);
									}
								}
							}
						}
					}
					& > h4 {
						font-weight: bold;
						font-size: 125%;
						margin-top: 2em;
						margin-bottom: 15px;
					}
					& .btn {
						@media (min-width: 768px) {
							display: flex;
						}
						& li {
							width: 270px;
							& a {
								font-weight: bold;
								background-color: var(--yellow);
								padding: 10px 20px;
								border-radius: 20px;
								display: block;
								text-align: center;
								line-height: 1;
							}
							&:nth-child(n+2) {
								margin-top: 10px;
								@media (min-width: 768px) {
									margin-top: 0;
									margin-left: 10px;
								}
							}
						}
					}
					& .detail {
						/* padding-top: 80px;
						@media (min-width: 980px) {
							padding-top: 100px;
						} */
						& h3 + h4 {
							font-size: 137.5%;
							@media (min-width: 980px) {
								font-size: 162.5%;
							}
						}
						& .program-session-wrap {
							& h4 {
								margin-top: 50px;
							}
							& p {
								line-height: 1.7;
							}
						}
						& > div:nth-of-type(n+2){
							& h4 {
								margin-top: 50px;
							}
						}
						& .program_text {
							margin-top: 1em;
							margin-bottom: 1em;
						}
						& .program_date, .cpd_info, .training_code_info, .afp_cfp_info {
							font-weight: bold;
							& > span {
								font-weight: normal;
							}
						}
						& > p {
							font-size: 87.5%;
							@media (min-width: 768px) {
								font-size: 100%;
							}
							& span {
								margin-bottom: 20px;
								font-size: 100%;
							}
						}
						& .attention {
							margin-top: 20px;
							padding: 20px;
							border: #cccccc solid 1px;
							border-radius: 10px;
							background-color: #ffffff;
							@media (min-width: 768px) {
								margin-top: 40px;
							}
							& > p {
								color: var(--blue_bg);
								font-size: 100%;
								font-weight: bold;
								margin-bottom: 15px;
								@media (min-width: 768px) {
									font-size: 125%;
								}
							}
							& ul {
								& li {
									font-size: 87.5%;
									padding-left: 1em;
									text-indent: -1em;
									@media (min-width: 768px) {
										font-size: 100%;
									}
									&::before {
										content: "";
										display: inline-block;
										width: 1em;
										height: 1em;
										background-color: var(--blue_bg);
										border-radius: 50%;
										margin-right: 0.25em;
										position: relative;
										top: 2px;
									}
								}
								& li:nth-child(n+2) {
									margin-top: 5px;
								}
							}
						}
					}
				}
			}
		}
	}
	& ul.link_back {
		position: sticky;
		position: fixed;
		bottom: 30px;
		right: 0;
		text-decoration: none;
		/* display: flex;
		justify-content: flex-end; */
		& li {
			& a {
				text-decoration: none;
				font-size: 87.5%;
				padding: 10px;
				background-color: #ffffff;
				border: 1px solid #cccccc;
				border-radius: 10px 0 0 10px;
				width: 40px;
				height: 150px;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				text-align: center;
				transition: background-color .3s;
				&::after {
					content: url(../img/common/ico_arrow-b.svg);
					display: inline-block;
					width: 1em;
					height: 1em;
					margin-top: 2px;
				}
				& span {
					display: inline-block;
					width: 1em;
					line-height: 1.1;
				}
			}
		}
		& li:nth-child(n+2) {
			margin-top: 10px;
			& a {
				height: 120px;
			}
		}
	}2
}

section#faq {
	& article {
		& div {
			& div.wp-block-lazyblock-accordion {
				& h2 {
					margin-top: 100px;
				}
				& dl {
					margin-top: 10px;
					background-color: var(--bg);
					padding: 20px;
					border-radius: 10px;
					& dt {
						position: relative;
						padding-right: 25px;
						display: flex;
						align-items: baseline;
						cursor: pointer;
						&::before {
							content: "Q.";
							font-size: 125%;
							color: var(--blue_bg);
							margin-right: 10px;
							flex-shrink: 0;
						}
						&::after {
							content: none;
						}
						& span {
							position: absolute;
							top: 10px;
							right: 0;
							width: 20px;
							height: 2px;
							background-color: var(--black);
							transition: all 0.3s ease-out;
						}
						& span::after {
							content: '';
							position: absolute;
							top: 0;
							right: 0;
							width: 20px;
							height: 2px;
							background-color: var(--black);
							-webkit-transform: rotate(45deg);
							transform: rotate(90deg);
							transition: all 0.3s ease-out;
						}
					}
					& dt.open {
						span::after {
							transform: rotate(180deg);
						}
					}
					& dd {
						margin-top: 10px;
						font-size: 87.5%;
						line-height: 1.5;
						display: flex;
						align-items: baseline;
						&::before {
							content: "A.";
							font-size: 142.85%;
							color: var(--pink);
							margin-right: 16px;
							flex-shrink: 0;
							font-weight: bold;
						}
					}
				}
				
			}
			& div.wp-block-lazyblock-accordion:first-of-type {
				& h2 {
					margin-top: 0;
				}
			}
		}
	}
}

/* 受講者の声 */
section#voice {
	& article {
		& div {
			& ul {
				& li {
					@media (min-width: 768px) {
						display: flex;
					}
					& > div {
						padding: 20px;
						border: 1px solid #CCCCCC;
						border-radius: 10px;
						width: 100%;
						height: 100%;
						margin-top: 0;
						@media (min-width: 768px) {
							padding: 25px;
						}
/*
						& .voice_content + related_seminar {
							margin-top: 5px;
							& p {
								font-size: 87.5%;
							}
						}
*/
						& .voice_content {
							& p {
								margin-top: 0;
								font-size: 87.5%;
							}
						}
						& .related_seminar {
							margin-bottom: 5px;
							& span {
								color: var(--blue_bg);
							}
						}
						& .voice_person {
							& span {
								font-size: 75%;
							}
						}
					}
					& a {
						background: none;
						padding: 0;
						text-decoration: underline;
						width: auto;
						height: auto;
						font-size: 75%;
						font-weight: bold;
					}
				}
			}
			& .alm-btn-wrap {
				.alm-load-more-btn {
					background-color: var(--blue_bg);
					color: #ffffff;
					text-decoration: none;
					font-size: 87.5%;
					padding: 12px 10px 8px;
					background-color: var(--blue_bg);
					border-radius: 20px;
					display: block;
					text-align: center;
					width: 250px;
					height: auto;
					margin-inline: auto;
					line-height: 1.5;
				}
			}
			& .alm-btn-wrap .alm-load-more-btn::after {
    content: "" !important; /* プラグイン側の初期化を強制的に上書き */
    display: inline-block !important;
    background: url("../img/common/ico_btn_w.svg") no-repeat center center;
    background-size: contain;
    width: 6px;
    height: 8px;
    margin-left: 5px;
    vertical-align: middle;
}
		}
	}
}
/* おすすめコース */
.single-recommend {
	& section {
		& article {
			& div {
				& h3 {
					margin-top: 80px;
					@media (min-width: 768px) {
						margin-top: 100px;
					}
				}
				& ul.smn_list {
					& > li:nth-child(n+2) {
						margin-top: 40px;
						position: relative;
					}
					& > li:nth-child(n+2)::before {
						content: "";
						display: block;
						background: url(../img/second/ico_next.png) no-repeat;
						width: 45px;
						height: 23px;
						position: absolute;
						background-size: contain;
						top: -30px;
						left: 50%;
						transform: translateX(-50%);
						-webkit-transform: translateX(-50%);
						-ms-transform: translateX(-50%);
					}
				}
			}
		}
	}
}
/* 無料体験 */
.experience {
	& main {
		& section {
			& article {
				& .wrapper {
					& .smn_ttl {
						font-size: 125%;
						& span {
							font-size: 70%;
							display: block;
						}
					}
					& div.wp-block-lazyblock-free-seminar-experience:nth-of-type(n+2) {
						& .smn_ttl {
							margin-top: 2em;
						}
					}
				}
			}
		}
	}
}

/* 固定ページ用 */
.page:not(.seminar_closed), .single {
	& main {
		& section {
            & article {
                & .wrapper {
                    & h3 {
                        margin-top: 60px;
                    }
                    & h2 + h3, & figure + h6 {
                        margin-top: 30px;
                    }
                    & ul:has(.see_more) {
                        @media (min-width: 768px) {
                            display:flex;
                        }
                    }
                    & .has-medium-font-size {
                        font-size: 87.5%;
                    }
                    & p:has(strong) {
                        margin-top: 10px;
                        margin-bottom: 5px;
                    }
                    & .pink {
                        color: var(--pink);
                    }
                    & .sample {
                        width: fit-content;
                        margin-top: 10px;
                        & img {
                            border-radius: 10px;
                            border: solid 1px var(--midline);
                            box-sizing: border-box;
                        }
                    }
                    & figure {
                        & img {
                            border-radius: 10px;
                        }
                    }
                    & figure + p {
                        margin-top: 15px;
                    }
                    & p + figure {
                        margin-top: 15px;
                    }
                    & p {
                        margin-top: 1em;
                    }
                    & .page_link,
                    & .btn_blk {
                        & a {
                            text-decoration: underline;
                            color: var(--blue_bg);
                            padding-left: 0;
                            display: flex;
                            align-items: center;
                            &::after {
                                content: url(../img/common/ico_arrow-b.svg);
                                display: inline-block;
                                width: 1em;
                                height: 1em;
                                transform: rotate(90deg);
                                margin-left: 5px;
                            }
                        }
                    }
                    & ul:has(.btn_blk),
                    & ul:has(.page_link) {
                        margin-top: 1em;
                        @media (min-width: 768px) {
                            display: flex;
                            flex-wrap: wrap;
                            gap: 10px;
                        }
                        & li:nth-child(n+2) {
                            margin-top: 10px;
                            @media (min-width: 768px) {
                                margin-top: 0;
                            }
                        }
                    }
                    & ul.see_more {
                        @media (min-width: 768px) {
                            display: flex;
                            width: auto;
                        }
                        & li {
                            width: 250px;
                        }
                        & li:nth-child(n+2) {
                            margin-top: 10px;
                            @media (min-width: 768px) {
                                margin-top: 0;
                                margin-left: 10px;
                            }
                        }
                    }
                    & .btn_y {
                        & a {
                            font-size: 3.466vw;
                            padding: 10px 20px;
                            border-radius: 60px;
                            display: block;
                            text-align: center;
                            line-height: 1;
                            font-weight: bold;
                            @media (min-width: 768px){
                                font-size: 100%;
                                width: fit-content;
                                padding: 10px 30px;
                            }
                        }
                    }
                    & hr {
                        margin-top: 1em;
                        margin-bottom: 1em;
                    }
                    & .break-url {
                        overflow-wrap: break-word;
                        word-break: break-all;
                        display: inline-block;
                        max-width: 100%;
                    }
                    .tablet {
                        display: block;
                        @media (min-width: 768px) {
                            display: none;
                        }
                        & .type {
                            margin-top: 1em;
                            & .tab-wrap {
                                display: flex;
                                flex-wrap: wrap;
                            }
                            & .tab-label {
                                background-color: var(--midline);
                                padding: 15px 20px;
                                order: -1;
                                & span {
                                    color: #ffffff;
                                    margin-top: 0;
                                    margin-bottom: 0;
                                    font-size: 87.5%;
                                }
                            }
                        }
                        & .tab-content {
                            width: 100%;
                            display: none;
                            margin-top: 1em;
                            & > div {
                                margin-top: 1em;
                            }
                            &:last-of-type {
                                margin-bottom: 0;
                            }
                        }
                        & .tab-switch:checked + .tab-label {
                            background: var(--blue_bg);
                            font-weight: bold;
                        }
                        & .tab-switch:checked + .tab-label + .tab-content {
                            display: block;
                        }
                        & .tab-switch {
                            display: none;
                        }
                    }
                    @media (min-width: 768px) {
                        .tablet {
                            display: none;
                        }
                        .pc {
                            display: block;
                        }
                    }
                    .flow-container {
                        & img {
                            width: 45px;
                            height: auto;
                            border-radius: 0;
                            @media (min-width: 768px) {
                                display: block;
                                width: 100%;
                                max-width: 60px;
                                border-radius: 0;
                                height: fit-content;
                            }
                            &.mail {
                                width: 30px;
								@media (min-width: 768px) {
									width: 40px;
								}

                            }
                        }
                        & a, & > div:not([class]), & .flow_branch > p, & .flow_branch > div, & .smn_application {
                            border-radius: 10px;
                            position: relative;
                            margin-top: 0;
                            font-weight: bold;
                            font-size: 75%;
                            padding: 8px 20px 8px 10px;
                            @media (min-width: 768px) {
                                align-items: center;
                                gap: 10px;
                                font-size: 100%;
                                display: flex;
								padding: 10px 20px 10px 10px;
                            }
                        }
                        & > div:not([class]), & .flow_branch > p, & .flow_branch > div, & .smn_application {
                            border: dotted 2px var(--black);
                        }
                        & a, & > div:not([class]), & .smn_application {
                            & p {
                                margin-top: 0 !important;
                                & span {
                                    font-size: 75%;
                                    font-weight: normal;
                                    display: block;
                                    @media (min-width: 768px) {
                                        font-size: 75%;
                                    }
                                }
                            }
                        }
                        & a {
                            text-decoration: none;
                            display: flex;
                            width: 50%;
                            align-items: center;
                            gap: 7px;
                            border: solid 1px var(--blue_bg);
                            justify-content: center;
							background-color: #ffffff;
                            & p {
                                color: var(--blue_bg);
                                & .pink {
                                    @media (min-width: 768px) {
                                        font-size: 87.5%;
                                    }
                                }
                            }
                            & p::after {
                                position: absolute;
                                top: calc(50% - 6px);
                                right: 10px;
                                transform: translateY(-50%);
                                -webkit-transform: translateY(-50%);
                                -ms-transform: translateY(-50%);
                                transform: rotate(90deg);
                                content: url(../img/common/ico_arrow-b.svg);
                                display: block;
                                width: 1em;
                                height: 1em;
                                margin-left: 10px;
                            }
                            &:hover {
								opacity: 1;
                                & p::after {
                                    content: url(../img/common/ico_arrow-y.svg);
                                }
                            }
                        }
                        & > a:nth-of-type(n+2) {
                            margin-top: 30px;
                        }
                        & a.archive::after {
                            content: "";
                            position: absolute;
                            top: -134px;
                            left: calc(50% - 2px);
                            transform: translateX(-50%);
                            width: 4px;
                            height: 106px;
                            background-image: radial-gradient(#333333 1px, transparent 1px);
                            background-size: 6px 6px; 
                            background-repeat: repeat-y;
							pointer-events: none;
                        }
                        & span {
                            font-size: 87.5%;
                            font-weight: normal;
                        } 
                        & .flow_branch {
                            display: flex;
                            margin-top: 40px;
                            gap: 10px;
                            @media (min-width: 768px) {
                                gap: 30px;
                            }
                            & > div {
                                display: flex;
                                width: 50%;
                                align-items: center;
                                justify-content: center;
                                gap: 10px;
                                @media (min-width: 1120px) {
                                    width: 31%;
                                }
                                & p {
                                    margin-top: 0;
                                    width: max-content;
                                    @media (min-width: 768px) {
                                        display: flex;
                                        line-height: 1.2;
                                    }
                                }
                            }
                            /* & > div::before {
                                content: "";
                                display: block;
                                background: url(../img/second/ico_next_2.png) no-repeat;
                                width: 20px;
                                height: 16px;
                                position: absolute;
                                background-size: contain;
                                top: -30px;
                                left: 50%;
                                transform: translateX(-50%);
                                -webkit-transform: translateX(-50%);
                                -ms-transform: translateX(-50%);
                            } */
                            &.mail {
                                & div {
                                    & img {
                                        width: auto;
                                        height: 25px;
                                        border-radius: 0;
                                    }
                                }
                            }
                        }
                        &.flow-count {
                            display: flex;
                            flex-direction: column;
                            gap: 20px;
                            padding: 0;
                            margin: 0;
                            list-style: none;
                            counter-reset: flow-counter;
                            width: 100%;
                            @media (min-width: 768px) {
                                flex-direction: row;
                                gap: 40px;
                                align-items: stretch;
                            }
                            & li {
                                width: 100%;
                                height: auto;
                                position: relative;
                                display: flex;
                                flex-direction: column;
                                box-sizing: border-box;
                                padding: 20px;
                                counter-increment: flow-counter;
                                border: 1px solid var(--blue_bg);
                                border-radius: 10px;
                                @media (min-width: 768px) {
                                    flex: 1;
                                    height: 280px;
                                    padding: 20px;
                                    --arrow-w: 25px;
                                    align-items: flex-start;
                                    height: auto;
                                }
                                & .ttl {
                                    font-size: 100%;
                                    font-weight: bold;
                                    margin: 0 0 10px 0;
                                    display: flex;
                                    align-items: center;
                                    gap: 5px;
                                    &::before {
                                        color: #ffffff;
                                        content: counter(flow-counter, decimal-leading-zero);
                                        display: inline-flex;
                                        justify-content: center;
                                        align-items: center;
                                        background-color: var(--blue_bg);
                                        border-radius: 50%;
                                        width: 40px;
                                        height: 40px;
                                        font-size: 112.5%;
                                        @media (min-width: 768px) {
                                            width: 40px;
                                            height: 40px;
                                            font-size: 18px;
                                        }
                                    }
                                    @media (min-width: 768px) {
                                        font-size: 100%;
                                    }
                                }
                                & > p {
                                    margin-top: 0;
                                    font-size: 87.5%;
                                }
                                &:nth-child(n+2) {
                                    margin-top: 20px;
                                    @media (min-width: 768px) {
                                        margin-top: 0;
                                    }
                                    &::before {
                                        content: "";
                                        display: block;
                                        background: url(../img/second/ico_next.png) no-repeat;
                                        width: 30px;
                                        height: 16px;
                                        position: absolute;
                                        background-size: contain;
                                        top: -30px;
                                        left: 50%;
                                        transform: translateX(-50%);
                                        -webkit-transform: translateX(-50%);
                                        -ms-transform: translateX(-50%);
                                        @media (min-width: 768px) {
                                            top: 50%;
                                            left: -20px;
                                            transform: translate(-50%, -50%) rotate(-90deg);
                                            -webkit-transform: translate(-50%, -50%) rotate(-90deg);
                                            -ms-transform: translate(-50%, -50%) rotate(-90deg);
                                        }
                                    }
                                }
                            }
                        }
                        &.guide_seminar_attending {
                            & > div {
                                display: flex;
                                align-items: center;
                                &.smn_application {
                                    margin-inline: auto;
                                    justify-content: center;
									background-color: #ffffff;
                                    @media (min-width: 768px) {
                                        width: 80%;
                                    }
                                }
								& > div {
									background-color: #ffffff;
								}
                            }
                            & > div.flow_branch {
                                align-items: normal;
                            }
                            & > div.flow_branch.archive {
                                & a {
									&::before {
										height: 43px;
										top: -43px;
									}
                                    width: 100%;
                                    @media (min-width: 768px) {
                                        width: 80%;
                                        margin-inline: auto;
                                    }
                                }
                            }
                        }
						&.guide_seminar.sp {
							display: block;
							@media (min-width: 1036px) {
								display: none;
							}
							& > a:first-of-type {
								&::after {
									content: "";
									display: block;
									position: absolute;
									background-size: contain;
									pointer-events: none;
									background-color: #333333;
									width: 2px;
									height: 600px;
									top: 20px;
									left: 50%;
									transform: translateX(-50%);
									-webkit-transform: translateX(-50%);
									-ms-transform: translateX(-50%);
									z-index: -1;
									@media (min-width: 768px) {
										height: 700px;
									}
								}
							}
							& > a:nth-of-type(3),
							& > a:nth-of-type(6) {
								&::after {
									content: "";
									display: block;
									position: absolute;
									background-size: contain;
									pointer-events: none;
									background-color: #333333;
									width: 2px;
									height: 140px;
									bottom: -140px;
									left: calc(10% - 3px);
									z-index: -1;
								}
							}
							& > a:nth-of-type(8) {
								&::before {
									content: "";
                                    display: block;
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    width: 20px;
                                    height: 10px;
                                    position: absolute;
                                    background-size: contain;
                                    top: -10px;
                                    left: calc(50% - 9px);
								}
							}
							& .no_before {
								& > span {
									content: "";
                                    display: block;
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    width: 20px;
                                    height: 10px;
                                    position: absolute;
                                    background-size: contain;
                                    top: -10px;
                                    left: calc(10% - 11px);
								}
							}
						}
						&.guide_seminar.pc {
							display: none;
							@media (min-width: 1036px) {
								display: block;
								width: fit-content;
								margin-inline: auto;
							}
							& a {
								margin-top: 0;
								&::before {
									content: none;
								}
								&:hover {
									opacity: 1;
								}
							}
							& > a:first-of-type {
								&::after {
									content: "";
									display: block;
									pointer-events: none;
									position: absolute;
									background-color: #333333;
									width: 2px;
									height: 500px;
									top: 20px;
									left: 50%;
									transform: translateX(-50%);
									-webkit-transform: translateX(-50%);
									-ms-transform: translateX(-50%);
									z-index: -1;
								}
							}
							& > a:nth-of-type(3),
							& > a:last-of-type {
								&::after {
									content: "";
									display: block;
									pointer-events: none;
									position: absolute;
									background-color: #333333;
									width: 2px;
									height: 196px;
									top: -67px;
									right: -100px;
									z-index: -1;
									transform: rotate(-90deg);
								}
								& > span {
									background: url(../img/second/ico_next_2.png) no-repeat;
									width: 20px;
									height: 10px;
									position: absolute;
									right: -16px;
									display: block;
									transform: rotate(90deg);
									background-size: contain;
								}
							}
							& > a:last-of-type {
								margin-top: 0;
								&::before {
									content: "";
									background: url(../img/second/ico_next_2.png) no-repeat;
									width: 20px;
									height: 10px;
									position: absolute;
									top: -11px;
									left: calc(50% - 10px);
									display: block;
									background-size: contain;
								}
								&::after {
									right: -80px;
									height: 161px;
									top: -41px;
								}
							}
							& > div {
								border: none;
								padding: 0;
								gap: 40px;
								margin-top: 30px;
								& .indent {
									& > span {
										background: url(../img/second/ico_next_2.png) no-repeat;
										width: 20px;
										height: 10px;
										position: absolute;
										left: -16px;
										display: block;
										transform: rotate(-90deg);
										background-size: contain;
									}
									&::before {
									content: "";
									display: block;
									pointer-events: none;
									position: absolute;
									background-color: #333333;
									width: 2px;
									height: 86px;
									top: -12px;
									left: -44px;
									z-index: -1;
									}
								}
							}
							& div:first-of-type {
								& .indent {
									padding: 0 40px 0 10px;
								}
							}
							& div:nth-of-type(2) {
								& a:nth-of-type(2) {
									&::after {
										height: 72px;
										bottom: -72px;
										right: 154px;
									}
									&::before {
									top: 1px;
									}
								}
							}
							& a {
								min-height: 64px;
								width: fit-content;
								padding: 10px 40px 10px 10px;
								min-width: 310px;
								margin-left: 36px;
								&:last-of-type {
									margin-left: 0;
								}
							}
							& > a {
								&:nth-of-type(n+2) {
									margin-top: 30px;
								}
							}
							& .indent {
								margin-left: 0;
								&::before {
									top: 44%;
									transform: translateY(-44%);
                            		-webkit-transform: translateY(-44%);
									left: -30px;
									transform: rotate(-90deg);
								}
								& strong {
									display: block;
								}
								&::after {
									content: "";
									display: block;
									pointer-events: none;
									position: absolute;
									background-color: #333333;
									width: 2px;
									height: 63px;
									bottom: -63px;
									right: 153px;
									z-index: -1;
								
								}
							}
							& .no_before::after {
								content: "";
								display: block;
								background: url(../img/second/ico_next_2.png) no-repeat;
								width: 20px;
								height: 16px;
								position: absolute;
								background-size: contain;
								top: 44%;
								right: -36px;
								transform: translateX(-90%);
								-webkit-transform: translateX(-44%);
								-ms-transform: translateX(-40%);
								transform: rotate(90deg);
							}
						}
                        &.guide_seminar {
                            & > a {
                                width: 100%;
                                &:first-of-type::before {
                                    content: none;
                                }
                            }
                            & a.no_before::before { 
                                content: none;
                            }
                            & .flow_branch {
                                gap: 30px;
                                @media (min-width: 768px) {
                                    gap: 40px;
                                }
                                & a {
                                    & span {
                                        line-height: 1.3;
                                        display: block;
                                    }
                                }
                                & a.no_before::before { 
                                    content: none;
                                }
                                & a:nth-of-type(2)::before {
                                    content: "";
                                    top: 50%;
                                    left: -15px;
                                    transform: translate(-50%, -50%) rotate(-90deg);
                                    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
                                    -ms-transform: translate(-50%, -50%) rotate(-90deg);
                                    @media (min-width: 768px) {
                                        left: -20px;
                                    }
                                }
                                & a::after {
                                    content: "";
                                    display: block;
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    width: 30px;
                                    height: 16px;
                                    position: absolute;
                                    background-size: contain;
                                    bottom: -30px;
                                    left: 50%;
                                    transform: translateX(-50%);
                                    -webkit-transform: translateX(-50%);
                                    -ms-transform: translateX(-50%);
                                }
                            }
                            & .indent {
                                width: 80%;
                                margin-left: auto;
								@media (min-width: 1036px) {
									width: 50%;
								}
                                /* &::after {
                                    content: "";
                                    display: block;
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    width: 20px;
                                    height: 16px;
                                    position: absolute;
                                    background-size: contain;
                                    bottom: -25px;
                                    left: 50%;
                                    transform: translateX(-50%);
                                    -webkit-transform: translateX(-50%);
                                    -ms-transform: translateX(-50%);
									@media (min-width: 768px) {
										content: none;
									}
                                } */
                                /* &+ a::before {
                                    content: "";
                                    display: block;
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    width: 20px;
                                    height: 10px;
                                    position: absolute;
                                    background-size: contain;
                                    top: -10px;
                                    left: calc(10% - 11px);
                                } */
                            }
                        }
                        &.members-guide {
                            margin-top: 40px;
                            margin-bottom: 40px;
                            @media (min-width: 768px) {
                                display: flex;
                                justify-content: space-between;
                                position: relative;
                                gap: 5%;
                            }
                            & img {
                                display: block;
                                max-width: 100px;
                                height: auto;
                            }
                            & > div {
                                & .sp {
                                    display: flex;
                                    align-items: center;
                                    @media (min-width: 768px) {
                                        display: none;
                                    }
                                    & img {
                                        height: 30px;
                                        width: auto;
                                        border-radius: initial;
                                    }
                                    & strong {
                                        margin-left: 10px;
                                        font-size: 4.8vw;
                                        color: var(--blue_bg);
                                    }
                                }
                                & .pc {
                                    & strong {
                                        margin-top: 10px;
                                        display: block;
                                        text-align: center;
                                    }
                                }
                            }
                            & .org_box {
                                & .sp {
                                    border: 1px solid var(--blue_bg);
                                    padding: 20px;
                                    border-radius: 10px;
                                }
                                & .pc {
                                    @media (min-width: 768px) {
                                        display: block;
                                    }
                                    & img {
                                        @media (min-width: 768px) {
                                            max-width: 100px;
                                            margin: auto;
                                        }
                                    }
                                    & strong {
                                        color: var(--blue_bg);
                                        white-space: nowrap;
                                    }
                                }
                            }
                            & .user_box {
                                background-color: var(--bg);
                                padding: 20px;
                                border-radius: 10px;
                                margin-top: 1em;
                                @media (min-width: 768px) {
                                    display: flex;
                                    flex-direction: column;
                                    width: 50%;
                                    max-width: 500px;
                                    margin-top: 0;
                                }
                                & > div {
                                    & > p {
                                        display: flex;
                                        align-items: center;
                                        margin-top: 0;
                                        & img {
                                            height: 30px;
                                            width: auto;
                                            border-radius: initial;
                                            margin-right: 10px;
                                        }
                                    }
                                }
                                & .user_manager {
                                    @media (min-width: 768px) {
                                        margin: auto;
                                    }
                                }
                            }
                            & .txt_act.sp {
                                display: flex;
                                margin-left: 20px;
                                & span {
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    display: inline-block;
                                    width: 30px;
                                    background-size: contain;
                                    margin-right: 20px;
                                    background-position: center;
                                    @media (min-width: 768px) {
                                        background: none;
                                    }
                                }
                            }
                            & .txt_act.pc {
                                display: none;
                            }
                            & .org_box.sp {
                                @media (min-width: 768px) {
                                    display: none;
                                }
                            } 
                            & .org_box + .txt_act.sp {
                                font-size: 87.5%;
                                @media (min-width: 768px) {
                                    display: none;
                                }
                                & span {
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    display: inline-block;
                                    width: 30px;
                                    background-size: contain;
                                    margin-right: 20px;
                                    background-position: center;
                                }
                            }
                            & .txt_act.pc {
                                @media (min-width: 768px) {
                                    display: flex;
                                    flex-direction: column;
                                    align-items: center;
                                    justify-content: space-between;
                                }
                                & > p {
                                    @media (min-width: 768px) {
                                        font-size: 87.5%;
                                    }
                                }
                                & > p:first-of-type {
                                    @media (min-width: 768px) {
                                        display: flex;
                                        flex-direction: column-reverse;
                                        align-items: center;
                                        margin-right: -20px;
                                    }
                                    & span {
                                        background: url(../img/second/ico_next.png) no-repeat;
                                        display: inline-block;
                                        width: 30px;
                                        background-size: contain;
                                        margin-right: 20px;
                                        background-position: center;
                                        @media (min-width: 768px) {
                                            background: url(../img/second/aroow_r.png) no-repeat center;
                                            width: 150px;
                                            height: 60px;
                                            background-size: contain;
                                        }
                                    }
                                }
                                & > p:nth-of-type(2) {
                                    display: flex;
                                    flex-direction: column;
                                    align-items: center;
                                    margin-left: -20px;
                                    & span {
                                        background: url(../img/second/aroow_l.png) no-repeat center;
                                        width: 150px;
                                        height: 60px;
                                        display: block;
                                        background-size: contain;
                                    }
                                } 
                            }
                            & .user_box + .txt_act {
                                font-size: 87.5%;
                                @media (min-width: 768px) {
                                    display: none;
                                }
                            }
                            & .person {
                                & > p {
                                    margin-top: 1em;
                                    text-align: center;
                                }
                            }
                            & .attendee_groups {
                                display: flex;
                                justify-content: space-between;
                                margin-top: 5px;
                                & dl {
                                    width: 45%;
                                    text-align: center;
                                    & dd {
                                        font-size: 75%;
                                        margin-top: 10px;
                                    }
                                }
                            }
                        }
                    }
                    & .wp-block-list {
                        margin-top: 1em;
                    }
                }
            }
        }
    }
}
.guide_seminar_attending {
	& main {
	& section {
		& article {
			& .wrapper {
				& .tablet {
					display: block;
					@media (min-width: 1120px) {
						display: none;
					}
				}
				& .pc {
					display: none;
					@media (min-width: 1120px) {
						display: block;
					}
				}
				& > div {
					& figure.guide_seminar_attending {
						& .flow_branch {
							& > div::before {
								content: none;
							}
							& a {
								& p {
									max-width: calc(100% - 70px);
									line-height: 1.2;
								}
								&::before {
									content: "";
									position: absolute;
									display: block;
									background-color: #333333;
									width: 2px;
									height: 150px;
									top: -150px;
									left: 50%;
									transform: translateX(-50%);
									-webkit-transform: translateX(-50%);
									-ms-transform: translateX(-50%);
									z-index: -1;
								}
								&::after {
									content: "";
                                    background: url(../img/second/ico_next_2.png) no-repeat;
                                    width: 20px;
                                    height: 10px;
                                    position: absolute;
                                    top: -11px;
                                    left: calc(50% - 9px);
                                    display: block;
                                    background-size: contain;
								}
								&.archive {
									&::after {
										left: 50%;
										transform: translateX(-50%);
										-webkit-transform: translateX(-50%);
										-ms-transform: translateX(-50%);
									}
								}
							}
						}
					}
				}
			}
		}
	}
}
}
.guide_seminar_entry {
	& main {
		& section {
			& article {
				& .wrapper {
					& table {
						& tr:first-of-type {
							& th {
								color: var(--black);
							}
						}
					}
					& figure {
						max-width: 800px;
					}
					& figure.btn {
						max-width: 600px;
					}
				}
			}
		}
	}
}

.members-guide {
	& main {
		& section {
			& article {
				& .wrapper {
					& .member-type {
						position: relative;
						margin-top: 65px;
						margin-bottom: 65px;
						max-width: 800px;
						margin-inline: auto;
						& p {
							margin-top: 0;
							position: absolute;
							line-height: 1.2;
						}
						& .text-1, & .text-3, & .text-4 {
							font-size: 3.733vw;
							font-weight: bold;
							@media (min-width: 768px) {
								font-size: 137.5%;
							}
						}
						& .text-2, & .text-5, & .text-6, & .text-7 {
							font-size: 3.2vw;
							@media (min-width: 768px) {
								font-size: 112.5%;
							}
						}
						& .text-1 {
							top: 0;
							color: #7f7f7f;
							@media (min-width: 768px) {
								top: 15px;
							}
						}
						& .text-2 {
							top: -18%;
							left: 36%;
							color: #006699;
							line-height: 1.2;
							@media (min-width: 768px) {
								top: -32px;
								left: 26%;
							}
						}
						& .text-3 {
							color: #006699;
							top: 0;
							left: 76%;
							@media (min-width: 768px) {
								top: 12%;
							}

						}
						& .text-4 {
							top: 35%;
							left: 46%;
							@media (min-width: 768px) {
								left: 56%;
							}
						}
						& .text-5 {
							bottom: -12%;
							right: 4%;
							@media (min-width: 768px) {
								bottom: -8%;
								right: 8%;
							}
						}
						& .text-6 {
							bottom: -12%;
							left: 38%;
							@media (min-width: 768px) {
								bottom: -8%;
								left: 44%;
							}
						}
						& .text-7 {
							bottom: -9%;
							@media (min-width: 768px) {
								bottom: -5px;
								left: 10%;
							}
						}
						& .text-4,
						& .text-6,
						& .text-7 {
							color: #f7931e;
						}
					}
				}
			}
		}
	}
}

/* 個別 */
.postid-288 .program_archive_date {
	display: none;
}

.members_only {
	& main {
		& section {
			& article {
				& .wrapper {
					& .tml-login {
						margin-top: 2em;
						padding: 2em;
						border: 1px solid #333333;
						border-radius: 10px;
						max-width: 600px;
						margin-inline: auto;
						& form {
							& .tml-log-wrap,
							& .tml-pwd-wrap {
								display: flex;
								justify-content: space-between;
							}
							& .tml-pwd-wrap {
								& + p {
									width: fit-content;
									margin-inline: auto;
								}
							}
							& input {
								padding: 0.5em;
								background-color: var(--bg);
							}
							& .tml-field {
								width: calc(100% - 6em);
							}
							& > p {
								text-align: center;
								& > label {
									margin-bottom: 0.5em;
									display: inline-block;
								}
							}
							& .tml-rememberme-wrap {
								margin-top: 0.75em;
							}
							& [type="submit"] {
								color: #ffffff;
								text-decoration: none;
								font-size: 87.5%;
								padding: 12px 10px 8px;
								background-color: var(--blue_bg);
								border-radius: 20px;
								display: block;
								text-align: center;
								width: 250px;
								margin-inline: auto;
								&::after {
									background: url(../img/common/ico_btn_w.svg) no-repeat;
									content: "";
									display: inline-block;
									width: 6px;
									height: 8px;
									margin-left: 5px;
								}
							}
						}
						& .tml-links {
							display: none;
						}
					}
					& > p.note {
						text-align: center;
					}
				}
			}
		}
	}
}
.membership_individual,
.membership_corporate_general,
.membership_corporate {
	& main {
		& section {
			& article {
				& .wrapper {
					& .is-layout-flex {
						display: block;
						@media (min-width: 768px) {
							display: flex;
							justify-content: space-between;
						}
						& figure {
							@media (min-width: 768px) {
								width: 38%;
							}
							& + p {
								@media (min-width: 768px) {
									width: 59%;
								}
							}
						}
						&:nth-of-type(n+2) {
							margin-top: 40px;
						}
					}
					& .wp-block-group:nt-of-type(n+2) {
						margin-top: 40px;
					}
					& h2:nth-of-type(n+2) {
						margin-top: 60px;
						@media (min-width: 768px) {
							margin-top: 80px;
						}
					}
					& ul.see_more {
						& li {
							&:has(.btn_y) {
								width: auto;
								& .btn_y {
									background-color: var(--yellow);
									color: inherit;
									font-size: 87.5%;
									&::after {
										background: url(../img/common/ico_btn.svg) no-repeat;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

.seminar_closed {
	main {
		& section {
			& > article {
				& > div {
					& .seminar_filter {
						& form {
							padding: 20px 15px 40px;
							@media (min-width: 768px) {
								padding: 40px 35px 62px;
							}
						}
						& .switch_past_link {
							bottom: 20px;
							@media (min-width: 768px) {
								bottom: 40px;
							}
						}
						& form:has(p.open) {
							padding: 20px 15px;
							@media (min-width: 768px) {
								padding: 40px 35px;
							}
						}
						& form:has(p.open) + .switch_past_link {
							bottom: 70px;
							@media (min-width: 768px) {
								bottom: 85px;
							}
						}
					}
				}
			}
		}
	}
}

/* 無料お試しセミナー視聴 */
.view {
	main {
		& section {
			& > article {
				& h2:nth-of-type(n+2) {
					margin-top: 60px;
					@media (min-width: 768px){
						margin-top: 80px;
					}
				}
				& .wrapper {
					& .wrapper_movie {
						& h3 {
							& > span {
								display: block;
								font-size: 66.66%;
								margin-top: 0.5em;
							}
						}
						& article {
							@media (min-width: 768px){
								display: flex;
								justify-content: space-between;
								align-items: flex-start;
							}
							& iframe, & > div {
								@media (min-width: 768px){
									width: 48%;
								}
							}
							& iframe {
								height: auto; 
								aspect-ratio: 16 / 9;
							}
							& > div {
								& p {
									@media (min-width: 768px){
										margin-top: 0;
									}
									&.description {
										margin-top: 1em;
									}
									&.lecturer, &.lecturer_2 {
										text-indent: -3em;
										padding-left: 3em;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

