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

plugin

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


/* yoast
---------------------------------------- */

/* yoast-breadcrumbs */

.wp-block-template-part:has( > .yoast-breadcrumbs ) {
	margin: 0 !important;
	padding: 0 !important;
}

.wp-block-template-part > .yoast-breadcrumbs {
	font-size: var(--wp--preset--font-size--14);
	white-space: nowrap;
	overflow: auto;
	background-color: var(--wp--preset--color--dark-gray);
	color: var(--wp--preset--color--base);
	padding: 11px var(--wp--preset--spacing--30);
}

.yoast-breadcrumbs a {
	color: var(--wp--preset--color--base);
}

.yoast-breadcrumbs span span + span {
	padding-left: 35px;
	position: relative;
}

.yoast-breadcrumbs span span + span::before {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	font-variation-settings:
		'FILL' 1,
		'wght' 200;
	width: 35px;
	line-height: 16px;
	text-align: center;
	font-size: 2em;
	opacity: .5;
	position: absolute;
	top: 0;
	left: 0;
	transition: all .2s;
}

/* schema-faq-section */

.schema-faq-section {
	border: none;
	padding: 0;
}

.schema-faq-section + .schema-faq-section {
	margin-top: var(--wp--preset--spacing--20);
}

.schema-faq-section .schema-faq-question {
	display: block;
	padding: 10px 0 10px 64px;
	line-height: 1.6;
	font-size: var(--wp--preset--font-size--20);
	color: var(--wp--preset--color--contrast);
	position: relative;
}

.schema-faq-section .schema-faq-question::before {
	content: 'Q';
	width: 48px;
	height: 48px;
	font-size: var(--wp--preset--font-size--20);
	line-height: 44px;
	text-align: center;
	background: var(--wp--preset--color--custom-purple);
	color: var(--wp--preset--color--base);
	border-radius: 50%;
	position: absolute;
	top: calc( 50% - 24px );
	left: 0;
}

.schema-faq-section .schema-faq-answer {
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--base);
	border-radius: 10px;
	margin: 15px 0 0;
}

.schema-faq-section .schema-faq-answer strong {
	display: block;
	line-height: 1.6;
	font-family: "Shippori Mincho", serif;
	font-weight: 500 !important;
	font-size: var(--wp--preset--font-size--20);
	color: var(--wp--preset--color--contrast);
	margin-bottom: var(--wp--preset--spacing--20);
}

.schema-faq-section .schema-faq-answer strong + br {
	display: none;
}

.ans-icon .schema-faq-section .schema-faq-answer {
	border: none;
	padding: 10px 0 10px 64px;
	margin-top: 1rem;
	position: relative;
}

.ans-icon .schema-faq-section .schema-faq-answer::before {
	content: 'A';
	width: 48px;
	height: 48px;
	font-size: var(--wp--preset--font-size--20);
	line-height: 48px;
	text-align: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
}

.schema-faq.is-style-toggle-btn .schema-faq-question {
	display: block;
	font-family: "Shippori Mincho", serif;
	font-weight: 500 !important;
	font-size: var(--wp--preset--font-size--20);
	padding-right: var(--wp--preset--spacing--50);
	cursor: pointer;
	position: relative;
	transition: color .2s;
}

.schema-faq.is-style-toggle-btn .schema-faq-question::after {
	font-family: "Material Symbols Outlined";
	font-variation-settings:
		'FILL' 1,
		'wght' 300;
	font-size: var(--wp--preset--font-size--40);
	line-height: 40px;
	content: '\e145';
	color: var(--wp--preset--color--custom-purple);
	position: absolute;
	top: calc( 50% - 20px );
	right: 0;
}

.schema-faq.is-style-toggle-btn .schema-faq-question.active::after {
	content: '\e15b';
}

/* how-to */

.schema-how-to .schema-how-to-total-time {
	display: inline-block;
	font-size: var(--wp--preset--font-size--14);
	line-height: 1.5;
	background: var(--wp--preset--color--light-gray);
	padding: 5.5px 12px;
	border-radius: 4px;
	margin: 0;
}

.schema-how-to .schema-how-to-description {
	margin: 1em 0 0;
}

.schema-how-to .schema-how-to-steps {
	counter-reset: custom-counter;
	list-style: none;
	padding: 0;
	margin: 2em 0 0;
}

.schema-how-to .schema-how-to-step {
	position: relative;
	border: none;
	padding: 0 0 3em;
}

.schema-how-to .schema-how-to-step::after {
	content: '';
	display: inline-block;
	width: 2px;
	height: 100%;
	background: var(--wp--preset--color--gray);
	font-size: var(--wp--preset--font-size--20);
	position: absolute;
	top: 24px;
	left: calc( 24px - 1px );
	z-index: 1;
}

.schema-how-to .schema-how-to-step:last-of-type::after {
	display: none;
}

.schema-how-to .schema-how-to-step:has( .schema-how-to-step-name:empty )::after {
	content: none;
}

.schema-how-to .schema-how-to-step-name {
	counter-increment: custom-counter;
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: var(--wp--preset--font-size--24);
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}

.schema-how-to .schema-how-to-step-name::before {
	content: counter(custom-counter, decimal-leading-zero);
	display: grid;
	place-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--roboto);
	font-size: var(--wp--preset--font-size--20);
	font-weight: 600;
	z-index: 2;
}

.schema-how-to .schema-how-to-step-name:empty::before {
	content: none;
}

.schema-how-to .schema-how-to-step-text {
	margin: 1em 0 0;
	padding-left: calc( 48px + 15px );
	overflow: hidden;
}

.schema-how-to .schema-how-to-step-text img {
	width: 30%;
	float: right;
	margin-left: var(--wp--preset--spacing--30);
}

.schema-how-to-step-number {
	display: none;
}


@media ( max-width: 1000px ) {

	.schema-faq-section .schema-faq-answer {
		padding: var(--wp--preset--spacing--30);
	}

}

@media ( min-width: 751px ) {

	.schema-faq.is-style-toggle-btn .schema-faq-question:hover {
		color: var(--wp--preset--color--custom-purple);
	}

}

@media ( max-width: 750px ) {

	.schema-faq-section .schema-faq-question {
		padding: 10px 0 10px 56px;
	}

	.schema-faq-section .schema-faq-question::before {
		width: 36px;
		height: 36px;
		line-height: 32px;
		top: calc( 50% - 18px );
	}

	.schema-faq-section .schema-faq-answer {
		padding: var(--wp--preset--spacing--30);
		margin-top: var(--wp--preset--spacing--10);
		font-size: var(--wp--preset--font-size--14);
	}

	.schema-faq-section .schema-faq-answer strong {
		margin-bottom: var(--wp--preset--spacing--10);
	}

	.schema-faq.is-style-toggle-btn .schema-faq-question {
		padding: 10px var(--wp--preset--spacing--70) 10px 45px;
		line-height: 1.5;
		letter-spacing: .05em;
		font-size: var(--wp--preset--font-size--18);
	}

	.schema-how-to .schema-how-to-step-name {
		font-size: var(--wp--preset--font-size--20);
	}

	.schema-how-to .schema-how-to-step {
		padding: 0 0 2em;
	}

	.schema-how-to .schema-how-to-step-text img {
		float: none;
		width: 100%;
		margin: 0;
	}

}


/* addtoany
---------------------------------------- */

.addtoany_list a {
	padding: 0 !important;
	margin-left: 16px;
	line-height: .5;
}

.addtoany_list a:not(.addtoany_special_service)>span {
	padding: 3px !important;
	border-radius: 50% !important;
}

.a2a_kit a span {
	opacity: 1!important;
	transition: all .2s;
}


@media ( max-width: 750px ) {

	.addtoany_list a {
		margin: 0 0 0 10px;
	}

}

/* hover */

@media ( min-width: 751px ) {

	.a2a_kit a:hover span {
		transform: scale( 1.15 );
	}

}



/* lwptoc
------------------------------------------------------- */

.lwptoc-light .lwptoc_i {
	width: 100%;
	background: var(--wp--preset--color--light-gray);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.lwptoc_header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 0;
	color: var(--wp--preset--color--contrast);
}

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

.lwptoc_title::before {
	font-variation-settings:
		'FILL' 1,
		'wght' 300;
	font-family: "Material Symbols Outlined";
	content: '\e896';
	vertical-align: middle;
	font-size: 1.5em;
	color: var(--wp--preset--color--custom-purple);
	margin-right: 8px;
	position: relative;
	top: -.04em;
}

.lwptoc_toggle {
	font-size: var(--wp--preset--font-size--12);
	margin-left: 0;
}

.lwptoc-baseItems .lwptoc_items {
	font-size: var(--wp--preset--font-size--16);
	margin-top: var(--wp--preset--spacing--10);
}

.lwptoc-light .lwptoc_i A {
	color: var(--wp--preset--color--contrast) !important;
}

.main .lwptoc-notInherit .lwptoc_i DIV A {
	border: none !important
}

.lwptoc_item {
	margin-top: 0;
}

.lwptoc_itemWrap .lwptoc_itemWrap {
	margin: 0 0 0 1.5em;
}

.lwptoc_item .lwptoc_item .lwptoc_itemWrap {
	margin: 0;
}

.lwptoc_item_number {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--roboto);
	font-weight: 600;
}

.lwptoc_item_number::after {
	content: '.';
}

@media ( min-width: 751px ) {

	.main .lwptoc-notInherit .lwptoc_i DIV A:hover {
		color: var(--wp--preset--color--primary) !important;
	}

}


/* ez-toc
---------------------------------------- */

#ez-toc-container {
	background: var(--wp--preset--color--light-gray);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
}

#ez-toc-container a {
	text-decoration: none;
}

#ez-toc-container .ez-toc-title {
	font-size: var(--wp--preset--font-size--24);
	line-height: 1.5;
	margin: 0;
}

#ez-toc-container .ez-toc-title::before {
	font-family: 'Material Symbols Outlined';
	content: '\e896';
	vertical-align: middle;
	font-size: 1.5em;
	color: var(--wp--preset--color--primary);
	margin-right: 8px;
	position: relative;
	top: -.04em;
}

#ez-toc-container ul {
	list-style: none;
	counter-reset: list;
	padding-left: var(--wp--preset--spacing--20);
	margin: 0;
}

#ez-toc-container li {
	padding: 0;
}

#ez-toc-container li::before {
	display: none;
}

#ez-toc-container a::before {
	display: inline-block;
	content: counters( list, '.' ) '. ';
	counter-increment: list;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--roboto);
	font-weight: normal;
	font-size: 1.25em;
	vertical-align: middle;
	margin-right: 4px;
	transform: translateY( -10% );
}

