/*
	Theme Name: tasksquare
	Theme URI:
	Description:
	Author: 株式会社タスクスクエア
	Author URI:
	Template: lightning
	Version: 1.0
*/


/* common */

:root {
	--color-text: #000;
	--color-bg: var(--color-1);
	--color-key: #7fbe50;
	--color-1: #cffffe;
	--color-2: #fff;
	--color-3: #ecffde;
	--color-4: #fffddc;
	--color-5: #050504;
	--color-6: #ff6900;
	--color-shadow-4: #8a2e00;
	--box-shadow: 0 2px 4px #0505040d, 0 4px 8px #0505040d;
	--wp--preset--color--black: var(--color-5) !important;
	--wp--preset--color--luminous-vivid-orange: var(--color-6) !important;
	--wp--preset--color--luminous-vivid-amber: var(--color-4) !important;
	--wp--preset--color--light-green-cyan: var(--color-3) !important;
	--wp--preset--color--vivid-green-cyan: var(--color-key) !important;
	--wp--preset--color--pale-cyan-blue: var(--color-1) !important;
	--font-family: "fot-tsukuardgothic-std",sans-serif;
	--font-size-xxl: 1.5rem;
	--font-size-xl: 1.25rem;
	--font-size-l: 1.15rem;
	--font-size-m: 18px;
	--font-size-s: .85rem;
	--font-size-xs: .75rem;
	--letter-spacing-m: .05em;
	--line-height-m: 1.75em;
	--line-height-s: 1.5em;
	--line-height-xs: 1.25em;
	--header-height: calc(var(--height-header-logo) + 48px);
	--height-header-logo:calc(80px + 32px + 16px);
	--bg-wave-1-height: 4.6875vw;
	--bg-wave-2-height: 3.645835vw;
	--bg-wave-3-height: 3.125vw;
	--bg-wave-4-height: 4.6875vw;
	--bg-footer-height: 3.125vw;
	--padding-bottom-bg-wave-1: calc(var(--vk-margin-md) + var(--bg-wave-1-height));
	--padding-bottom-bg-wave-2: calc(var(--vk-margin-md) + var(--bg-wave-2-height));
	--padding-bottom-bg-wave-3: calc(var(--vk-margin-md) + var(--bg-wave-3-height));
	--padding-bottom-bg-wave-4: calc(var(--vk-margin-md) + var(--bg-wave-4-height));
	--transition: .3s;
	--pc-header-right: 2vw;
	--border-radius-l: 24px;
	--border-radius-s: 10px;
	--border-radius-xs: 6px;
	--border-radius-xxs: 4px;
	--wp--preset--spacing--20: var(--vk-margin-xxs) !important;
	--wp--preset--spacing--30: var(--vk-margin-xs) !important;
	--wp--preset--spacing--40: var(--vk-margin-sm) !important;
	--wp--preset--spacing--50: var(--vk-margin-md) !important;
	--wp--preset--spacing--60: var(--vk-margin-lg) !important;
	--wp--preset--spacing--70: var(--vk-margin-xl) !important;
	--wp--preset--spacing--80: var(--vk-margin-xxl) !important;
}

@media (max-width: 991.98px) {

	:root {
		--header-height: 64px;
	}

}

body,
#content,
.entry-content,
.post-content,
.page-content,
.post-excerpt,
.entry-summary,
.entry-excerpt,
.widget-area,
.widget,
.sidebar,
#sidebar,
footer,
.footer,
#footer,
.site-footer {
	font-family: var(--font-family) !important;
}

body {
	color: var(--color-text);
	background: var(--color-bg);
	font-size: var(--font-size-m);
	letter-spacing: var(--letter-spacing-m);
	line-height: var(--line-height-m);
	margin: 0;
	overflow-x: hidden;
}

body,
.page-header-inner,
.wp-block-group:not(.alignfull),
.site-footer-content,
.site-footer-copyright {
	max-width: calc(1500px + 2rem);
	margin: 0 auto;
}

body,
.wp-block-group:not(.alignfull) > .wp-block-group__inner-container,
.site-footer-content,
.site-footer-copyright {
	padding: 0 1rem;
}

