/*
-------------------------------------------------------

common

-------------------------------------------------------
*/

body {
	font-family: var(--wp--preset--font-family--m-plus-1-p);
	font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
}

.main {
	padding-bottom: 0;
}

.section {
	padding-top: var(--wp--preset--spacing--80);
	padding-bottom: var(--wp--preset--spacing--80);
}

strong {
	font-weight: normal;
}

.is-style-bg-wh {
	background-color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	border-radius: 20px;
}

.is-style-bg-light-yw {
	background-color: var(--wp--preset--color--custom-light-yellow);
}

.is-style-bg-light-or {
	background-color: var(--wp--preset--color--custom-light-orange);
}

.is-style-bg-light-bl {
	background-color: var(--wp--preset--color--custom-light-blue);
}

.is-style-bg-light-pl {
	background-color: var(--wp--preset--color--custom-light-purple);
}

.is-style-bg-gr,
.is-style-bg-or,
.is-style-bg-bl,
.is-style-bg-pl,
.is-style-bg-pk {
	color: var(--wp--preset--color--base);
}

.is-style-bg-gr {
	background-color: var(--wp--preset--color--primary);
}

.is-style-bg-or {
	background-color: var(--wp--preset--color--custom-orange);
}

.is-style-bg-bl {
	background-color: var(--wp--preset--color--custom-blue);
}

.is-style-bg-pl {
	background-color: var(--wp--preset--color--custom-purple);
}

.is-style-bg-pk {
	background-color: var(--wp--preset--color--custom-pink);
}

.is-style-bg-gr.wp-block-heading,
.is-style-bg-or.wp-block-heading,
.is-style-bg-bl.wp-block-heading,
.is-style-bg-pl.wp-block-heading,
.is-style-bg-pk.wp-block-heading {
	display: grid;
	place-content: center;
	padding: .25em 1em;
	margin-bottom: .75em;
	border-radius: 20px;
}

.is-style-under-line {
	font-size: var(--wp--preset--font-size--28);
	color: var(--wp--preset--color--primary);
	border-bottom: solid 2px var(--wp--preset--color--base);
	padding: 2px 0;
}

.ttl:has(.is-style-under-line) {
	margin-bottom: 2em;
}

.ttl .is-style-under-line {
	font-size: var(--wp--preset--font-size--40);
	color: var(--wp--preset--color--primary);
	border-bottom: solid 3px var(--wp--preset--color--custom-yellow);
	padding: 2px .5em;
}

.ttl-wrap {
	gap: .8em;
	margin-bottom: 2em;
}

.ttl-wrap .ttl:has(.is-style-under-line) {
	margin-bottom: 0;
}

.is-style-bg-gr .is-style-under-line {
	color: var(--wp--preset--color--base);
}

.is-style-bg-light-gr {
	display: grid;
	place-content: center;
	background-color: var(--wp--preset--color--custom-light-green);
	color: var(--wp--preset--color--primary);
	padding: 8px;
}

.is-style-square,
.is-style-circle {
	position: relative;
	padding-left: 1em;
}