#ez-toc-container a {
	color: var(--wp--preset--color--contrast);
}


@media ( max-width: 1000px ) {

	#ez-toc-container {
		padding: var(--wp--preset--spacing--20);
	}

	#ez-toc-container ul {
		padding-left: var(--wp--preset--spacing--10);
	}

}


/* link
---------------------------------------- */

/* hover */

@media ( min-width: 751px ) {

	.link-block {
		overflow: hidden;
	}

	.link-block .wp-block-cover__image-background {
		transition: all .6s;
	}

	.link-block:hover .wp-block-cover__image-background {
		transform: scale( 1.15 );
	}

	.link-block .wp-block-cover__background {
		transition: all .6s;
	}

	.link-block:hover .wp-block-cover__background {
		opacity: .2;
	}

}

/* linkcard
---------------------------------------- */

body .linkcard {
	margin: 2em auto 0 !important;
}

.linkcard > div {
	width: 100%;
	max-width: 100%;
	background: transparent;
}

.linkcard a.lkc-link {
	display: block;
	width: 100%;
	color: var(--wp--preset--color--contrast);
	border: solid 1px var(--wp--preset--color--gray);
}

.linkcard .lkc-card {
	margin: 0;
}

.linkcard .lkc-info {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--light-gray);
}

.linkcard .lkc-date {
	font-family: var(--wp--preset--font-family--roboto);
}

.linkcard .lkc-info .lkc-domain {
	font-size: var(--wp--preset--font-size--14);
}

.linkcard .lkc-content {
	display: grid;
	grid-template-columns: 180px 1fr;
	grid-template-rows: auto auto auto;
	row-gap: 10px;
	height: auto;
	padding: var(--wp--preset--spacing--30);
	padding-right: 60px;
	margin: 0;
	position: relative;
}

.linkcard .lkc-content::after {
	display: inline-block;
	font-family: "Material Symbols Outlined";
	font-size: 24px;
	font-weight: 300;
	color: var(--wp--preset--color--primary);
	content: '\e9ba';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY( -50% );
}

.linkcard .lkc-external-wrap .lkc-content::after {
	content: '\e89e';
}

.linkcard .lkc-thumbnail {
	float: none;
	width: 100%;
	height: 120px;
	margin: auto;
	padding-right: var(--wp--preset--spacing--30);
	grid-column: 1 / 2;
	grid-row: 1 / 4;
}

.linkcard .lkc-thumbnail-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.linkcard .lkc-title {
	place-content: flex-end;
}

.linkcard .lkc-title-text {
	font-size: var(--wp--preset--font-size--16);
	line-height: 1.6;
	text-decoration: none;
}

.linkcard .lkc-url {
	font-size: var(--wp--preset--font-size--14);
	color: var( --wp--preset--color--primary );
	line-height: 1.6;
}

.linkcard .lkc-excerpt {
	font-size: var(--wp--preset--font-size--14);
	line-height: 1.6;
}


@media ( max-width: 1000px ) {

	.linkcard .lkc-content {
		padding: var(--wp--preset--spacing--20);
		padding-right: 60px;
	}

	.linkcard .lkc-thumbnail {
		padding-right: var(--wp--preset--spacing--20);
	}

}


@media ( max-width: 750px ) {

	.linkcard .lkc-content {
		grid-template-columns: 120px 1fr;
		padding: var(--wp--preset--spacing--20);
		padding-bottom: var(--wp--preset--spacing--40);
	}

	.linkcard .lkc-content::after {
		top: auto;
		right: 15px;
		bottom: 5px;
		transform: none;
	}

	.linkcard .lkc-thumbnail {
		grid-row: 1 / 3;
		height: 80px;
	}

	.linkcard .lkc-excerpt {
		grid-column: 1 / 3;
	}

}

/* hover */

@media ( min-width: 751px ) {

	.linkcard a.lkc-link:hover {
		border-color: var(--wp--preset--color--primary);
	}

}


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

common

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

.wp-site-blocks {
	padding-top: 0;
}

.wp-block-image,
.wp-block-table,
.wp-block-embed,
.linkcard,
.wp-block-shortcode {
	margin-block-start: 2em;
	margin-block-end: 0;
}

:where(body .is-layout-constrained) > * {
	margin-block-start: 2em;
}

main.wp-block-group {
	margin-block-start: 0 !important;
}

.is-style-en {
	font-family: var(--wp--preset--font-family--roboto);
}

.is-style-img-center {
	text-align: center;
}

.is-style-img-center * {
	margin-right: auto;
	margin-left: auto;
}

.is-style-img-right {
	text-align: right;
}

.is-style-img-right * {
	margin-left: auto;
}

.is-style-group-center {
	text-align: center;
}

.is-style-group-center ul,
.is-style-group-center ol {
	display: inline-block;
}

.is-style-group-center li {
	text-align: left;
}

.is-style-group-right {
	text-align: right;
}

.is-style-inline-block {
	display: inline-block !important;
}

.is-style-no-link a {
	pointer-events: none;
}

.is-style-quote-01 {
	position: relative;
	border: none;
	background: var(--wp--preset--color--light-gray);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	margin-top: 3.2em !important;
}

.is-style-quote-01::before {
	content: '“';
	width: 48px;
	height: 48px;
	position: absolute;
	top: 0;
	left: var(--wp--preset--spacing--10);
	color: var(--wp--preset--color--primary);
	font-size: 96px;
	line-height: 1;
	text-align: center;
	font-family: serif;
	transform: translateY( -50% );
}

.wp-block-embed {
	max-width: 640px;
	margin-right: auto;
	margin-left: auto;
}

.wp-block-search__inside-wrapper {
	position: relative;
}

.wp-block-search__inside-wrapper::before {
	font-family: "Material Symbols Outlined";
	font-size: 24px;
	font-weight: 300;
	line-height: 24px;
	color: var(--wp--preset--color--custom-purple);
	content: '\e8b6';
	position: absolute;
	top: calc( 50% - 12px );
	left: 10px;
	z-index: 1;
}

.wp-block-search__input {
	width: 100%;
	font-size: var(--wp--preset--font-size--17);
	padding: 14px 0 14px 40px;
	background-color: var(--wp--preset--color--base);
	border: solid 1px var(--wp--preset--color--gray);
	border-radius: 10px;
	outline: none;
	position: relative;
}

.link-to-cover-and-group-blocks {
	display: block;
	color: var(--wp--preset--color--contrast);
}

.radar-chart {
	max-width: 100%;
	width: 640px;
}


@media ( max-width: 1000px ) {

	.share-wrap {
		padding: var(--wp--preset--spacing--20) !important;
	}

	.is-style-quote-01::before {
		width: 40px;
		height: 40px;
		font-size: 80px;
	}

}


@media ( max-width: 750px ) {

	.share-wrap {
		justify-content: center !important;
	}

}


/* cat-menu
---------------------------------------- */

.cat-menu {
	list-style: none;
	padding: 0;
	border-top: solid 1px var(--wp--preset--color--gray);
	margin-top: var(--wp--preset--spacing--30);
}

.cat-menu > li {
	border-bottom: solid 1px var(--wp--preset--color--gray);
}

.cat-menu > li > a {
	display: block;
	color: var(--wp--preset--color--contrast);
	padding: 18px 40px 18px 0;
	position: relative;
}

.cat-menu > li > a::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	font-variation-settings:
		'FILL' 0,
		'wght' 200;
	font-size: 2em;
	line-height: 20px;
	color: var(--wp--preset--color--custom-purple);
	position: absolute;
	top: calc( 50% - 10px );
	right: 0;
	transition: all .2s;
}

.cat-menu li ul {
	list-style: none;
	padding: 0;
}

.cat-menu li ul li {
	width: 100%;
	border-top: solid 1px var(--wp--preset--color--gray);
}

.cat-menu li ul a {
	display: block;
	color: var(--wp--preset--color--contrast);
	padding: 18px 0 18px 40px;
	position: relative;
}

.cat-menu li ul a::before {
	content: '';
	width: 12px;
	height: 2px;
	background: var(--wp--preset--color--primary);
	position: absolute;
	top: calc( 50% - 1px );
	left: 20px;
}

@media ( min-width: 751px ) {

	.cat-menu a:hover {
		color: var(--wp--preset--color--custom-purple);
	}

	.cat-menu > li > a:hover::after {
		right: -4px;
	}

}


/* bnr
---------------------------------------- */

.bnr a {
	transition: all .4s;
}

/* hover */

@media ( min-width: 751px ) {

	.bnr:hover a {
		transform: scale( 1.05 );
		box-shadow: 0 10px 10px rgba( 0, 0, 0, .05 );
	}

}


/* contact
---------------------------------------- */

.is-style-tel-icon {
	transition: all .2s;
}

.is-style-tel-icon::before {
	display: inline-block;
	content: '';
	width: 30px;
	height: 30px;
	background: url(../img/page/hall/2x/icon-tel.png) center center / contain no-repeat;
	margin-right: 5px;
	transition: all .2s;
}

.is-style-mail-icon::before {
	display: inline-block;
	font-variation-settings:
		'FILL' 0,
		'wght' 300;
	font-family: "Material Symbols Outlined";
	font-weight: 200;
	line-height: 1.2;
	color: var(--wp--preset--color--primary);
	content: '\e158';
	margin-right: 8px;
	transform: translateY( 12% );
	transition: all .2s;
}

.tel-bnr {
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--20);
	border: solid 1px var(--wp--preset--color--primary);
	transition: all .2s;
}

@media ( max-width: 1000px ) {

	.is-style-tel-icon::before {
		width: .9em;
		height: .9em;
		margin-right: 10px;
	}

}

/* hover */

@media ( min-width: 751px ) {

	.tel-bnr:hover {
		border-color: var(--wp--preset--color--secondary);
	}

	.tel-bnr:hover .is-style-tel-icon,
	.tel-bnr:hover .is-style-tel-icon::before {
		color: var(--wp--preset--color--secondary) !important;
	}

}

.mail-bnr {
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--primary);
	padding: var(--wp--preset--spacing--20);
	border: solid 1px var(--wp--preset--color--primary);
	transition: all .2s;
}

.mail-bnr .is-style-mail-icon::before {
	color: var(--wp--preset--color--base);
	transition: all .2s;
}

/* hover */

@media ( min-width: 751px ) {

	.mail-bnr:hover {
		color: var(--wp--preset--color--primary);
		background: var(--wp--preset--color--light-gray);
	}

	.mail-bnr:hover .is-style-mail-icon::before {
		color: var(--wp--preset--color--primary);
	}

}


/* tab-menu
---------------------------------------- */