#site-header-container,
.page-header,
.alignfull,
footer {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}

#site-header-container:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


/* header */

#site-header-container,
#menu-navigation,
.menu-item,
.menu-item>a {
	display: flex;
}

#site-header-container {
	height: var(--header-height);
	display: grid;
	justify-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
}

body.scrolled #site-header-container {
	transform: translateY(calc(0px - var(--header-height) + 48px));
	transition: var(--transition);
}

.site-header-logo {
	background: #ffffff80;
	height: var(--height-header-logo);
	width: 100vw;
	display: flex;
	justify-content: center;
	padding-top: 32px;
	margin: 0;
	position: relative;
}

.site-header-logo:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-logo.svg);
	width: 100%;
	position: absolute;
	bottom: -3px;
	opacity: .5;
}

body:not(.home) .site-header-logo:before {
	bottom: -10px;
}

.site-header-logo a {
	position: relative;
}

.site-header-logo img {
	width: 240px;
}

#menu-navigation {
	width: 100vw;
	justify-content: center;
	position: relative;
}

#menu-navigation:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-menu.svg);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: .75;
}

.menu-item {
	position: relative;
}

#menu-navigation > .menu-item > a:not(#menu-item-275 > a, #menu-item-276 > a, #menu-item-277 > a) {
	background: #fff;
	border-radius: 4em;
	margin-right: 6px;
}

.global-nav-name {
	font-weight: 400;
}

.sub-menu.acc-child-close {
	display: none;
}

.menu-item-has-children:hover > .sub-menu {
	display: flex;
}

/*tel*/#menu-item-274 .global-nav-name:before {
	content: "\f095";
	color: var(--color-4);
	font-family: 'Font Awesome 6 Free';
	font-weight: bolder;
	margin-right: 8px;
}

/*YouTube*/#menu-item-275 a,
/*Instagram*/#menu-item-276 a,
/*X*/#menu-item-277 a {
	width: 32px;
	height: 32px;
}

#menu-item-275 .global-nav-name:before,
#menu-item-276 .global-nav-name:before,
#menu-item-277 .global-nav-name:before {
	font-family: 'Font Awesome 6 Brands';
	font-size: 20px;
	display: flex;
}

#menu-item-275 .global-nav-name:before {
	content: "\f167";
	color: #ff0000;
}

#menu-item-276 .global-nav-name:before {
	content: "\f16d";
	color: #ff0069;
}

#menu-item-277 .global-nav-name:before {
	content: "\e61b";
	color: #000;
}

#menu-item-275 .global-nav-name,
#menu-item-276 .global-nav-name,
#menu-item-277 .global-nav-name {
	font-size: 0;
}

.page-header-inner {
	padding: var(--header-height) 1rem 0;
	min-height: 16vw;
	display: grid;
	align-content: center;
	position: relative;
}

.page-header-inner:after {
	content: "";
	border-bottom: 2px dashed var(--color-5);
	width: calc(100% - 2em);
	position: absolute;
	bottom: 0;
	left: 1em;
}

.page-header-title {
	margin: var(--vk-margin-md) 0;
}

@media (min-width: 992px) {

	/*オンライン見学*/#menu-item-251,
	/*tel*/#menu-item-274,
	.menu-item-privacy-policy {
		display: none;
	}

	.menu-item > a,
	.sub-menu .menu-item > a {
		line-height: 1;
		white-space: nowrap;
		min-width: 0;
		min-height: 48px;
		padding: 0 1em;
		justify-content: center;
		align-items: center;
	}

	.menu-item > a:hover > .global-nav-name:before {
		transform: scale(1.25) rotate(8deg);
		transition: var(--transition);
	}

	.sub-menu {
		position: absolute;
		top: 48px;
		padding: 0;
	}

	.sub-menu .menu-item {
		background: var(--color-key);
	}

	.sub-menu .menu-item:has(a:hover) {
		background: #fff;
		transition: var(--transition);
	}

	.sub-menu .menu-item:first-child {
		border-radius: 0 0 0 var(--border-radius-xxs);
	}

	.sub-menu .menu-item:last-child {
		border-radius: 0 var(--border-radius-xxs) 0 0;
	}

	.sub-menu .menu-item > a {
		color: #fff;
	}

	.sub-menu .menu-item > a:hover {
		color: var(--color-key);
		transition: var(--transition);
	}

	.sub-menu .menu-item + .menu-item {
		border-left: 2px dotted var(--color-1);
	}

}