.is-style-square::before,
.is-style-circle::before {
	content: '';
	width: .64em;
	height: .64em;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.is-style-square {
	color: var(--wp--preset--color--base);
}

.is-style-square::before {
	background-color: var(--wp--preset--color--base);
}

.is-style-circle {
	color: var(--wp--preset--color--custom-orange);
}

.is-style-circle::before {
	border: solid 2px var(--wp--preset--color--custom-orange);
	border-radius: 50%;
}

.is-style-ul-list li::before {
	width: .64em;
	height: .64em;
	top: .56em;
	left: 0;
}

.is-style-ul-list li + li,
.is-style-ol-list li + li,
.is-style-check-list li + li {
	margin-top: 0;
}

/*
-------------------------------------------------------

header

-------------------------------------------------------
*/

.header {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.header .header-wrap {
	gap: 0;
}

.header .logo {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	gap:  var(--wp--preset--spacing--40);
	line-height: 1.5;
}

.header .logo .txt {
	margin-top: .8em;
}

.header .logo .txt strong {
	font-size: 1.5em;
}

.header .header-button {
	gap: 0;
}

.header .header-button .wp-block-button {
	width: 100%;
}

.header h1 {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.is-style-tel :where(.wp-element-button, .wp-block-button__link),
.is-style-email :where(.wp-element-button, .wp-block-button__link) {
	border: none;
	border-radius: 0 !important;
	padding: 11px 24px 11px 64px;
	gap: .5em !important;
	color: var(--wp--preset--color--base) !important;
	height: auto !important;
	position: relative;
}

.is-style-tel :where(.wp-element-button, .wp-block-button__link) {
	background-color: var(--wp--preset--color--custom-orange);
}

.is-style-tel :where(.wp-element-button, .wp-block-button__link) em {
	font-style: normal;
	transform: translateY(.2em);
}

.is-style-tel :where(.wp-element-button, .wp-block-button__link) strong {
	font-size: var(--wp--preset--font-size--32);
}

.is-style-email :where(.wp-element-button, .wp-block-button__link) {
	background-color: var(--wp--preset--color--custom-blue);
}

.is-style-email :where(.wp-element-button, .wp-block-button__link) strong {
	font-size: var(--wp--preset--font-size--28);
}

.is-style-tel :where(.wp-element-button, .wp-block-button__link)::before,
.is-style-email :where(.wp-element-button, .wp-block-button__link)::before {
	width: 32px;
	height: 32px;
	content: "" !important;
	position: absolute;
	top: calc( 50% - 16px );
	left: 20px;
}

.is-style-tel :where(.wp-element-button, .wp-block-button__link)::before {
	background: url(../img/common/2x/icon-tel.png) center center / contain no-repeat;
}

.is-style-email :where(.wp-element-button, .wp-block-button__link)::before {
	background: url(../img/common/2x/icon-mail.png) center center / contain no-repeat;
}

.header .g-nav-block {
	padding: 0 var(--wp--preset--spacing--40);
}

.header .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--18);
	padding: 14px var(--wp--preset--spacing--30);
}

.header .is-active .wp-block-navigation-item__content {
	background-color: var(--wp--preset--color--custom-orange);
}

/*
-------------------------------------------------------

top

-------------------------------------------------------
*/

.fv-box {
	position: relative;
}

.fv-box .logo {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	z-index: 99;
}

.fv-box .slider-block img {
	max-height: 72vh;
	object-position: top center;
}

.info-box {
	padding-bottom: 0;
}

.info-block {
	gap: var(--wp--preset--spacing--30);
}

.info-block .btn {
	flex: 0 0 280px !important;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30);
}

.link-to-cover-and-group-blocks:has( > .icon-btn ) {
	background-color: var(--wp--preset--color--base);
	border-radius: 20px;
	padding: 10px;
	flex: 1;
}

.icon-btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	height: 100%;
	background-color: var(--wp--preset--color--custom-light-green);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--28);
	line-height: 1.5;
	transition: all .2s;
}

.post-list--meta .post-list {
	border: none;
}

.post-list--meta .post-item {
	padding-top: 1em;
	padding-bottom: 1em;
}

.post-list--meta .post-list .post + .post {
	border-top: solid 1px var(--wp--preset--color--gray);
}

.wp-block-post-date {
	color: var(--wp--preset--color--dark-gray);
}

.post-list--meta .post-title-meta {
	gap: 2px;
}

:root :where(.wp-block-button.is-style-outline .wp-block-button__link) {
	border: solid 2px var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	border-radius: 1.5em;
	max-width: 100%;
	width: 14em !important;
	font-size: var(--wp--preset--font-size--20);
}

:root :where(.is-style-bg-gr .wp-block-button.is-style-outline .wp-block-button__link) {
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
}