.editor-styles-wrapper .tab-menu .tab-cont .cont {
	opacity: 1 !important;
	visibility: visible !important;
	position: relative !important;
}

.tab-menu .tab-btn  {
	padding: 0 var(--wp--preset--spacing--20) !important;
	gap: var(--wp--preset--spacing--20);
}

.tab-menu .tab-btn .tab {
	width: auto !important;
	flex: 1 !important;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: var(--wp--preset--font-size--18);
	cursor: pointer;
	background-color: var(--wp--preset--color--light-gray);
	transition: all .2s;
}

.tab-menu .tab-btn .tab.active {
	background: var(--wp--preset--color--custom-purple) !important;
	color: var(--wp--preset--color--base);
}

.tab-menu .tab-cont {
	flex-direction: column;
	position: relative;
}

.tab-menu .tab-cont .cont {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	flex-basis: auto !important;
}

.tab-menu .tab-cont .cont.active {
	opacity: 1;
	visibility: visible;
	position: relative;
}

@media ( max-width: 750px ) {

	.tab-menu .wp-block-heading {
		margin-top: 0 !important;
	}

	.tab-menu .tab-btn .tab {
		font-size: var(--wp--preset--font-size--15);
		white-space: nowrap;
	}

}

/* hover */

@media ( min-width: 751px ) {

	.tab-menu .tab:hover:not(.active) {
		background-color: var(--wp--preset--color--custom-purple) !important;
		color: var(--wp--preset--color--base);
	}

}


/* comment
---------------------------------------- */

.is-style-comment .image {
	flex-basis: 96px !important;
}

.is-style-comment .balloon {
	flex-basis: calc( 100% - var(--wp--preset--spacing--40) - 96px ) !important;
}

.is-style-comment .balloon .txt {
	display: grid;
	place-items: center start;
	min-height: 96px;
	position: relative;
}

.is-style-comment .balloon .txt::after {
	content: '';
	border-style: solid;
	border-width: 10px 20px;
	border-color: transparent;
	border-left-color: var(--wp--preset--color--light-gray);
	position: absolute;
	top: 38px;
	right: 0;
	transform: translateX( 100% );
}

.is-style-comment .image + .balloon .txt::after {
	border-right-color: var(--wp--preset--color--light-gray);
	border-left-color: transparent;
	right: auto;
	left: 0;
	transform: translateX( -100% );
}

@media ( max-width: 781px ) {

	.is-style-comment {
		gap: 2em !important;
	}

	.is-style-comment.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.balloon {
		flex-basis: calc( 100% - 2em - 64px ) !important;
	}

	.is-style-comment.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.image {
		flex-basis: 64px !important;
	}

	.is-style-comment .balloon .txt {
		min-height: 64px;
		padding: .5em 1em !important;
		line-height: 1.8;
	}

	.is-style-comment .balloon .txt::after {
		border-width: 8px 16px;
		top: 24px;
	}

}


/* sp-accordion
---------------------------------------- */

.sp-accordion {
	position: relative;
}

.sp-accordion .more-btn {
	display: none;
	text-transform: capitalize;
	text-align: center;
	margin-top: 1em;
}

.editor-styles-wrapper .sp-accordion .more-btn {
	display: block;
}

.sp-accordion .more-btn .wp-block-button {
	min-width: 180px;
	white-space: nowrap;
}

@media ( max-width: 750px ) {

	.sp-accordion .cont {
		max-height: 6em;
		overflow: hidden;
		position: relative;
	}

	.sp-accordion .cont::after {
		content: '';
		height: 3em;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		pointer-events: none;
		transition: all .2s;
	}

	.sp-accordion .cont.open::after {
		opacity: 0;
		visibility: hidden;
	}

	.sp-accordion .more-btn {
		display: block;
	}

}


/* history
---------------------------------------- */

.history {
	position: relative;
}

.history::before,
.history::after {
	content: '';
	height: 20px;
	position: absolute;
	right: 0;
	left: 0;
	z-index: 99;
}

.history::before {
	background: linear-gradient(to top, rgba(255, 255, 255, 0), #fff);
	top: 0;
}

.history::after {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	bottom: 0;
}

.history .cont {
	margin: 0;
	gap: 0;
}

.history .date {
	flex-basis: 100px;
	flex-shrink: 0;
	font-size: 2em;
	font-family: var(--wp--preset--font-family--roboto);
	text-align: left;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	padding: 0;
}

.history .read {
	flex-basis: calc( 100% - 100px );
	flex-shrink: 0;
	min-height: 80px;
	display: grid;
	place-content: center start;
	line-height: 1.8;
	padding: 20px 0 20px 30px;
	position: relative;
}

.history .read::before {
	content: '';
	width: 1px;
	background-color: var(--wp--preset--color--gray);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3px;
}

.history .read::after {
	content: '';
	width: 7px;
	height: 7px;
	background-color: var(--wp--preset--color--primary);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY( -50% );
}

@media ( max-width: 750px ) {

	.history::before,
	.history::after {
		height: 10px;
	}

	.history .date {
		flex-basis: 80px;
		font-size: 1.75em;
	}

	.history .read {
		flex-basis: calc( 100% - 80px );
		padding: 10px 0 10px 30px;
	}

}


/* data-list
---------------------------------------- */

.data-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2em;
}

.data-list .data {
	width: 100%;
	margin: 0;
	padding: 2em;
	text-align: center;
	gap: 4px;
	border: solid 1px var(--wp--preset--color--gray);
}

.data-list .ttl {
	gap: 4px;
}

.data-list .ttl .wp-block-heading {
	display: grid;
	place-content: center;
}

.data-list .ttl .is-style-en {
	color: var(--wp--preset--color--primary);
}

.data-list .data-point {
	justify-content: center;
	font-size: var(--wp--preset--font-size--24);
	font-weight: 600;
	gap: 2px;
	align-items: baseline;
	margin-top: 0;
	color: var(--wp--preset--color--primary);
}

.data-list .data-point .num {
	font-size: 2em;
	line-height: 65px;
}

.data-list .data-point .ja {
	font-size: 1.5em;
}

.data-list .note,
.data-list .sub {
	margin-top: 4px;
}

.data-list .note p,
.data-list .sub p {
	font-size: var(--wp--preset--font-size--14);
	line-height: 1.8;
}

.data-list .note p {
	display: inline-block;
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
}

.data-list .img {
	margin: 1em 0;
}

@media ( max-width: 750px ) {

	.data-list {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--20);
	}

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

	.data-list .data-point .num {
		line-height: 1.2;
	}

	.data-list .img {
		margin: var(--wp--preset--spacing--20) 0;
	}

}


/* block-table
---------------------------------------- */

.block-table {
	width: 100%;
	border-top: solid 1px var(--wp--preset--color--gray);
	border-left: solid 1px var(--wp--preset--color--gray);
}

.block-table .thead,
.block-table .tbody {
	width: 100%;
	padding: 0 !important;
}

.block-table .tr {
	align-items: stretch !important;
	width: 100%;
}

.block-table .th,
.block-table .td {
	display: grid;
	place-items: center;
	text-align: center;
	line-height: 1.5;
	padding: 1.2em;
	width: 100%;
	border-right: solid 1px var(--wp--preset--color--gray);
	border-bottom: solid 1px var(--wp--preset--color--gray);
}

.block-table .thead .th,
.block-table .thead .td {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.block-table .tbody .th {
	text-align: center;
	background: var(--wp--preset--color--light-gray);
}

/* left-header */

.block-table.left-header {
	border-top: none;
	border-left: none;
}

.block-table.left-header .tr > *:first-of-type {
	width: 25%;
}

.block-table.left-header .tr > * {
	width: 75%;
}

.block-table.left-header .th {
	border-right: none;
	border-bottom: solid 1px var(--wp--preset--color--primary);
}

.block-table.left-header .td {
	border-right: none;
	justify-content: start;
	text-align: left;
}

.block-table.left-header .tr:first-of-type .th {
	border-top: solid 1px var(--wp--preset--color--primary);
}

.block-table.left-header .tr:first-of-type .td {
	border-top: solid 1px var(--wp--preset--color--gray);
}

.block-table.left-header .thead .th,
.block-table.left-header .thead .td {
	border: none !important;
}

/* sticky-table */

.sticky-table .scroll-wrap::-webkit-scrollbar {
	width: 5px;
	height: 5px;
	background: var(--wp--preset--color--light-gray);
}

.sticky-table .scroll-wrap::-webkit-scrollbar-track {
	box-shadow: none;
}

.sticky-table .scroll-wrap::-webkit-scrollbar-thumb {
	background-color: var(--wp--preset--color--gray);
	box-shadow: none;
}

.sticky-table .scroll-wrap {
	width: 100%;
	max-height: 400px;
	overflow: scroll;
	border-bottom: solid 1px var(--wp--preset--color--gray);
	border-left: solid 1px var(--wp--preset--color--gray);
	position: relative;
}

.sticky-table .block-table {
	border-left: none;
	background: var(--wp--preset--color--base);
}

.sticky-table .block-table .tr {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(80px, 1fr));
}

.sticky-table .block-table .th,
.sticky-table .block-table .td {
	border-bottom: none;
}

.sticky-table .block-table .thead {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 2;
}

.sticky-table .block-table .thead .th:first-child {
	z-index: 3;
}

.sticky-table .block-table .tbody .th,
.sticky-table .block-table .tbody .td {
	background: var(--wp--preset--color--base);
}

.sticky-table .block-table .tbody .tr:nth-of-type( 2n ) .th,
.sticky-table .block-table .tbody .tr:nth-of-type( 2n ) .td {
	background: var(--wp--preset--color--light-gray);
}

.sticky-table .block-table .th:first-child {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 1;
}

@keyframes swipe {

	0% {
		transform: translateX( -15px );
		opacity: 0;
	}
	20% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	60% {
		transform: translateX( -45px );
		opacity: 0;
	}
	100% {
		transform: translateX( -45px );
		opacity: 0;
	}

}

.sticky-table::before {
	display: none;
	font-family: 'Material Symbols Outlined';
	content: '\eb59';
	font-size: 56px;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	position: absolute;
	top: 0;
	right: 0;
	opacity: 0;
	animation: swipe 3s linear 1s infinite normal;
	z-index: 4;
}

@media ( max-width: 1000px ) {

	.sticky-table {
		padding-top: 64px;
		position: relative;
	}

	.sticky-table::before {
		display: block;
	}

	.sticky-table .block-table {
		min-width: 1000px;
	}

}