@media (max-width: 991.98px) {

	#global-nav {
		display: none;
	}

	.site-header-logo {
		padding-top: 8px;
		height: auto;
	}

	.site-header-logo:before {
		content: url(/wp-content/uploads/2025/10/bg-wave-logo.svg);
		width: 100vw;
		left: 0;
		bottom: -2px;
	}

	.site-header-logo:after {
		content: url(/wp-content/uploads/2025/10/bg-wave-menu.svg);
		width: 100vw;
		position: absolute;
		left: 0;
		bottom: -11px;
		opacity: .75;
	}

	.site-header-logo img {
		width: 128px;
	}

	body.scrolled #site-header-container {
		display: none;
	}

	.menu-item a {
		width: 240px !important;
		height: 44px !important;
		border-bottom: 1px solid #ccc;
		align-items: center;
	}

	.menu-item:last-child a {
		border: none;
	}

	.sub-menu.acc-child-close {
		display: grid;
	}

	.sub-menu .menu-item a {
		width: calc(240px - 26px) !important;
	}

}


/* mobile + page top */

#vk-mobile-nav-menu-btn,
#page_top {
	color: var(--color-text);
	font-size: 0;
	line-height: 0;
	display: grid;
	place-content: center;
	position: fixed;
}

#vk-mobile-nav-menu-btn:before,
#page_top:before {
	filter: opacity(0.25);
}

#vk-mobile-nav-menu-btn:after,
#page_top:after {
	line-height: 1;
	text-align: center;
}

#vk-mobile-nav-menu-btn {
	width: 64px;
	height: 64px;
	top: 0;
	right: 0;
	gap: 4px;
	z-index: 1000;
	overflow: hidden;
	cursor: pointer;
}

#vk-mobile-nav-menu-btn:before {
	content: url(/wp-content/uploads/2025/05/icon_sp-nav.svg);
	display: grid;
	width: 40px;
	margin: 0 auto;
}

#vk-mobile-nav-menu-btn:after {
	content: "Menu";
	font-size: 12px;
	letter-spacing: var(--letter-spacing-m);
}

#vk-mobile-nav-menu-btn.menu-open:before {
	content: url(/wp-content/uploads/2025/05/icon_sp-nav_close.svg);
	width: 24px;
}

#vk-mobile-nav-menu-btn.menu-open:after {
	content: "Close";
}

#vk-mobile-nav {
	background-color: #ffffff40;
	-webkit-backdrop-filter: blur(64px);
	backdrop-filter: blur(64px);
	position: fixed;
	z-index: 999;
	width: 100vw;
	height: 100vh;
	display: grid;
	padding: 64px 1em;
	overflow: scroll;
	top: 0;
	left: 0;
	transition: all var(--transition) ease-out;
	transform: translateX(100vw);
}

#vk-mobile-nav.vk-mobile-nav-open {
	transform: translateX(0);
}

.vk-mobile-nav-menu-outer,
.vk-mobile-nav-menu-outer .menu-item {
	display: grid;
}

.vk-mobile-nav-menu-outer {
	place-content: center;
}

.vk-menu-acc-active {
	padding: 0;
	margin: 0;
}

@media (min-width: 992px) {

	#vk-mobile-nav-menu-btn,
	#vk-mobile-nav {
		display: none;
	}

}

#page_top {
	width: 48px;
	height: 48px;
	right: 1rem;
	bottom: 1rem;
	gap: 3px;
	transition: var(--transition);
	opacity: 0;
	mix-blend-mode: multiply;
}

body.scrolled #page_top {
	opacity: 1;
}

#page_top:before {
	content: url(/wp-content/uploads/2025/05/icon_angle.svg);
	width: 32px;
	transition: var(--transition);
	transform: translateY(0);
}

#page_top:hover:before {
	transform: translateY(-8px);
}