:root :where(.wp-block-button.wh.is-style-outline .wp-block-button__link) {
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

:root :where(.wp-block-button.s-size.is-style-outline .wp-block-button__link) {
	width: 12em !important;
	font-size: var(--wp--preset--font-size--16);
}

.insta-btn {
	margin-top: var(--wp--preset--spacing--30);
}

.insta-btn .wp-block-buttons>.wp-block-button {
	width: 100%;
}

.insta-btn .wp-block-button__link {
	width: 100% !important;
	border-color: var(--wp--preset--color--base);
	border-radius: 20px;
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--primary);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	font-size: var(--wp--preset--font-size--20);
	padding: 13px var(--wp--preset--spacing--30);
}

.insta-btn .wp-block-button__link::before {
	content: "";
	display: block;
	width: 58px;
	height: 58px;
	background: url(../img/common/2x/icon-insta.png) center center / contain no-repeat;
}

.img-txt .img {
	flex: 0 0 35% !important;
	text-align: center;
}

.feature-box .img-txt .wp-block-buttons {
	margin-top: 2em;
}

.course-list {
	margin-bottom: 2em;
}

.course-list .link-to-cover-and-group-blocks:has( > .course ) {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--20);
	padding: 20px;
	border-radius: 20px;
	display: grid;
	place-content: center;
}

.course-list .link-to-cover-and-group-blocks:has( > #course-01 ) {
	background-color: var(--wp--preset--color--custom-orange);
}

.course-list .link-to-cover-and-group-blocks:has( > #course-02 ) {
	background-color: var(--wp--preset--color--custom-blue);
}

.course-list .link-to-cover-and-group-blocks:has( > #course-03 ) {
	background-color: var(--wp--preset--color--custom-purple);
}

.course-list .link-to-cover-and-group-blocks:has( > #course-04 ) {
	background-color: var(--wp--preset--color--custom-pink);
}

.course-list .course {
	gap: 10px;
}

.course-list .course .ttl {
	line-height: 1.5;
	display: grid;
	place-content: center;
}

.step-column {
	gap: 56px;
}

.step-column .step {
	align-self: stretch;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	padding: 80px 20px 20px;
	position: relative;
}

.step-column .step::before {
	width: auto;
	height: auto;
	line-height: 1;
	background-color: transparent;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--56);
	font-weight: 500;
	top: 10px;
	left: 10px;
}

.step-column .step + .step::after {
	content: '';
	width: 30px;
	height: 36px;
	background: url(../img/common/2x/arrow-wh.png) center center / contain no-repeat;
	position: absolute;
	left: calc(-28px - 14px);
	top: 50%;
	transform: translateY(-50%);
}

.cta-block {
	margin-top: var(--wp--preset--spacing--60);
}

.cta-block .cta-btn {
	border: solid 2px var(--wp--preset--color--base);
	border-radius: 20px;
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--primary);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	padding: 13px var(--wp--preset--spacing--80);
	transition: all .2s;
}

.cta-block .cta-btn .wp-block-heading {
	font-size: var(--wp--preset--font-size--20);
}

.cta-block .cta-btn .tel-num {
	font-size: var(--wp--preset--font-size--28);
	padding-left: 32px;
	position: relative;
}

.cta-block .cta-btn .tel-num::before {
	width: 28px;
	height: 28px;
	content: "";
	position: absolute;
	top: calc( 50% - 14px );
	left: 0;
	background: url(../img/common/2x/icon-tel.png) center center / contain no-repeat;
}

.is-style-bg-light-yw .cta-btn {
	background-color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}

.is-style-bg-light-yw .cta-btn .tel-num::before {
	background-image: url(../img/common/2x/icon-tel-gr.png);
}

.instructor-list .instructor {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
}

.instructor-list .instructor .ttl {
	gap: 0;
	color: var(--wp--preset--color--primary);
	line-height: 1.5;
}