@media ( max-width: 750px ) {

	.block-table .th,
	.block-table .td {
		padding: .8em;
	}

	.block-table.left-header .th {
		width: 30^;
	}

	.block-table.left-header .tr > *:first-of-type {
		width: 35%;
	}

	.block-table.left-header .tr > * {
		width: 65%;
	}

	.block-table.left-header .td {
		text-align: left;
	}

}


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

buttons

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

.wp-element-button,
.wp-block-button__link {
	transition: all .2s;
}

@media ( max-width: 750px ) {

	.wp-element-button,
	.wp-block-button__link  {
		display: block;
		width: 100%;
		text-align: center;
	}

}


/* arrow-right
---------------------------------------- */

.wp-block-button.is-style-arrow-right {
	width: 400px;
	max-width: 100%;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link {
	font-size: var(--wp--preset--font-size--18);
	font-family: "Shippori Mincho", serif;
	font-weight: 500 !important;
	letter-spacing: .1em;
	position: relative;
	margin: 0 auto;
	padding: .6em 3em .8em;
}

.wp-block-button.is-style-arrow-right .wp-block-button__link::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	font-variation-settings:
		'FILL' 0,
		'wght' 200;
	font-size: 3em;
	line-height: 40px;
	position: absolute;
	top: calc( 50% - 20px );
	right: 0;
	opacity: .5;
	transition: all .2s;
}

/* hover */

@media ( min-width: 751px ) {

	.wp-block-button.is-style-arrow-right .wp-block-button__link:hover::after {
		transform: translateX( 5px );
	}

}


/* arrow-left
---------------------------------------- */

.wp-block-button.is-style-arrow-left .wp-block-button__link {
	font-size: var(--wp--preset--font-size--18);
	font-family: "Shippori Mincho", serif;
	font-weight: 500 !important;
	letter-spacing: .1em;
	position: relative;
	margin: 0 auto;
	padding: .6em 1.6em .8em 3.2em;
}

.wp-block-button.is-style-arrow-left .wp-block-button__link::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cb';
	font-variation-settings:
		'FILL' 0,
		'wght' 200;
	font-size: 3em;
	line-height: 40px;
	position: absolute;
	top: calc( 50% - 20px );
	left: 0;
	opacity: .5;
	transition: all .2s;
}

@media ( max-width: 750px ) {

	.wp-block-button.is-style-arrow-left .wp-block-button__link {
		padding: .6em 3.2em .8em 3.2em;
	}

}

/* hover */

@media ( min-width: 751px ) {

	.wp-block-button.is-style-arrow-left .wp-block-button__link:hover::after {
		transform: translateX( -5px );
	}

}


/* view-more
---------------------------------------- */

.is-style-view-more .wp-block-button__link {
	display: inline-block;
	font-family: var(--wp--preset--font-family--roboto);
	text-transform: capitalize;
	padding: 4px 32px 4px 18px;
	border: none;
	border-radius: 20px;
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
	position: relative;
}

.is-style-view-more .wp-block-button__link::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	right: 10px;
	transition: all .2s;
}

/* hover */

@media ( min-width: 751px ) {

	.is-style-view-more .wp-block-button__link:hover::after {
		right: 5px;
	}

}

@media ( max-width: 750px ) {

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

	.voice-box .wp-block-buttons:has( .wp-block-button.is-style-arrow-right ) {
		padding-right: var(--wp--preset--spacing--40);
		padding-left: var(--wp--preset--spacing--40);
	}

	.wp-block-button.is-style-arrow-right .wp-block-button__link {
		width: 100%;
		padding: .4em 2em .6em;
	}

	.wp-block-button.is-style-arrow-right .wp-block-button__link::after {
		font-size: 2em;
	}

}


/* page-menu
---------------------------------------- */

.page-menu {
	padding: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--light-gray);
	border-radius: 10px;
}

.page-menu .wp-block-buttons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--20);
}

.wp-block-buttons:has( .is-style-page-menu ) {
	width: 100%;
}

.wp-block-button.is-style-page-menu {
	flex: 1;
}

.wp-block-button.is-style-page-menu .wp-block-button__link {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: var(--wp--preset--font-size--18);
	font-weight: 500 !important;
	display: grid;
	place-content: center;
	height: 100%;
	padding: .6em var(--wp--preset--spacing--10);
	color: var(--wp--preset--color--contrast);
	background-color: var(--wp--preset--color--base);
	border: solid 1px var(--wp--preset--color--primary);
	border-radius: 5px;
	transition: all .2s;
}

.wp-block-button.is-style-page-menu .wp-block-button__link::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cf';
	font-variation-settings:
		'FILL' 0,
		'wght' 200;
	font-size: 2em;
	color: var(--wp--preset--color--primary);
	display: block;
	text-align: center;
	line-height: .5em;
	transition: all .2s;
}


@media ( max-width: 750px ) {

	.page-menu {
		padding: var(--wp--preset--spacing--20) !important;
	}

	.page-menu .wp-block-buttons {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr);
	}

	.wp-block-button.is-style-page-menu .wp-block-button__link::after {
		line-height: .8;
	}

	.wp-block-button.is-style-page-menu .wp-block-button__link {
		width: 100%;
		line-height: 1.5;
		padding-top: .4em;
		padding-bottom: .2em;
	}

}

/* hover */

@media ( min-width: 751px ) {

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

	.wp-block-button.is-style-page-menu .wp-block-button__link:hover::after {
		transform: translateY( 5px );
		color: var( --wp--preset--color--base );
	}

}


/* mail-btn / tel-btn
---------------------------------------- */

.is-style-mail-btn .wp-element-button,
.is-style-tel-btn .wp-element-button {
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
	transition-property: color, background-color, border;
	position: relative;
	transition-duration: .2s;
}

.is-style-mail-btn .wp-element-button::before,
.is-style-tel-btn .wp-element-button::before {
	display: inline-block;
	font-variation-settings:
		'FILL' 0,
		'wght' 100;
	font-family: "Material Symbols Outlined";
	font-size: 2em;
	font-weight: 200;
	line-height: 40px;
	color: var(--wp--preset--color--base);
	content: '';
	position: absolute;
	top: calc( 50% - 20px );
	left: .2em;
	opacity: .5;
	transition: color .2s;
}

.is-style-mail-btn .wp-element-button::before {
	content: '\e158';
}

.is-style-tel-btn .wp-element-button::before {
	display: inline-block;
	content: '';
	width: 30px;
	height: 30px;
	background: url(../img/page/hall/2x/icon-tel-wh.png) center center / contain no-repeat;
	position: absolute;
	top: calc( 50% - 15px );
	left: .5em;
	transition: all .2s;
}

.is-style-mail-btn .wp-block-button__link,
.is-style-tel-btn .wp-block-button__link {
	padding: 6px 2.4em 8px;
	font-size: var(--wp--preset--font-size--20);
	border-radius: 5px;
}

/* hover */

@media ( min-width: 751px ) {

	.is-style-mail-btn .wp-element-button:hover,
	.is-style-tel-btn .wp-element-button:hover {
		background: var(--wp--preset--color--base);
		color: var(--wp--preset--color--primary);
	}

	.is-style-mail-btn .wp-element-button:hover::before,
	.is-style-tel-btn .wp-element-button:hover::before {
		color: var(--wp--preset--color--primary);
	}

}

/* mail-btn
---------------------------------------- */

.sns-btn-set {
	line-height: .5;
}

.sns-btn-set a {
	display: inline-block !important;
	width: 32px;
	height: 32px;
	padding: 4px;
	background: #000;
	border-radius: 50%;
	transition: transform .2s;
}

.sns-btn-set .icon_instagram a {
	background: #ff0069;
}

.sns-btn-set .icon_facebook a {
	background: #1877F2;
}

.sns-btn-set .icon_youtube a {
	background: #FF0000;
}

/* hover */

@media ( min-width: 751px ) {

	.sns-btn-set a:hover {
		transform: scale( 1.15 );
	}

}


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

list

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


/* ul-list / ol-list
---------------------------------------- */

.is-style-ul-list,
.is-style-ol-list {
	list-style: none;
	padding: 0;
}

.is-style-ul-list li,
.is-style-ol-list li {
	padding-left: 1.4em;
	position: relative;
	line-height: 1.6;
}

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

.is-style-ul-list li::before {
	content: '';
	width: 5px;
	height: 5px;
	background: var(--wp--preset--color--primary);
	border-radius: 50%;
	position: absolute;
	top: .6em;
	left: .4em;
}

.is-style-ol-list {
	counter-reset: ol;
}

.is-style-ol-list li::before {
	content: counters( ol, '.') '. ';
	counter-increment: ol;
	display: inline-block;
	min-width: 1em;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--roboto);
	font-size:  1.1em;
	position: absolute;
	top: -.05em;
	left: .2em;
}

/* check-list
---------------------------------------- */

.is-style-check-list {
	padding-left: 0;
	margin: 0 auto;
	list-style: none;
}

.is-style-check-list li {
	position: relative;
	padding-left: 1.8em;
	line-height: 1.5;
	text-align: left;
}

.is-style-check-list li::before {
	font-family: "Material Symbols Outlined";
	font-size: 1.25em;
	display: grid;
	place-items: center;
	width: 1.25em;
	height: 1.25em;
	line-height: 1.25em;
	color: var(--wp--preset--color--custom-purple);
	content: '\e5ca';
	position: absolute;
	top: 0;
	left: 0;
}

.is-style-check-list li + li {
	margin-top: .5em;
}

/* annotation-list
---------------------------------------- */

.is-style-annotation-list {
	padding-left: 0;
	margin: 0;
	list-style: none;
	line-height: 1.5;
}

.is-style-annotation-list li {
	position: relative;
	padding-left: 1em;
	font-size: var(--wp--preset--font-size--14);
	line-height: 1.8;
	text-align: left;
	text-indent: -1em;
}

.is-style-annotation-list li > * {
	display: inline;
}

.is-style-annotation-list li::before {
	content: '※';
	display: inline;
}

.is-style-annotation-list li + li {
	margin-top: .4em;
}


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

table

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


/* table-01
---------------------------------------- */

.is-style-table-01 table {
	border-collapse: collapse;
	border-spacing: 0;
	border-top: solid 1px var( --wp--preset--color--gray );
	border-left: solid 1px var( --wp--preset--color--gray );
	line-height: 1.5;
}

.is-style-table-01 thead {
	background: var( --wp--preset--color--custom-purple );
	color: #fff;
	border: none;
}

.is-style-table-01 th,
.is-style-table-01 td,
.is-style-table-01 .wp-element-caption {
	border-color: var( --wp--preset--color--gray );
	border-style: solid;
	border-width: 0 1px 1px 0;
	padding: .8em;
}