#page_top:after {
	content: "Top";
	font-size: 10px;
	letter-spacing: .1em;
}


/* bg */

/*背景色横幅100%*/.wp-block-group.alignfull.has-background {
	padding-top: var(--vk-margin-md);
}

.wp-block-group.alignfull.has-background,
footer {
	position: relative;
}

.wp-block-group.alignfull.has-background:before,
footer:before {
	width: 100vw;
	position: absolute;
	left: 0;
}

/*wave檸*/.wp-block-group.alignfull.has-luminous-vivid-amber-background-color:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-1.svg);
	top: calc(0px - var(
--bg-wave-1-height) + 1px);
}

/*wave白*/.wp-block-group.alignfull.has-white-background-color:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-2.svg);
	top: calc(0px - var(
--bg-wave-2-height) + 1px);
}

/*wave翠*/.wp-block-group.alignfull.has-light-green-cyan-background-color:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-3.svg);
	top: calc(0px - var(
--bg-wave-3-height) + 1px);
}

/*wave水*/.wp-block-group.alignfull.has-pale-cyan-blue-background-color:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-4.svg);
	top: calc(0px - var(
--bg-wave-4-height) + 1px);
}

/*box-color*/.box-color {
	background: #fff;
	padding: var(--vk-margin-xs) 0;
	border-radius: var(--border-radius-xs);
}

.wp-block-group.alignfull.has-white-background-color .box-color > div,
.wp-block-group.alignfull.has-white-background-color .box-color > div > .wp-block-group__inner-container {
	padding: 0;
}

/*box-shadow*/.box-shadow {
	box-shadow: var(--box-shadow);
	position: relative;
}

.box-shadow:before {
	content: "";
	background: var(--color-5);
	transform: rotate(2deg);
	filter: blur(8px);
	opacity: .15;
	width: 90%;
	height: 90%;
	position: absolute;
	top: 10%;
	left: 9.5%;
	z-index: -1;
}

@media (max-width: 991.98px) {

	body:not(.home) .wp-block-cover[style="min-height:100%;aspect-ratio:unset;"] {
		aspect-ratio: 16 / 9 !important;
		width: 100%;
	}

	.order.wp-block-columns {
		flex-wrap: wrap-reverse !important;
	}

}


/* gap */

.gap-8 {
	gap: 24px 8%;
}

.gap-6 {
	gap: 24px 6%;
}

.gap-32px {
	gap: 32px;
}

.gap-8px {
	gap: 8px;
}

.gap-0,
#flow {
	gap: 0;
}


/* padding */

body:not(.home) .site-body {
    padding: var(--vk-margin-md) 0 var(--bg-footer-height);
}


/* font */

h2 {
	font-size: 2em;
	line-height: var(--line-height-xs);
}

body:not(.home) .h2,
body:not(.home) div:not(.h2) > h2 {
	border-left: 8px solid var(--color-key);
	padding-left: .5em;
	margin-bottom: calc(1rem + var(--vk-margin-sm));
	position: relative;
}

body:not(.home) .h2:before,
body:not(.home) div:not(.h2) > h2:before {
	content: "";
	border-bottom: 2px dashed var(--color-key);
	position: absolute;
	bottom: -1rem;
}

body:not(.home) .h2:before {
	width: calc(100% + .5em);
	left: -.5em;
}

body:not(.home) div:not(.h2) > h2:before {
	width: calc(100% + .25em);
	left: -.25em;
}

.tape {
	color: #fff;
	background: var(--color-key);
	width: 240px;
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: skewX(-8deg) rotate(-2deg);
	position: relative;
	z-index: 1;
}

.tape:before {
	content: "";
	border: dashed var(--color-1);
	border-width: 2px 0;
	width: 100%;
	height: 56px;
	position: absolute;
}

.tape .wp-block-group__inner-container {
	padding: 0 !important;
}

.tape .wp-block-heading {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	transform: skewX(8deg) rotate(2deg);
}

.tape .wp-block-heading:before {
	display: none !important;
}

h3 {
	font-size: 1.5em;
	border-left: 6px solid var(--color-key);
	padding-left: .5em;
}