.instructor-list .instructor .ttl .sub {
	background-color: var(--wp--preset--color--custom-light-green);
	padding: 0 8px;
	margin-bottom: 10px;
}

.access + .access {
	margin-top: var(--wp--preset--spacing--60);
}

.access-block  {
	margin-top: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--40);
}

.access-block .info {
	flex: 1 !important;
	line-height: 1.5;
}

.access-block .info > * + * {
	margin-top: 1.5em;
}

.access-block .map {
	flex: 2 !important;
}

.g-map {
	position: relative;
	width: 100%;
	padding-top: 56.25%; /* 16:9 */
	overflow: hidden;
}

.g-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.footer > .copyright {
	font-size: var(--wp--preset--font-size--16);
	background-color: var(--wp--preset--color--primary);
	padding-top: 2em;
	padding-bottom: 2em;
}

.arrow-cont {
	gap: 80px;
	margin: var(--wp--preset--spacing--60) 0;
	font-size: var(--wp--preset--font-size--18);
}

.arrow-cont .cont {
	display: grid;
	place-content: center;
	border: solid 2px var(--wp--preset--color--primary);
	border-radius: 50%;
	width: 100%;
	aspect-ratio: 1 / 1;
	color: var(--wp--preset--color--primary);
	line-height: 1.5;
	position: relative;
}

.arrow-cont .cont + .cont::after {
	content: '';
	width: 30px;
	height: 36px;
	background: url(../img/common/2x/arrow-gr.png) center center / contain no-repeat;
	position: absolute;
	left: calc(-40px - 14px);
	top: 50%;
	transform: translateY(-50%);
}

.column-block {
	gap: var(--wp--preset--spacing--60);
}

.column-block .column > * + * {
	margin-top: .5em;
}

.schema-faq .schema-faq-section {
	border-top: dashed 2px var(--wp--preset--color--gray);
	padding: 1.5em 1em;
}

.schema-faq .schema-faq-question::before {
	display: none;
}

.schema-faq .schema-faq-section strong {
	font-size: var(--wp--preset--font-size--20);
	color: var(--wp--preset--color--primary) !important;
}

.schema-faq.is-style-toggle-faq .schema-faq-question::after {
	flex-shrink: 0;
	flex-grow: 0;
	width: 1.25em;
	height: 1.25em;
	border-radius: 50%;
	display: grid;
	place-content: center;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.course-block .course {
	padding: var(--wp--preset--spacing--30) 0;
}

.course-block .course .read {
	font-size: var(--wp--preset--font-size--20);
	font-weight: 500;
	line-height: 1.5;
}

.course-block .course .wp-block-media-text {
	display: flex;
	margin: 1.5em 0;
}

.course-block .course .wp-block-media-text .wp-block-media-text__content {
	flex: 1.5 !important;
}

.course-block .course .wp-block-media-text .wp-block-media-text__media {
	flex: 1 !important;
}

.course-block .course .is-style-circle {
	font-size: var(--wp--preset--font-size--20);
}

.course-block .course .wp-block-heading + p {
	margin-top: .5em !important;
	line-height: 1.5;
}

#course-02 .is-style-ul-list li::before {
	background-color: var(--wp--preset--color--custom-blue);
}

#course-02 .is-style-circle {
	color: var(--wp--preset--color--custom-blue);
}

#course-02 .is-style-circle::before {
	border-color: var(--wp--preset--color--custom-blue);
}

:root :where(#course-03 .wp-block-button.is-style-outline .wp-block-button__link) {
	color: var(--wp--preset--color--custom-purple);
	border-color: var(--wp--preset--color--custom-purple);
}

#course-04 .column-block {
	margin: 1.5em 0;
}

.course .programming {
	gap: var(--wp--preset--spacing--60);
	margin: var(--wp--preset--spacing--60) 0;
}

.course .programming .img {
	flex: 0 0 320px !important;
}