.is-style-table-01 tfoot {
	border-top: none;
	background: var(--wp--preset--color--light-gray);
}

.is-style-table-01 .wp-element-caption {
	border: none;
}


/* table-02
---------------------------------------- */

.is-style-table-02 table {
	border: none;
	background-color: var(--wp--preset--color--base);
}

.is-style-table-02 thead {
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--base );
}

.is-style-table-02 thead th,
.is-style-table-02 thead td {
	border: none;
	padding: 12px;
	text-align: center;
}

.is-style-table-02 tbody th,
.is-style-table-02 tbody td {
	border: none;
	padding: 19.5px 1em;
	border-bottom: solid 1px var( --wp--preset--color--gray );
}

.is-style-table-02 tbody tr > *:first-child {
	width: 30%;
	border-color: var( --wp--preset--color--custom-purple ) !important;
}

.is-style-table-02 tbody tr:first-child > * {
	border-top: solid 1px var( --wp--preset--color--gray );
}

.is-style-table-02 thead + tbody tr:first-child > * {
	border-top: none;
}

.is-style-table-02 .wp-element-caption {
	border: none;
}

.is-style-table-02 tfoot {
	border: none;
	color: var( --wp--preset--color--dark-gray );
}


@media ( max-width: 750px ) {

	.is-style-table-02 tbody th,
	.is-style-table-02 tbody td {
		padding: 16px 8px;
	}

	.is-style-table-02 tbody tr > *:first-child {
		width: 30%;
	}

}


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

heading

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

.is-style-heading-01,
.is-style-heading-02,
.is-style-heading-03,
.is-style-heading-04,
.is-style-heading-05 {
	margin-block-start: 2em;
}

/* heading-01
---------------------------------------- */

.is-style-heading-01 {
	border-top: solid 1px var(--wp--preset--color--primary);
	border-bottom: solid 1px var(--wp--preset--color--primary);
	padding: .4em 0 .6em;
	text-align: center;
}

/* heading-02
---------------------------------------- */

.is-style-heading-02 {
	background: var(--wp--preset--color--light-gray);
	padding: .6em .8em;
	font-size: var(--wp--preset--font-size--24);
}

/* heading-03
---------------------------------------- */

.is-style-heading-03 {
	font-size: var(--wp--preset--font-size--28);
	border-left: solid 3px var(--wp--preset--color--custom-purple);
	padding-left: .6em;
}

/* heading-04
---------------------------------------- */

.is-style-heading-04 {
	padding-bottom: .6em;
	border-bottom: solid 1px var(--wp--preset--color--custom-purple);
	font-size: var(--wp--preset--font-size--20);
}

/* heading-05
---------------------------------------- */

.is-style-heading-05 {
	padding-left: 24px;
	position: relative;
	font-size: var(--wp--preset--font-size--20);
}

.is-style-heading-05::before {
	content: '';
	width: 16px;
	height: 4px;
	background: var(--wp--preset--color--primary);
	position: absolute;
	top: .8em;
	left: 0;
}

/* heading-06
---------------------------------------- */

.is-style-heading-06 {
	font-size: var(--wp--preset--font-size--20);
	padding-bottom: var(--wp--preset--spacing--10);
	border-bottom: double 3px var(--wp--preset--color--primary);
}

/* heading-07
---------------------------------------- */

.is-style-heading-07 {
	position: relative;
	padding-bottom: var(--wp--preset--spacing--20);
	background: transparent;
}

.is-style-heading-07::before {
	content: '';
	width: 40px;
	height: 2px;
	background: var(--wp--preset--color--custom-purple);
	position: absolute;
	bottom: -1px;
	left: 0;
}

.is-style-heading-07.has-text-align-center::before {
	left: calc( 50% - 20px );
}

.is-style-heading-07.has-text-align-right::before {
	right: 0;
	left: auto;
}

.wp-block-cover .is-style-heading-07::before {
	background: #fff;
}

/* heading-08
---------------------------------------- */

.is-style-heading-08 {
	background-color: var(--wp--preset--color--custom-purple);
	color: var(--wp--preset--color--base);
	padding: 7px 1em 9px;
	border-radius: 5px;
}

/* heading-09
---------------------------------------- */

.is-style-heading-09 {
	display: flex;
	align-items: center;
	gap: 1em;
}

.is-style-heading-09::after {
	content: '';
	flex: 1;
	height: 3px;
	border-top: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
}

@media ( max-width: 750px ) {

	.is-style-heading-09 {
		gap: .8em;
	}

	.is-style-heading-09::before {
		content: '';
		flex: 1;
		height: 3px;
		border-top: solid 1px #aaa;
		border-bottom: solid 1px #aaa;
	}

}

/*
@media ( max-width: 1000px ) {

	.is-style-heading-01,
	.is-style-heading-02,
	.is-style-heading-03,
	.is-style-heading-04,
	.is-style-heading-05 {
		margin-block-start: 1.5em !important;
	}

}
*/


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

title

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


/* ttl-01
---------------------------------------- */


.ttl-01 {
	position: relative;
	padding-bottom: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60);
	text-align: center;
}

.ttl-01::before {
	content: '';
	width: 2px;
	height: var(--wp--preset--spacing--40);
	background: var( --wp--preset--color--primary );
	position: absolute;
	bottom: 0;
	left: calc( 50% - 1px );
}

.ttl-01 .is-style-en {
	font-size: var(--wp--preset--font-size--64);
	font-weight: 400;
	line-height: 1;
	text-align: center;
}

.ttl-01 .wp-block-heading {
	margin-top: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--20);
	font-weight: 400;
	line-height: 1.2;
}


/* ttl-02
---------------------------------------- */

.ttl-02 {
	position: relative;
	padding-bottom: 5px;
}

.ttl-02::before {
	content: '';
	width: 40px;
	height: 2px;
	background: var( --wp--preset--color--primary );
	position: absolute;
	bottom: 0;
	left: 0;
}

.ttl-02.is-content-justification-center::before {
	left: calc( 50% - 20px );
}

.ttl-02.is-content-justification-right::before {
	right: 0;
	left: auto;
}

.ttl-02.is-content-justification-center > * {
	text-align: center;
}

.ttl-02.is-content-justification-right > * {
	text-align: right;
}

.ttl-02 .wp-block-heading {
	font-size: var(--wp--preset--font-size--18);
	font-weight: 400;
}

.ttl-02 .is-style-en {
	font-size: var(--wp--preset--font-size--32);
	line-height: 1.5;
	margin: var(--wp--preset--spacing--10) 0 var(--wp--preset--spacing--30);
}


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

layout

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

/* img-txt
---------------------------------------- */

.img-txt {
	margin-top: var(--wp--preset--spacing--80);
	gap: var(--wp--preset--spacing--30) 0px;
}

.img-txt .img img {
	width: 100%;
	min-height: 400px;
	max-height: 600px;
}

.img-txt .txt {
	padding: 0 var(--wp--preset--spacing--40);
}

.img-txt .txt-wrap {
	width: calc( 550px - var(--wp--preset--spacing--40) );
	max-width: 100%;
	margin: 0 0 0 auto;
}

.img-txt .img + .wp-block-column .txt-wrap {
	margin: 0 auto 0 0;
}


@media ( max-width: 1000px ) {

	.img-txt .img {
		flex-basis: 45% !important;
	}

	.img-txt .txt {
		padding: 0 var(--wp--preset--spacing--30);
	}

	:where(.img-txt .is-layout-constrained) > * {
		margin-block-start: 1.5em;
	}

}


@media ( max-width: 1000px ) {

	.img-txt .img img {
		min-height: 40vw;
	}

	.img-txt .txt p {
		margin-top: 1.5em;
		line-height: 1.8;
	}

	.img-txt .txt .wp-block-buttons {
		margin-top: 1.5em;
	}

}


@media ( max-width: 750px ) {

	.img-txt {
		gap: var(--wp--preset--spacing--40) 0 !important;
	}

	.img-txt .img {
		order: 1;
	}

	.img-txt .txt {
		order: 2;
	}

	.img-txt .txt-wrap {
		width: 100%;
	}

	.img-txt .wp-block-buttons {
		justify-content: center;
	}

	.has-text-align-center.is-style-sp-left {
		text-align: left;
	}

}



/* column-list
---------------------------------------- */

.column-list {
	margin-top: var(--wp--preset--spacing--80);
}

.column-list .wp-block-heading {
	margin-top: var(--wp--preset--spacing--10);
}

.column-list .cont-wrap {
	gap: var(--wp--preset--spacing--20);
}


/* step-column
---------------------------------------- */

.step-column {
	counter-reset: step-column;
	position: relative;
	margin-top: var(--wp--preset--spacing--80);
	gap: var(--wp--preset--spacing--40) 48px;
}

.step-column .wp-block-column {
	position: relative;
}

.step-column .step-arrow {
	margin: 0;
}

.step-column .wp-block-image {
	position: relative;
	text-align: center;
}

.step-column .wp-block-image * {
	display: inline-block !important;
}

.step-column .wp-block-column + .wp-block-column .step-arrow::before {
	font-family: 'Material Symbols Outlined';
	color: var(--wp--preset--color--primary);
	content: '\e5cc';
	font-size: 32px;
	line-height: 32px;
	position: absolute;
	top: calc( 50% - 16px );
	left: -40px;
	transition: all .2s;
}

.step-column .step-arrow + p {
	margin-top: var(--wp--preset--spacing--30);
}

.step-column .txt {
	margin: var(--wp--preset--spacing--30) 0 0;
}

.step-column .txt p {
	margin-top: var(--wp--preset--spacing--20);
}

.num-label,
.step-num-label {
	width: 48px;
	height: 48px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 2px;
	font-size: var(--wp--preset--font-size--20);
	text-align: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--roboto);
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 1;
}

.step-num-label {
	width: 72px;
	height: 72px;
	line-height: 1.2;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--14);
}

.step-num-label strong {
	color: var( --wp--preset--color--base );
	font-size: var(--wp--preset--font-size--20);
}

.step-column .step-num-label {
	width: 64px;
	height: 64px;
}

@media ( max-width: 1000px ) {

	.step-column {
		gap: var(--wp--preset--spacing--30) 36px !important;
	}

	.step-column .wp-block-column + .wp-block-column .step-arrow::before {
		left: -34px;
	}

	.step-column .step-num-label {
		width: 48px;
		height: 48px;
		font-size: var(--wp--preset--font-size--12);
	}

}