h3.has-luminous-vivid-orange-color {
	font-size: 1.75em;
	border: none;
	padding: 0;
	position: relative;
}

h3.has-luminous-vivid-orange-color:after {
	content: "";
	position: absolute;
	bottom: -12px;
	left: 0;
	width: 100%;
	height: 10px;
	background-image: repeating-linear-gradient(-45deg, var(--color-key), var(--color-key) 1px, transparent 1px, transparent 5px);
	background-size: 7px 7px;
	backface-visibility: hidden;
}

h4 {
	font-size: 1.25em;
	position: relative;
}

.h4 {
	background-image: repeating-linear-gradient(-45deg, var(--color-key), var(--color-key) 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	backface-visibility: hidden;
}

.h4 h4 {
	width: fit-content;
	padding-right: 16px;
	line-height: 1;
}

p {
	text-align: justify;
}

.font-size-s p,
.font-size-s li,
.font-size-s th,
.font-size-s td,
.font-size-s .vk_button_link_txt {
	font-size: var(--font-size-s);
	line-height: var(--line-height-xs);
}

.icon-p {
	color: #fff;
	background: var(--color-key);
	padding: 0 1em;
}

@media (max-width: 575.98px) {

	h2 {
		font-size: 1.65em;
	}

	h3 {
		font-size: 1.25em;
	}

}


/* a */

a {
	text-decoration: unset;
	color: var(--color-text);
}

.vk_post:has(a:hover),
.widget_archive .localNavi a:hover {
	background-color: #fff;
	border-radius: var(--border-radius-xxs) var(--border-radius-l) var(--border-radius-l) var(--border-radius-xxs);
	transition: var(--transition);
}

.entry-body .vk_button {
	margin-top: var(--vk-margin-md);
}

.vk_button_link_txt {
	line-height: var(--line-height-xs);
}

.btn.has-background {
	background: var(--color-key) !important;
	border-radius: var(--border-radius-l);
	position: relative;
}

.btn:has(.fa-arrow-right) {
	padding: 0 44px;
}

.btn.is-style-outline {
	color: var(--color-text) !important;
	border: 1px solid var(--_color-gray);
	min-width: 128px;
	width: fit-content;
	height: 44px;
	display: grid;
	place-content: center;
	position: relative;
}

.btn.is-style-outline:before {
	content: "";
	background: var(--wp--preset--color--vk-color-primary);
	width: 100%;
	height: 100%;
	position: absolute;
	opacity: 0;
	transform: translate(0, 0);
	transition: var(--transition);
}

.btn.is-style-outline:hover:before {
	opacity: .1;
	transform: translate(8px, 4px);
}

.btn-block {
	display: block;
}

.vk_button_link_caption .fa-arrow-right {
	content: url(/wp-content/uploads/2025/05/icon_arrow.svg);
	width: 24px;
	filter: opacity(0.5);
	margin-left: 8px;
}

.btn .fa-arrow-right {
	position: absolute;
	top: calc(50% - 4.5px);
	right: 10px;
	transition: var(--transition);
}

.btn:hover .fa-arrow-right {
	right: 4px;
}

.btn.has-black-background-color .fa-arrow-right {
	filter: invert(1);
}

#anchor a {
	background: #fff;
	border-color: transparent;
}

#anchor .vk_button_link_txt {
	width: calc(100% - 44px);
	position: absolute;
	left: 0;
}

#anchor i {
	color: #6ec0be;
	width: 44px;
	position: absolute;
	right: 0;
}


/* li */

ul {
	padding-left: 26px;
}

ul,
li {
	margin: 0 !important;
}

.is-style-vk-handpoint-mark li::before {
	content: "※" !important;
	color: var(--color-6);
	font-family: unset !important;
}


/* table */

tr:first-child {
	border-top: 1px dashed var(--color-1);
}

tr {
	border-bottom: 1px dashed var(--color-1);
}

th,
td {
	padding: 1.5em .5em !important;
	border: none !important;
}

.padding-s > table th,
.padding-s > table td {
	padding: .75em .5em !important;
}

.padding-0 > table tr {
	border: none;
}