.course .programming .cont {
	flex: 1 !important;
}

.voice-list .cont {
	height: 100%;
	padding: 1em 1.5em 1.5em;
	border-radius: 20px;
	gap: .75em;
	line-height: 1.5;
}

.voice-list .is-style-bg-gr.wp-block-heading,
.voice-list .is-style-bg-or.wp-block-heading,
.voice-list .is-style-bg-bl.wp-block-heading,
.voice-list .is-style-bg-pl.wp-block-heading,
.voice-list .is-style-bg-pk.wp-block-heading {
	display: inline-block;
	font-size: var(--wp--preset--font-size--20);
	padding: .1em .5em;
	border-radius: 0;
}

.voice-list .cont > .wp-block-heading {
	display: grid;
	place-content: center start;
}

#voice-student {
	padding-bottom: 0;
}

.voice-box .cta-block {
	margin-top: 0;
	padding-bottom: var(--wp--preset--spacing--80);
}

.contact-info {
	font-size: var(--wp--preset--font-size--18);
}

.contact-info a {
	color: var(--wp--preset--color--contrast);
	border-bottom: solid 1px var(--wp--preset--color--contrast);
}

.contact-info strong {
	color: var(--wp--preset--color--primary);
}

.snow-monkey-form.is-style-standard .smf-item__label {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--18);
	font-weight: 500;
}

.snow-monkey-form.is-style-standard .smf-progress-tracker__item {
	font-size: var(--wp--preset--font-size--18);
}

.snow-monkey-form .smf-text-control__control,
.snow-monkey-form .smf-select-control__control,
.snow-monkey-form .smf-textarea-control__control {
	font-size: var(--wp--preset--font-size--18);
}

.snow-monkey-form .smf-checkbox-control__label,
.snow-monkey-form .smf-radio-button-control__label {
	font-size: var(--wp--preset--font-size--18);
}

.snow-monkey-form .smf-action .smf-button-control__control {
	font-size: var(--wp--preset--font-size--18);
	width: 320px;
}

.required-progress .txt {
	font-size: var(--wp--preset--font-size--18);
}

.required-progress .num {
	font-size: var(--wp--preset--font-size--24);
}

.main-column .post-list {
	border-top: dashed 2px var(--wp--preset--color--gray);
}

.main-column .post-list:not( .is-layout-grid ) .post {
	border-bottom: dashed 2px var(--wp--preset--color--gray);
}

.post-item a:has( .default-image ) {
	border: solid 1px var(--wp--preset--color--primary);
}