@media ( max-width: 750px ) {

	.num-label,
	.step-column .step-num-label {
		width: 40px;
		height: 40px;
		line-height: 1.1;
	}

	.step-column img {
		aspect-ratio: 16 / 9 !important;
	}

	.step-column .wp-block-column + .wp-block-column {
		margin-top: 24px;
	}

	.step-column .wp-block-column + .wp-block-column .step-arrow::before {
		content: '\e5cf';
		top: -44px;
		left: calc( 50% - 16px );
	}

	.step-column .wp-block-column.icon {
		display: flex;
		align-items: center;
	}

	.step-column .wp-block-column.icon .step-arrow {
		width: 140px;
	}

	.step-column .wp-block-column.icon .wp-block-image {
		margin: 0 !important;
	}

	.step-column .wp-block-column.icon img {
		aspect-ratio: 1 / 1 !important;
	}

	.step-column .wp-block-column.icon .txt {
		width: calc( 100% - 140px );
		margin: 0 !important;
		font-size: var(--wp--preset--font-size--14);
		line-height: 1.8;
	}

	.step-column .wp-block-column.icon .txt h3 {
		text-align: left;
	}

}


/* column
---------------------------------------- */

@media ( max-width: 1000px ) {

	.wp-block-columns.column {
		gap: var(--wp--preset--spacing--20) !important;
	}

}


@media ( max-width: 750px ) {

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

	.wp-block-columns.column img {
		aspect-ratio: 16 / 9 !important;
	}

}


/* step-column
---------------------------------------- */

.step-list {
	margin-top: var(--wp--preset--spacing--80);
}

.step-list .wp-block-columns {
	position: relative;
	margin: 0;
}

.step-list .wp-block-columns::before {
	content: '';
	width: 2px;
	height: 100%;
	background: var(--wp--preset--color--gray);
	position: absolute;
	top: 0;
	left: 35px;
}

.step-list > div:last-of-type::before {
	display: none;
}

.step-list .col  {
	padding: 0 0 var(--wp--preset--spacing--40) 90px;
}

.step-list .wp-block-template-part:has( .btn-set ) {
	margin-block-start: 1.5rem;
}

.step-list .btn-set {
	gap: var(--wp--preset--spacing--20);
	padding: 0 !important;
}

.step-list .btn-set > * {
	flex: 1;
}

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

.step-list .wp-block-button .wp-block-button__link {
	display: block;
	padding: 19px;
}

.step-list .link-to-cover-and-group-blocks:has( .tel-link ) {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;
	padding-bottom: 5px;
	border: solid 1px var(--wp--preset--color--gray);
	transition: all .2s;
}


@media ( max-width: 1000px ) {

	.step-num-label {
		width: 56px;
		height: 56px;
	}

	.step-list .wp-block-columns {
		gap: 1rem;
	}

	.step-list .wp-block-columns::before {
		left: 27px;
	}

	.step-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.txt {
		padding-left: 72px !important;
		flex-basis: 70% !important;
	}

	.step-list .txt .wp-block-heading {
		margin: 15px 0 !important;
	}

	.step-list .txt p {
		margin-block-start: 0;
		letter-spacing: 0;
	}

	.step-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.img {
		flex-basis: calc( 30% - 1rem ) !important;
	}

}


@media ( max-width: 750px ) {

	.step-num-label {
		width: 48px;
		height: 48px;
		font-size: var(--wp--preset--font-size--12);
		line-height: 1.1;
	}

	.step-num-label strong {
		font-size: var(--wp--preset--font-size--16);
	}

	.step-list .wp-block-columns::before {
		left: 23px;
	}

	.step-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.txt {
		padding-left: 64px !important;
		padding-bottom: 0 !important;
	}

	.step-list .txt .wp-block-heading {
		margin-top: 0 !important;
	}

	.step-list .img {
		margin: 0 0 30px 64px;
	}

	.step-list .btn-set {
		flex-direction: column;
	}

	.step-list .btn-set > * {
		flex: auto;
		width: 100%;
	}

	.step-list .wp-block-template-part:has( .btn-set ) {
		margin-block-start: 1rem;
	}

}

/* hover */

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

	.step-list .link-to-cover-and-group-blocks:has( .tel-link ):hover {
		border-color: var(--wp--preset--color--primary);
	}

}


/* border-block
---------------------------------------- */

@media ( max-width: 750px ) {

	.border-block {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20) !important;
	}

}


/* bg-block
---------------------------------------- */

@media ( max-width: 750px ) {

	.bg-block {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20) !important;
	}

}


/* txt-bnr-m
---------------------------------------- */

@media ( max-width: 750px ) {

	.txt-bnr-m .wp-block-cover {
		min-height: 160px !important;
	}

}


/* contact-block
---------------------------------------- */

@media ( max-width: 750px ) {

	.contact-block {
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--20) !important;
	}

	.contact-block .txt {
		margin-top: var(--wp--preset--spacing--20) !important;
		text-align: left !important;
	}

	.contact-block .btn {
		margin-top: var(--wp--preset--spacing--20) !important;
	}

}


/* info-list
---------------------------------------- */

.info-list {
	gap: var(--wp--preset--spacing--10);
}

.info-list .row {
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
}

.info-list .info-item {
	gap: 0;
}

.info-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.ttl {
	flex-basis: 8em !important;
	flex-shrink: 0 !important;
}

.info-list .ttl > * {
	font-size: var(--wp--preset--font-size--16);
	font-weight: normal;
	text-align: center;
	background-color: var(--wp--preset--color--light-gray);
	padding: 2px;
	border-radius: 16px;
	line-height: 1.8;
}

.info-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.txt {
	flex-basis: calc( 100% - 8em ) !important;
	padding: 2px 0 2px var(--wp--preset--spacing--20);
	line-height: 1.8;
}

@media ( max-width: 750px ) {

	.info-list .row {
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
	}

	.info-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.ttl {
		flex-basis: 7em !important;
	}

	.info-list .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.txt {
		flex-basis: calc( 100% - 7em ) !important;
	}

}


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

FAQ

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

.faq-list {
	margin-top: var(--wp--preset--spacing--80);
}

.faq-list p {
	margin-top: var(--wp--preset--spacing--20);
}

.faq-list .q-icon {
	width: 48px;
	height: 48px;
	line-height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	padding-top: 4px;
	margin: 0 !important;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--roboto);
}

.faq-list .q-icon + .wp-block-heading {
	flex: 1;
}


@media ( max-width: 1000px ) {

	.faq-list .a {
		padding: var(--wp--preset--spacing--30) !important;
	}

}


@media ( max-width: 750px ) {

	.faq-list .q-icon {
		width: 40px;
		height: 40px;
		line-height: 40px;
	}

	.faq-list .a {
		padding: var(--wp--preset--spacing--20) !important;
	}

	.faq-list p {
		margin-top: var(--wp--preset--spacing--10);
	}

}

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

query

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

/* query
------------------------------------------------------- */

.wp-block-query .post-list {
	list-style: none;
	padding: 0;
}

.wp-block-query .post-list .thumb {
	border: none;
	transition: all .2s;
	overflow: hidden;
}

.wp-block-query .post-list img {
	transition: all .6s;
}

.wp-block-query .wp-block-post:has( .wp-block-read-more ) {
	padding: var(--wp--preset--spacing--40);
	position: relative;
}

.wp-block-query .wp-block-read-more.txt-none {
	padding: 0 !important;
}

.wp-block-query .wp-block-read-more.txt-none .btn {
	display: none;
}

/* is-style-slider-posts */

.is-style-slider-posts {
	position: relative
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .is-style-slider-posts {
	margin-right: calc( var(--wp--preset--spacing--10) * -1 );
	margin-left: calc( var(--wp--preset--spacing--10) * -1 );
}

.is-style-slider-posts .post-list {
	display: flex !important;
	justify-content: center;
	text-align: left;
	padding-bottom: var(--wp--preset--spacing--10);
	transition: all .2s;
}

.is-style-slider-posts .post-list.post-list.slick-slider {
	visibility: hidden;
	opacity: 0;
}

.editor-styles-wrapper .is-style-slider-posts .post-list.slick-slider,
.is-style-slider-posts .post-list.slick-slider.slick-initialized {
	visibility: visible;
	opacity: 1;
}

.is-style-slider-posts .slick-slide {
	margin: 0 var(--wp--preset--spacing--10);
}

.is-style-slider-posts .post .wp-block-read-more {
	padding: 0;
	text-indent: -9999px;
	overflow: hidden;
	background-color: transparent !important;
}

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

	.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .is-style-slider-posts {
		margin-right: calc( var(--wp--preset--spacing--20) * -1 );
		margin-left: calc( var(--wp--preset--spacing--20) * -1 );
	}

}

/* is-style-full-slider-posts */

.is-style-full-slider-posts .post-list {
	display: flex !important;
	justify-content: center;
	padding-bottom: var(--wp--preset--spacing--10);
	transition: all .2s;
}

.is-style-full-slider-posts .post-list.slick-slider {
	visibility: hidden;
	opacity: 0;
}

.editor-styles-wrapper .is-style-full-slider-posts .post-list,
.is-style-full-slider-posts .post-list.slick-initialized {
	visibility: visible;
	opacity: 1;
}

.is-style-full-slider-posts .slick-slide {
	margin: 0 var(--wp--preset--spacing--10);
}

.is-style-full-slider-posts .post .wp-block-read-more {
	padding: 0;
	text-indent: -9999px;
	overflow: hidden;
	background-color: transparent !important;
}

/* is-layout-grid */

.post-list.is-layout-grid {
	gap: var(--wp--preset--spacing--40);
	border: none;
}

.post-list.is-layout-grid .post-item {
	flex-direction: column;
	padding: 0;
	border: none;
	gap: 0;
	margin: 0;
}

.post-list.is-layout-grid .post-title-meta {
	gap: 1em;
}

.post-list.is-layout-grid .post-item .post-meta {
	flex-direction: row !important;
}

.post-list.is-layout-grid .post-item .post-meta .wp-block-post-terms {
	width: inherit !important;
	line-height: .5;
}

.post-list.is-layout-grid .post-item .post-meta .term .wp-block-post-terms__separator {
	display: none;
}

.post-list.is-layout-grid .post-item .post-meta .term a {
	display: none;
}

.post-list.is-layout-grid .post-item .post-meta .term a:first-child {
	display: inline-block;
}

.post-list.is-layout-grid .post-item .wp-block-post-title {
	font-size: var(--wp--preset--font-size--20);
	/*
	display: grid;
	place-content: center left;
	*/
}

.post-list.is-layout-grid .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--14);
}

/* post-list--
------------------------------------------------------- */

.post-list--simple .post {
	padding: 0 !important;
	margin-top: 0 !important;
}

.post-list--simple .post-item {
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--20);
	border-bottom: solid 1px var(--wp--preset--color--gray);
	transition: all .2s;
}