.padding-0 > table th,
.padding-0 > table td {
	padding: 0 !important;
}

th, td:first-child {
	color: var(--color-key);
	font-weight: bolder;
}

@media (max-width: 575.98px) {

	td:first-child {
		padding-bottom: 0 !important;
	}

}


/* hr */

hr {
	border-top: 1px solid var(--color-3) !important;
	margin: 0;
}


/* flow */

#flow #▶ {
	flex-basis: 1.5em !important;
	display: inline-table;
}

#flow #▶ .vk_icon {
	margin: 0;
}

#flow #▶ .vk_icon_border {
	color: var(--color-key) !important;
}

@media (max-width: 991.98px) {
	#flow {
		flex-wrap: nowrap !important;
	}
}

@media (max-width: 575.98px) {

	#flow {
		flex-wrap: wrap !important;
	}

	#flow #▶ .vk_icon {
		transform: rotate(90deg);
	}

	#flow > .wp-block-column:not(#▶) {
		display: flex;
		align-items: center;
	}

	#flow .wp-block-image {
		width: 33.33%;
	}

	#flow .wp-block-group {
		width: 66.66%;
	}

	#flow .wp-block-group__inner-container {
		padding: 0;
	}

	#flow p {
		font-size: 1rem;
	}

}


/* post */

.site-body-container:has(.sub-section--col--two) {
	display: flex;
	justify-content: space-between;
}

.main-section--col--two {
	width: 66.66%;
}

.postListText_date {
	font-size: var(--font-size-s);
	width: 128px;
}

.postListText {
	display: flex;
	padding: 1em 0;
}

.postListText_title {
	font-size: var(--font-size-l);
	margin: 0;
}

.postListText_title a {
	color: var(--color-text);
}

.sub-section--col--two {
	width: 300px;
}

.widget_archive .localNavi {
	padding: 0;
}

.widget_archive .localNavi li {
	display: flex;
}

.widget_archive .localNavi a {
	width: 100%;
	padding: .5em;
	border-bottom: 1px solid var(--_light-color-gray);
}

body.single .entry-meta-item-date i,
body.single .entry-meta-item-updated,
body.single .entry-meta-item-author,
body.single .entry-meta-data-list--category,
body.single .next-prev,
body.single-guideline .entry-meta {
	display: none;
}

body.post-type-post #main {
	background: #fff;
	padding: var(--vk-margin-sm) var(--vk-margin-md);
	border-radius: var(--border-radius-s);
}

@media (max-width: 991.98px) {

	.site-body-container:has(.sub-section--col--two),
	.menu-item-has-children:hover > .sub-menu {
		display: grid;
		justify-content: unset;
	}

	.main-section--col--two,
	.sub-section--col--two {
		width: 100%;
	}

}


/* guideline */

body.single-guideline table {
	background: #fff;
	border-radius: var(--border-radius-l);
}

body.single-guideline tr {
	border-bottom: 6px dotted var(--color-1);
}

body.single-guideline tr:last-child {
	border-bottom: none;
}


/* form */

.smf-item__col--label {
	font-weight: bolder;
	background: unset !important;
}


/* footer */

footer {
	color: #fff;
	font-size: var(--font-size-m);
	background: var(--color-key);
	margin-top: var(--vk-margin-md);
	z-index: 100;
}

body.home footer {
	margin-top: 0;
}

footer:before {
	content: url(/wp-content/uploads/2025/10/bg-wave-footer.svg);
	top: calc(0px - var(--bg-footer-height) + 1px);
}

#breadcrumb {
	display: none;
}

#vk_breadcrumb,
#vk_breadcrumb i,
#vk_breadcrumb a {
	color: var(--color-2);
	font-size: var(--font-size-xs);
}

#vk_breadcrumb .vk_breadcrumb_list {
	padding: 0;
}

#vk_breadcrumb i {
	margin: 0;
}

#vk_breadcrumb i+span {
	display: none;
}

.site-footer-copyright p {
	color: #fff;
	font-size: var(--font-size-xs);
	line-height: var(--line-height-xs);
	min-height: 64px;
	margin: 0;
	display: flex;
	align-items: center;
}