.sidebar .wp-block-heading {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.wp-block-search__button-inside .wp-block-search__button.has-icon {
	color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination-numbers > .page-numbers, .post-nav-links > .post-page-numbers {
	color: var(--wp--preset--color--contrast);
}

.popular-posts:not(.sidebar .popular-posts), .related-posts:not(.sidebar .related-posts) {
	margin-top: 0;
}

.is-style-single-line-posts .post-list .post {
	background-color: var(--wp--preset--color--base);
	padding: 20px;
}

.ttl:has(.wp-block-query-title) {
	margin-bottom: 4em;
}

.post-header {
	border-top: dashed 2px var(--wp--preset--color--gray);
	border-bottom: dashed 2px var(--wp--preset--color--gray);
	margin-bottom: 3em;
}

.pp-box {
	counter-reset: pp-h;
}

.pp-box h2 {
	border-top: none !important;
	padding-left: 2em !important;
	text-align: left !important;
	counter-increment: pp-h;
	position: relative;
}

.pp-box h2::before {
	content: counter(pp-h, decimal-leading-zero);
	font-size: 1.25em;
	font-weight: 500;
	position: absolute;
	top: 50%;
	left: 0;
	color: var(--wp--preset--color--primary);
	transform: translateY(-50%);
}

/*
-------------------------------------------------------

1200

-------------------------------------------------------
*/

@media screen and ( max-width: 1200px ) {

	.is-style-tel :where(.wp-element-button, .wp-block-button__link) strong {
		font-size: var(--wp--preset--font-size--28);
	}

	.is-style-email :where(.wp-element-button, .wp-block-button__link) strong {
		font-size: var(--wp--preset--font-size--20);
	}

	.header .wp-block-navigation-item__content {
		padding: 14px var(--wp--preset--spacing--20);
	}

}

/*
-------------------------------------------------------

1000

-------------------------------------------------------
*/

@media screen and ( max-width: 1000px ) {

	.header .g-nav-block {
		background-color: var(--wp--preset--color--primary);
	}

	.toggle-btn {
		background-color: var(--wp--preset--color--base);
		border: solid 2px var(--wp--preset--color--primary);
	}

	.header .header-button.pc {
		display: none;
	}

	.header .header-button.sp {
		display: block;
		margin-top: var(--wp--preset--spacing--60);
	}

	.header .wp-block-site-logo.sp {
		display: block;
		display: grid;
		place-content: center start;
		height: 64px;
	}

	.header .wp-block-navigation-item__content {
		border-bottom: dashed 1px var(--wp--preset--color--base);
		background-color: transparent !important;
	}

	.header .wp-block-navigation-item__content::after {
		font-size: 1.5em;
	}

	.header	.wp-block-site-logo img {
		width: 160px;
	}

	.header .logo {
		padding: 0 var(--wp--preset--spacing--30);
		height: 64px;
	}

	.header .logo .txt {
		margin: 0;
		font-size: var(--wp--preset--font-size--12);
	}

	.header .logo .txt strong {
		font-size: 1.25em;
	}

	.fv-box .logo .wp-block-image img {
		max-width: 80%;
	}

	.info-block .btn {
		flex: 0 0 200px !important;
	}

	.icon-btn {
		font-size: var(--wp--preset--font-size--20);
	}

	.course-list {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--wp--preset--spacing--30);
	}

	.course-list .link-to-cover-and-group-blocks:has( > .course ) {
		font-size: var(--wp--preset--font-size--18);
	}

	.course-list .link-to-cover-and-group-blocks:last-child:has( > .course ) {
		grid-column: 1 / -1;
	}

	.course-list .link-to-cover-and-group-blocks:last-child:has( > .course ) br {
		display: none;
	}

	.step-column {
		flex-direction: column;
	}

	.step-column .step {
		padding: 1em;
	}

	.step-column .step::before {
		display: none;
	}

	.step-column .txt {
		display: flex;
	}

	.step-column .wp-block-heading {
		padding-top: 0;
		padding-bottom: 0;
		display: grid;
		place-content: center;
		height: 40px;
		position: relative;
	}

	.step-column .wp-block-heading::before {
		content: counter(step-column, decimal-leading-zero);
		display: grid;
		place-content: center;
		line-height: 1;
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--40);
		font-weight: 500;
		line-height: 40px;
		position: absolute;
		top: 0;
		left: 10px;
		z-index: 99;
	}

	.step-column .wp-block-heading br {
		display: none;
	}

	.step-column .step + .step::after {
		top: -28px;
		left: calc(50% - 14px);
		transform: translateY(-50%) rotate(90deg);
	}

	.instructor-list {
		gap: var(--wp--preset--spacing--30);
	}

	.lesson-box .wp-block-media-text {
		grid-template-columns: 1.5fr 1fr;
	}

	.arrow-cont {
		gap: 32px;
		font-size: var(--wp--preset--font-size--16);
	}

	.arrow-cont .cont + .cont::after {
		width: 15px;
		height: 18px;
		left: calc(-16px - 8px);
	}

	.lesson-box .wp-block-heading br.sp {
		display: block;
	}

	.column-block {
		gap: var(--wp--preset--spacing--30);
		flex-wrap: nowrap !important;
	}

	.course .programming .img {
		flex: 0 0 30% !important;
	}

	.voice-list {
		gap: var(--wp--preset--spacing--30);
		flex-wrap: nowrap !important;
	}

	.voice-list .cont {
		padding: 1em;
	}

	.voice-list .ttl {
		gap: .5em;
	}

	.voice-list .is-style-bg-gr.wp-block-heading,
	.voice-list .is-style-bg-or.wp-block-heading,
	.voice-list .is-style-bg-bl.wp-block-heading,
	.voice-list .is-style-bg-pl.wp-block-heading,
	.voice-list .is-style-bg-pk.wp-block-heading {
		font-size: var(--wp--preset--font-size--16);
	}

}