.post-list--simple li:last-child .post-item {
	border: none;
}

.post-list--simple .wp-block-post-date {
	flex-basis: 5em;
	font-size: var(--wp--preset--font-size--14);
}

.post-list--simple .post-item .wp-block-post-title {
	font-size: var(--wp--preset--font-size--16);
	flex: 1;
	font-weight: normal;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: 30px;
	position: relative;
}

.post-list--simple .post-item .wp-block-post-title::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	font-variation-settings:
		'FILL' 0,
		'wght' 200;
	font-size: 2em;
	line-height: 20px;
	color: var(--wp--preset--color--custom-purple);
	position: absolute;
	top: calc( 50% - 10px );
	right: 0;
	transition: all .2s;
}

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

.post-list--meta .post-item {
	padding-top: var(--wp--preset--spacing--20);
	padding-bottom: var(--wp--preset--spacing--20);
}

.post-list--meta .post-title-meta {
	gap: var(--wp--preset--spacing--10);
}

.post-list--meta .post-item .wp-block-post-title {
	font-size: var(--wp--preset--font-size--18);
}

.post-list--thumb-meta .post-list .post-item .post-title-meta {
	gap: 8px;
}

.post-list--thumb-meta .post-list .post-item .taxonomy-blog_category {
	margin-top: var(--wp--preset--spacing--10);
}

.post-list--thumb-meta .post-list .post-item .taxonomy-blog_category a {
	pointer-events: none;
}

.post-list--thumb-meta .post-list.is-layout-grid .post-item .wp-block-post-title {
	font-size: 1.17em
}

.popular-posts,
.related-posts {
	margin-top: var(--wp--preset--spacing--70);
}


/* animation-block
------------------------------------------------------- */

.animation-block {
	margin-top: var(--wp--preset--spacing--80);
}

/* shape */

.is-style-animation-shape .wp-block-heading .label,
.is-style-animation-shape .wp-block-image,
.is-style-animation-shape .wp-block-media-text__media {
	position: relative;
	overflow: hidden;
}

.is-style-animation-shape .wp-block-heading .label{
	display: inline-block;
	line-height: 1.5;
}

.is-style-animation-shape .shape {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background-color: var(--wp--preset--color--contrast);
	transform: translateX( -101% );
}

/* scramble */

.is-style-animation-scramble .wp-block-heading {
	display: inline-block;
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: break-word;
	white-space: normal;
}


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

1000

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

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

	.side-column {
		flex-basis: 200px !important;
	}

}

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

750

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

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

	.post-header {
		padding-top: var(--wp--preset--spacing--spacing-50);
		padding-bottom: var(--wp--preset--spacing--spacing-50);
	}

	.post-nav-block .post-nav {
		flex-direction: column;
	}

	.post-nav-block .post-nav .post-navigation-link-previous,
	.post-nav-block .post-nav .post-navigation-link-next {
		width: 100%;
	}

	.post-nav-block .back-btn {
		width: 100%;
		order: 3;
		justify-content: center;
		padding: 10px 0;
	}

	.main-contents .is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.post-item .wp-block-post-title {
		font-size: var(--wp--preset--font-size--18);
	}

	.sidebar .wp-block-heading {
		margin-bottom: 0;
	}

	.wp-block-categories-list .cat-item-none {
		padding: .9em 0 .9em 1em;
	}

	.wp-block-categories-list .cat-item a,
	.wp-block-page-list .wp-block-pages-list__item__link {
		display: block;
		padding: .8em 0;
	}

	.wp-block-categories-list .children .cat-item::before,
	.wp-block-page-list .wp-block-navigation__submenu-container .wp-block-pages-list__item::before {
		top: 1.4em;
	}

	.post-list.is-layout-grid .post-item .wp-block-post-title {
		font-size: var(--wp--preset--font-size--14);
	}

}

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

640

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

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

	.post-list--simple .post-item .wp-block-post-title {
		flex-basis: 100%;
	}

	.post-list--simple .post-item {
		padding: var(--wp--preset--spacing--20) 5px;
		flex-wrap: wrap;
	}

}

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

hover

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

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

	.post-nav-block .post-nav .post-navigation-link-previous a:hover,
	.post-nav-block .post-nav .post-navigation-link-next a:hover {
		color: var(--wp--preset--color--primary);
	}

	.post-nav-block .post-nav .post-navigation-link-previous a:hover::before {
		left: 0;
		color: var(--wp--preset--color--primary);
	}

	.post-nav-block .post-nav .post-navigation-link-next a:hover::before {
		right: 0;
		color: var(--wp--preset--color--primary);
	}

	.wp-block-query .post-list .post:has( a:hover ) .thumb {
		background-color: var(--wp--preset--color--contrast);
	}

	.wp-block-query .post-list .post:has( a:hover ) img {
		transform: scale( 1.1 );
	}

	.post-item:has( a:hover ) .wp-block-post-title a {
		color: var(--wp--preset--color--primary);
	}

	.wp-block-categories-list .cat-item a:hover,
	.wp-block-page-list .wp-block-pages-list__item__link:hover {
		color: var(--wp--preset--color--primary);
	}

	.wp-block-categories-list.is-style-arrow-link .cat-item a:hover::after,
	.wp-block-page-list.is-style-arrow-link .wp-block-pages-list__item__link:hover::after {
		right: 0;
	}

	.post-list--simple .wp-block-post:has( a:hover ) .post-item {
		background-color: var(--wp--preset--color--light-gray);
	}

	.post-list--simple .wp-block-post:has( a:hover ) .post-item .wp-block-post-title::after {
		right: -4px;
	}

}


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

shortcode

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

.score-wrap {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
}

.score-wrap .star-wrap {
	width: 180px;
	height: 36px;
	line-height: .5;
	background: url( ../img/common/star-bg.png ) center center / contain no-repeat;
}

.score-wrap .star {
	overflow: hidden;
}

.score-wrap .star img {
	max-width: 180px !important;
}

/* post-slider-box
---------------------------------------- */

.post-slider-box {
	margin-top: var(--wp--preset--spacing--50) !important;
}

.post-slider-box .post {
	margin: 0 var(--wp--preset--spacing--20);
	padding: 0 !important;
	border: solid 1px var(--wp--preset--color--gray);
}

.post-slider-box .post:not( .slick-slide ) {
	max-width: 320px;
}

.post-slider-box .post a {
	display: block;
	transition: all .2s;
	border: none;
}

.post-slider-box .img {
	margin: 0;
	line-height: .5;
}

.post-slider-box img {
	aspect-ratio: 4 / 3;
}

.post-slider-box .txt {
	padding: var(--wp--preset--spacing--20);
	flex-wrap: nowrap;
}

.post-slider-box .txt .meta {
	margin-top: 0;
}

.post-slider-box .wp-block-button {
	text-align: center;
}

.post-slider-box .wp-block-button {
	margin-top: var(--wp--preset--spacing--40);
	padding: 0 var(--wp--preset--spacing--20);
}

/* hover */

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

	.post-slider-box .post a:hover {
		background: var(--wp--preset--color--light-gray);
	}

}


/* news-list-box
---------------------------------------- */

.news-list-box .cont-wrap {
	background-color: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--40);
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba( 0, 0, 0, .05 );
	display: flex;
	align-items: center;
}

.news-list-box .ttl-wrap {
	width: 25%;
}

.news-list-box .ttl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	height: 100%;
}

.news-list-box .title-02 .wp-block-heading {
	font-size: var(--wp--preset--font-size--40);
}

.news-list-box .ttl .wp-block-button {
	margin: var(--wp--preset--spacing--20) 0 0;
}

.news-list-box .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--30);
}

.news-list-box .is-style-view-more .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
}

.news-list-box .cont {
	width: 75%;
	padding-left: var(--wp--preset--spacing--40);
	margin-top: 0;
}

.news-list-box .cont .wp-block-post {
	margin: 0;
}

.news-list-box .news-list {
	border-top: solid 1px var(--wp--preset--color--gray);
}

.news-list-box .news-list .news {
	border-bottom: solid 1px var(--wp--preset--color--gray);
}

.news-list-box .news-list a {
	display: block;
	color: #333;
	padding: var(--wp--preset--spacing--30) 60px var(--wp--preset--spacing--30) 30px;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	transition: all .2s;
}

.news-list-box .news-list a::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	right: 20px;
	color: var(--wp--preset--color--primary);
	transition: all .2s;
}

.news-list-box .news-list time {
	display: inline-block;
	min-width: 80px;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: var(--wp--preset--font-size--14);
	vertical-align: middle;
}


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

	.news-list-box .ttl-wrap {
		width: 30%;
	}

	.news-list-box .cont {
		width: 70%;
	}

}


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

	.news-list-box {
		padding: 0;
	}

	.news-list-box .cont-wrap {
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
	}

	.news-list-box .ttl-wrap {
		width: 100%;
		border: none;
	}

	.news-list-box .cont {
		width: 100%;
		padding: 0;
	}

	.news-list-box .news-list a {
		padding: var(--wp--preset--spacing--30) 40px var(--wp--preset--spacing--30) 0;
	}

	.news-list-box .wp-block-buttons.sp,
	.news-list-box .wp-block-button.sp {
		display: block !important;
		width: 100%;
		text-align: center;
		margin-top: var(--wp--preset--spacing--30);
		padding: 0 !important;
	}

	.news-list-box .wp-block-buttons.sp .wp-block-button {
		width: 100%;
	}

}

/* hover */

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

	.news-list-box .news-list a:hover {
		background: var(--wp--preset--color--light-gray);
	}

	.news-list-box .news-list a:hover::after {
		right: 16px;
	}

}


/* news-single-box
---------------------------------------- */

.news-single-box {
	height: 60px;
	border: solid 1px var(--wp--preset--color--gray);
	border-radius: 30px;
	overflow: hidden;
	gap: 0;
}

.news-single-box .wp-block-column.ttl {
	flex-basis: 160px !important;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	text-align: center;
	padding: 14px;
}

.news-single-box .wp-block-column.cont {
	flex-basis: calc( 100% - 160px - 120px ) !important;
}

.news-single-box .post {
	padding: 0 !important;
}

.news-single-box .cont {
	padding: 10px 2em;
	gap: 1em;
}

.news-single-box .wp-block-column.link {
	flex-basis: 120px !important;
}

.news-single-box .wp-block-post-date {
	color: var(--wp--preset--color--dark-gray);
	white-space: nowrap;
}

.news-single-box .wp-block-post-title {
	font-weight: normal;
	font-size: var(--wp--preset--font-size--16);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	border-top: solid 1px transparent;
	border-bottom: solid 1px transparent;
	transition: all .2s;
}