/*
-------------------------------------------------------

781

-------------------------------------------------------
*/

@media screen and ( max-width: 781px ) {

	.info-block .btn {
		flex-direction: row;
	}

	.insta-btn .wp-block-button__link::before {
		width: 48px !important;
	}

	.icon-btn {
		padding: .5em;
	}

	.icon-btn .wp-block-image img {
		width: 64px !important;
	}

	.feature-box .img-txt {
		flex-direction: column-reverse;
	}

	.feature-box .img-txt .wp-block-image img {
		width: 80%;
	}

	.feature-box .img-txt .wp-block-buttons {
		justify-content: center;
		margin-top: 1em;
	}

	.access-list,
	.access-list .animation-block {
		width: 100%;
	}

	.access-block .info {
		display: flex;
		width: 100%;
		justify-content: space-between;
		align-items: center;
	}

	.access-block .info > * {
		flex: 1;
	}

	.access-block .info > .wp-block-image {
		margin-top: 0;
	}

	.course-list {
		grid-template-columns: repeat(2, 1fr);
	}

	.course-list .link-to-cover-and-group-blocks:has( > .course ) {
		padding: 1em;
	}

}

/*
-------------------------------------------------------

768

-------------------------------------------------------
*/

@media screen and ( max-width: 768px ) {

	.header .logo-block {
		display: block;
		padding-right: 64px;
	}

	.toggle-btn {
		width: 64px;
		height: 64px;
	}

	.header .logo .txt {
		font-size: var(--wp--preset--font-size--10);
	}

	.header .logo .txt strong {
		font-size: 1.15em;
	}

	.nav-open .header .g-nav-block {
		padding: 0 var(--wp--preset--spacing--30) 2em;
	}

	.fv-box .slider-block img {
		height: 80vw;
	}

	.step-column .txt {
		gap: .75em;
	}

	.cta-block .link-to-cover-and-group-blocks {
		width: 100%;
	}

	.cta-block .cta-btn {
		flex-direction: column;
		gap: .5em;
		padding: 13px var(--wp--preset--spacing--30);
	}

	.cta-block .cta-btn .wp-block-heading {
		font-size: var(--wp--preset--font-size--18);
	}

	.cta-block .cta-btn .tel-num {
		font-size: var(--wp--preset--font-size--40);
		line-height: 1.5;
	}

	.instructor-list {
		grid-template-columns: repeat(1, 1fr);
		gap: var(--wp--preset--spacing--60);
	}

	.instructor-list .instructor {
		padding: 0;
		gap: 1em;
	}

	.instructor-list .wp-block-image img {
		width: 200px !important;
	}

	.instructor-list .txt {
		gap: 1em;
	}

	.access-block .info {
		flex-direction: column-reverse;
		gap: 1em;
		align-items: stretch;
	}

	.ttl .is-style-under-line {
		font-size: var(--wp--preset--font-size--36);
	}

	.lesson-box .wp-block-media-text {
		gap: 1em !important;
	}

	.arrow-cont {
		grid-template-columns: 1fr;
		margin: 1.5em 0;
	}

	.arrow-cont .cont {
		font-size: var(--wp--preset--font-size--18);
		aspect-ratio: auto;
		border-radius: 20px;
		padding: 1em;
	}

	.arrow-cont .cont + .cont::after {
		top: -18px;
		left: calc(50% - 7.5px);
		transform: translateY(-50%) rotate(90deg);
	}

	.lesson-box h3 {
		font-size: var(--wp--preset--font-size--24);
		padding: .25em .5em !important;
	}

	.lesson-box .arrow-down {
		margin-top: 1em;
	}

	.animation-block > * + *,
	.animation-block .block-editor-block-list__layout > * + * {
		margin-top: 1em;
	}

	.column-block {
		flex-direction: column;
		gap: 2em;
	}

	.course-block .course .read {
		font-size: var(--wp--preset--font-size--18);
	}

	.course-block .course .wp-block-media-text {
		flex-direction: column-reverse;
		gap: 1em !important;
		margin: 1em 0;
	}

	.course .programming {
		flex-direction: column-reverse;
	}

	.course .programming .img {
		max-width: 60%;
		margin: 0 auto;
	}

	.voice-list {
		flex-direction: column;
	}

	.voice-list .ttl {
		justify-content: center;
	}

	.voice-list .cont > .wp-block-heading {
		align-self: center;
		text-align: center;
	}

	body:has(.snow-monkey-form) .footer > .copyright {
		padding-bottom: 6em;
	}

	.snow-monkey-form .wp-block-snow-monkey-forms-item.smf-item:has( [data-name=agree] ) {
		padding: 2em 0 3em;
	}

	.snow-monkey-form .smf-item:has( [data-name=agree] ) .smf-item__label {
		padding: 0;
	}

	.snow-monkey-form .smf-item:has( [data-name=agree] ) .smf-checkboxes-control__control {
		height: auto;
	}

	.snow-monkey-form .smf-radio-buttons-control__control,
	.snow-monkey-form .smf-checkboxes-control__control {
		padding: 0;
	}

	.ttl:has(.wp-block-query-title) {
		margin-bottom: 2em;
	}

}

/*
-------------------------------------------------------

hover

-------------------------------------------------------
*/

@media screen and ( min-width: 769px ) {

	.is-style-tel :where(.wp-element-button, .wp-block-button__link):hover,
	.is-style-email :where(.wp-element-button, .wp-block-button__link):hover {
		filter: brightness(1.05);
	}

	.header .wp-block-navigation-item__content:hover {
		color: var(--wp--preset--color--base);
		background-color: var(--wp--preset--color--custom-orange);
	}

	:root :where(.wp-block-button.is-style-outline .wp-block-button__link:hover) {
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
	}

	:root :where(.is-style-bg-gr .wp-block-button.is-style-outline .wp-block-button__link:hover) {
		background-color: var(--wp--preset--color--base);
		color: var(--wp--preset--color--primary);
	}

	:root :where(.wp-block-button.wh.is-style-outline .wp-block-button__link:hover) {
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
	}

	:root :where(#course-03 .wp-block-button.is-style-outline .wp-block-button__link:hover) {
		background-color: var(--wp--preset--color--custom-purple) !important;
	}

	.link-to-cover-and-group-blocks:has( > .icon-btn:hover ) .icon-btn {
		filter: saturate(2);
	}

	.insta-btn .wp-block-button__link:hover {
		filter: saturate(2);
	}

	.cta-block .cta-btn:hover {
		background-color: var(--wp--preset--color--base);
		border-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--primary);
	}

	.cta-btn:hover .tel-num::before {
		background-image: url(../img/common/2x/icon-tel-gr.png);
	}

	.is-style-bg-light-yw .cta-btn:hover {
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--base);
	}

	.is-style-bg-light-yw .cta-btn:hover .tel-num::before {
		background-image: url(../img/common/2x/icon-tel.png);
	}

	.course-list .link-to-cover-and-group-blocks:has( > .course ):hover {
		filter: saturate(2);
	}

}