.news-single-box .link a {
	position: relative;
	padding-right: 25px;
}

.news-single-box .link a::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	right: 4px;
	color: var(--wp--preset--color--primary);
	transition: all .2s;
}


@media ( max-width: 750px ) {

	.news-single-box {
		height: inherit;
		flex-direction: column;
		border-radius: 10px;
	}

	.news-single-box .wp-block-column.ttl,
	.news-single-box .wp-block-column.cont,
	.news-single-box .wp-block-column.link {
		flex-basis: 0 !important;
	}

	.news-single-box .wp-block-column.ttl {
		padding: 6px;
	}

	.news-single-box .cont {
		padding: 10px var(--wp--preset--spacing--20) 5px;
		justify-content: center;
	}

	.news-single-box .wp-block-column.link {
		padding: 0 10px 10px;
		text-align: center;
	}

}


/* hover */

@media ( min-width: 751px ) {

	.news-single-box .cont:has( a:hover ) .wp-block-post-title {
		border-bottom-color: var(--wp--preset--color--primary);
	}

	.news-single-box .link a:hover::after {
		right: 0;
	}

}



/* post-single-box
---------------------------------------- */

.post-single-box .post-item {
	position: static;
}

.post-single-box .post {
	display: flex;
	align-items: center;
	position: relative;
	padding: var(--wp--preset--spacing--40);
	border: solid 1px var(--wp--preset--color--gray);
}

.post-single-box .thumb {
	width: 40%;
	flex-basis: 40% !important;
	margin: 0;
}

.post-single-box .txt {
	width: 60%;
	flex-basis: 60% !important;
	padding-left: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--50);
}

.post-single-box .meta {
	width: 100%;
	gap: 0;
}

.post-single-box .meta .cat-list {
	margin-right: 15px;
	flex-wrap: wrap;
	line-height: 1;
}

.post-single-box .meta .date {
	font-size: var(--wp--preset--font-size--16);
}

.post-single-box .ttl {
	width: 100%;
	font-size: var(--wp--preset--font-size--24);
	margin: var(--wp--preset--spacing--10) 0;
}


@media ( max-width: 1000px ) {

	.post-single-box .post {
		padding:  var(--wp--preset--spacing--30) !important;
	}

}


@media ( max-width: 750px ) {

	.post-single-box .post {
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) 80px !important;
		flex-direction: column;
		gap: var(--wp--preset--spacing--10);
	}

	.post-single-box .thumb {
		width: 100%;
	}

	.post-single-box .thumb img {
		aspect-ratio: 16 / 9;
	}

	.post-single-box .txt {
		width: 100%;
		padding: 0;
	}

}

/* hover */

@media ( min-width: 751px ) {

	.post-single-box .post:hover {
		background: var(--wp--preset--color--light-gray);
	}

}

.slider {
	margin-top: var(--wp--preset--spacing--50);
	opacity: 0;
	visibility: hidden;
	height: 0;
}

.slider:has( .slick-slider ),
.editor-styles-wrapper .slider {
	opacity: 1;
	visibility: visible;
	height: auto;
}

.slider:has( .slick-dotted.slick-slider ) + .wp-block-buttons {
	margin-top: 5.5em;
}

/* slider-block
---------------------------------------- */

.slider-block .slick-slide {
	margin: 0 .5em;
}

.slider-block .slick-slide.wp-block-image > img {
	width: 100%;
}

/* thumbnail */

.is-style-slider-thumbnail + .slider-nav,
.is-style-slider-thumbnail-3d + .slider-nav {
	width: 950px;
	max-width: calc( 100% + 8px );
	display: flex;
	gap: var(--wp--preset--spacing--10);
	margin: 1.2em 0 var(--wp--preset--spacing--30);
	padding: 20px 0;
}

.is-style-slider-thumbnail + .slider-nav .thumb,
.is-style-slider-thumbnail-3d + .slider-nav .thumb {
	flex: 1;
	cursor: pointer;
	background-color: var(--wp--preset--color--base);
	margin: 0 4px;
	position: relative;
}

.is-style-slider-thumbnail + .slider-nav .thumb::before,
.is-style-slider-thumbnail-3d + .slider-nav .thumb::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border: solid 2px var(--wp--preset--color--custom-purple);
	opacity: 0;
	visibility: hidden;
	z-index: 9;
	pointer-events: none;
	transition: all .2s;
}

.is-style-slider-thumbnail + .slider-nav .thumb img,
.is-style-slider-thumbnail-3d + .slider-nav .thumb img {
	aspect-ratio: 16 / 9;
	opacity: .4;
}

.is-style-slider-thumbnail + .slider-nav .thumb.slick-current img,
.is-style-slider-thumbnail-3d + .slider-nav .thumb.slick-current img {
	opacity: 1;
}

.is-style-slider-thumbnail + .slider-nav .thumb.slick-current::before,
.is-style-slider-thumbnail-3d + .slider-nav .thumb.slick-current::before {
	opacity: 1;
	visibility: visible;
}

.is-style-slider-thumbnail .slick-slide,
.is-style-slider-thumbnail-3d .slick-slide {
	margin: 0;
}

/*
.is-style-slider-thumbnail .slick-prev,
.is-style-slider-thumbnail-3d .slick-prev {
	left: -24px;
}

.is-style-slider-thumbnail .slick-next,
.is-style-slider-thumbnail-3d .slick-next {
	right: -24px;
}
*/

.is-style-slider-thumbnail-3d .slick-slide {
	opacity: 0.8;
	transform: scale(0.9);
	transition: transform .8s ease, opacity .8s ease, filter .8s ease;
	z-index: 1;
}

.is-style-slider-thumbnail-3d .slick-center {
	opacity: 1;
	transform: scale(1);
	z-index: 3;
}

.is-style-slider-thumbnail-3d .slick-list::before,
.is-style-slider-thumbnail-3d .slick-list::after {
	content: "";
	width: 5%;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
}

.is-style-slider-thumbnail-3d .slick-list::before {
	left: 0;
	background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%);
}

.is-style-slider-thumbnail-3d .slick-list::after {
	right: 0;
	background: linear-gradient(to left, #fff 0%, rgba(255,255,255,0) 100%);
}

/* fade */

.is-style-slider-fade .slick-slide {
	margin: 0;
}

/* loop */

.is-style-slider-loop {
	margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--80) !important;
}

.is-style-slider-loop .slick-slide {
	margin: 0;
}

.is-style-slider-loop.slider-block .slick-slide.wp-block-image > img {
	aspect-ratio: 4 / 3;
}


@media ( max-width: 1000px ) {

	.is-style-slider-thumbnail + .slider-nav,
	.is-style-slider-thumbnail-3d + .slider-nav {
		padding-right: var(--wp--preset--spacing--30);
		padding-left: var(--wp--preset--spacing--30);
	}

}

@media ( min-width: 751px ) {

	.is-style-slider-thumbnail + .slider-nav .thumb:hover::before,
	.is-style-slider-thumbnail-3d + .slider-nav .thumb:hover::before {
		opacity: 1;
		visibility: visible;
	}

}

@media ( max-width: 750px ) {

	.is-style-slider-thumbnail + .slider-nav,
	.is-style-slider-thumbnail-3d + .slider-nav {
		display: none;
	}

	.slider-nav {
		display: none !important;
	}

}

/* fv-01
---------------------------------------- */

.fv-01 {
	position: relative !important;
	z-index: 1;
}

.fv-01 .fv-txt {
	height: 64vh;
	z-index: 99;
}

.is-content-justification-right + .fv-img {
	padding: 0 10vw 0 0 !important;
}

.is-content-justification-center {
	text-align: center;
}

.is-content-justification-center .txt-wrap {
	margin: 0 !important;
}

.is-content-justification-center + .fv-img {
	padding: 0 !important;
}

.fv-01 .fv-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-block-start: 0 !important;
	z-index: -1;
}

.fv-01 .fv-img .wp-block-image,
.fv-01 .fv-img .wp-block-image * {
	width: 100% !important;
	height: 100% !important;
	overflow: hidden;
}

.fv-01 .fv-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


@media ( max-width: 1000px ) {

	.fv-01 .fv-txt {
		min-height: initial !important;
		height: 56vw;
	}

}

@media ( max-width: 750px ) {

	.fv-01 .fv-txt {
		min-height: initial !important;
		height: 64vh;
	}

}


/* fv-02
---------------------------------------- */

.fv-02 {
	height: 64vh;
}

@media ( max-width: 1000px ) {

	.fv-02 {
		min-height: initial !important;
		height: 56vw;
	}

}

@media ( max-width: 750px ) {

	.fv-02 {
		min-height: initial !important;
		height: 64vh;
	}

}


/* fv-03
---------------------------------------- */

.editor-styles-wrapper .fv-03 .slide {
	flex: 1;
}

.fv-03 .slide {
	text-align: center;
	margin: 0 1vw;
}

.fv-03 .slide .wp-block-image,
.fv-03 .slide .wp-block-image img {
	width: 100%;
	aspect-ratio: 2 / 1;
}

.fv-03 .slide .wp-block-image a {
	display: block;
}

@media ( max-width: 750px ) {

	.fv-03 {
		padding-top: var(--wp--preset--spacing--10);
	}

	.fv-03 .slide .wp-block-image,
	.fv-03 .slide .wp-block-image img {
		aspect-ratio: 4 / 3;
	}

}


/* fv-04
---------------------------------------- */

.editor-styles-wrapper .fv-04 {
	max-width: 100%;
	overflow: auto;
}

.fv-04 .slide {
	text-align: center;
	margin: 0 1vw;
}

.fv-04 .slide .wp-block-cover {
	width: 100%;
	aspect-ratio: 2 / 1;
	overflow: hidden;
}

.fv-04 .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
}

@media ( max-width: 750px ) {

	.fv-04 .slide .wp-block-cover {
		min-height: initial;
		aspect-ratio: 1 / 1;
	}

	.fv-04 .slide .wp-block-cover br {
		display: none;
	}

}


/* fv-05
---------------------------------------- */

.fv-05 {
	height: 64vh;
	position: relative;
}

.fv-05::after {
	content: '';
	background: var(--wp--preset--color--primary);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;	
	z-index: 2;
	opacity: .8;
}

.fv-05 #ytPlayerWrap {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.fv-05 * {
	position: relative;
	z-index: 3;
}

@media ( max-width: 1000px ) {

	.fv-05 {
		min-height: initial !important;
		height: 56vw;
	}

}

@media ( max-width: 750px ) {

	.fv-05 {
		min-height: initial !important;
		height: 64vh;
	}

}
