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

plugin

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


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

.wp-block-group:has( > .yoast-breadcrumbs ) {
	margin-top: var(--wp--preset--spacing--30) !important;
}

.yoast-breadcrumbs {
	font-size: var( --wp--preset--font-size--14-px );
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

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

.yoast-breadcrumbs span span + span::before {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	width: 20px;
	line-height: 14px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	transition: all .2s;
}

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

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

.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-px );
	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-px);
	line-height: 48px;
	text-align: center;
	font-family: var(--wp--preset--font-family--roboto);
	background: var(--wp--preset--color--primary);
	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--50);
	margin: 15px 0 0;
	border: solid 1px var(--wp--preset--color--gray);
}

.schema-faq-section .schema-faq-answer strong {
	display: block;
	line-height: 1.6;
	font-size: var( --wp--preset--font-size--20-px );
	color: var(--wp--preset--color--contrast);
	margin-bottom: var(--wp--preset--spacing--30);
}

.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-px);
	line-height: 48px;
	text-align: center;
	font-family: var(--wp--preset--font-family--roboto);
	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;
	padding-right: var(--wp--preset--spacing--60);
	cursor: pointer;
	position: relative;
}

.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-px );
	line-height: 40px;
	content: '\e145';
	color: var(--wp--preset--color--primary);
	position: absolute;
	top: calc( 50% - 20px );
	right: var(--wp--preset--spacing--20);
}

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

@media ( max-width: 1000px ) {

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

}


@media ( max-width: 750px ) {

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

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

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

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

	.schema-faq.is-style-toggle-btn .schema-faq-question {
		padding-right: var(--wp--preset--spacing--70);
	}

}


/* 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 );
	}

}


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

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

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

#ez-toc-container .ez-toc-title {
	font-size: var( --wp--preset--font-size--24-px );
	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--30);
	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--30);
	}

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

}


/* 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--20);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	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-px);
}

.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--40);
	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--40);
	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-px);
	line-height: 1.6;
	text-decoration: none;
}

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

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


@media ( max-width: 1000px ) {

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

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

}


@media ( max-width: 750px ) {

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

	.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;
}

.wp-block-code {
	border-radius: 0;
	border: solid 1px var(--wp--preset--color--gray);
}

: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;
	border-color: var(--wp--preset--color--gray);
}

.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--50);
	margin-top: 3.2em !important;
}

.is-style-quote-01::before {
	content: '“';
	position: absolute;
	top: -24px;
	left: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--primary);
	font-size: 112px;
	line-height: 1;
	font-family: serif;
}

.wp-block-embed {
	max-width: 640px;
}

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

.wp-block-search__inside-wrapper::before {
	font-family: "Material Symbols Outlined";
	font-size: 24px;
	font-weight: 300;
	color: var(--wp--preset--color--contrast);
	content: '\e8b6';
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.wp-block-search__input {
	border: none;
	border-bottom: solid 1px var(--wp--preset--color--contrast);
	padding: 12.25px 0 12.25px 30px;
	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 ) {

	.is-style-quote-01 {
		padding: var(--wp--preset--spacing--30);
	}

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

}


@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);
}

.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';
	line-height: 20px;
	color: var(--wp--preset--color--primary);
	position: absolute;
	top: calc( 50% - 10px );
	right: 10px;
	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--primary);
	}

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

}


/* 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 {
	color: var(--wp--preset--color--primary) !important;
	font-family: var(--wp--preset--font-family--roboto);
	transition: all .2s;
}

.is-style-tel-icon::before {
	display: inline-block;
	font-variation-settings:
		'FILL' 1,
		'wght' 300;
	font-family: "Material Symbols Outlined";
	font-weight: 300;
	line-height: 1.2;
	color: var(--wp--preset--color--primary);
	content: '\e61d';
	margin-right: 4px;
	transform: translateY( 12% );
	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--30);
	border: solid 1px var(--wp--preset--color--primary);
	transition: all .2s;
}

/* 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--30);
	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-basis: auto !important;
	cursor: pointer;
	transition: all .2s;
}

.tab-menu .tab-btn .tab.active {
	background: var(--wp--preset--color--primary) !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;
}

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

@media ( max-width: 750px ) {

	.tab-menu .tab-cont {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
	}

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

}

/* hover */

@media ( min-width: 751px ) {

	.tab-menu .tab:hover {
		background: var(--wp--preset--color--gray) !important;
	}

}


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

.is-style-comment .balloon .txt {
	position: relative;
	margin-bottom: 34px;
}

.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: 30%;
	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% );
}

.is-style-comment.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.balloon {
	flex-basis: calc( 100% - var(--wp--preset--spacing--50) - 112px ) !important;
}

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

@media ( max-width: 750px ) {

	.is-style-comment {
		background: var(--wp--preset--color--light-gray);
		border-radius: var(--wp--preset--spacing--30);
		gap: 0;
		margin-top: 3em !important;
	}

	.is-style-comment:has( > .balloon + .image ) {
		flex-direction: column-reverse;
	}

	.is-style-comment .balloon {
		background: transparent !important;
	}

	.is-style-comment .balloon .txt {
		margin: 0;
		padding-top: 0 !important;
	}

	.is-style-comment .balloon .txt::after {
		display: none;
	}

	.is-style-comment .image {
		transform: translateY( -1em );
		margin-bottom: -.5em;
	}

}

/* 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 .wp-block-button__link {
	position: relative;
}

.wp-block-button.is-style-arrow-right .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 ) {

	.wp-block-button.is-style-arrow-right .wp-block-button__link:hover::after {
		right: 6px;
	}

}


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

.wp-block-button.is-style-arrow-left .wp-block-button__link {
	position: relative;
}

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

/* hover */

@media ( min-width: 751px ) {

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

	.wp-block-button.is-style-arrow-left .wp-block-button__link:hover::after {
		left: 6px;
		color: var(--wp--preset--color--primary);
	}

}


/* 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: 6px 32px 6px 6px;
	border: none;
	border-bottom: solid 1px var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	background: transparent;
	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: 6px;
	transition: all .2s;
}

/* hover */

@media ( min-width: 751px ) {

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

}


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

.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 {
	display: block;
	width: 100%;
	background: var( --wp--preset--color--base );
	color: var( --wp--preset--color--contrast );
	border: solid 1px var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--16-px);
	white-space: nowrap;
	color: var(--wp--preset--color--primary);
	padding-right: var(--wp--preset--spacing--20);
	padding-left: var(--wp--preset--spacing--20);
}

.wp-block-button.is-style-page-menu .wp-block-button__link::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cf';
	display: block;
	text-align: center;
	line-height: 20px;
	transition: all .2s;
}


@media ( max-width: 750px ) {

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

	.page-menu .is-layout-flex {
		gap: var(--wp--preset--spacing--30) 0;
	}

	.page-menu .wp-block-button {
		flex: auto;
		width: calc( ( 100% - var(--wp--preset--spacing--30) ) / 2 );
	}

	.page-menu .wp-block-button:nth-child( even ) {
		margin-left: var(--wp--preset--spacing--30);
	}

	.wp-block-button.is-style-page-menu .wp-block-button__link {
		width: 100%;
	}

}

/* 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--20) var(--wp--preset--spacing--40);
	transition-property: color, background-color, border;
	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' 300;
	font-family: "Material Symbols Outlined";
	font-size: 1.2em;
	font-weight: 200;
	line-height: 1.2;
	color: var(--wp--preset--color--base);
	content: '';
	margin-right: 8px;
	transform: translateY( 5px );
	transition: color .2s;
}

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

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

/* 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: var(--wp--preset--spacing--20);
}

.is-style-ul-list li::before {
	content: '';
	width: 6px;
	height: 6px;
	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: -.1em;
	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.8;
	text-align: left;
}

.is-style-check-list li::before {
	font-family: "Material Symbols Outlined";
	font-size: 1.5em;
	font-weight: 300;
	line-height: 1.2;
	color: var(--wp--preset--color--primary);
	content: '\f1fe';
	position: absolute;
	top: 0;
	left: 0;
}

.is-style-check-list li + li {
	margin-top: var(--wp--preset--spacing--20);
}

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

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

.is-style-annotation-list li {
	position: relative;
	padding-left: 1em;
	font-size: var(--wp--preset--font-size--14-px);
	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--primary );
	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;
}

.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: 24px 12px;
	border-bottom: solid 1px var( --wp--preset--color--gray );
}

.is-style-table-02 tbody tr > *:first-child {
	width: 25%;
	border-color: var( --wp--preset--color--primary ) !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 {
	font-family: var(--wp--preset--font-family--noto-sans-jp);
	margin-block-start: 2em;
}

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

.is-style-heading-01 {
	border-top: solid 2px var(--wp--preset--color--primary);
	border-bottom: solid 2px var(--wp--preset--color--primary);
	padding: .8em 0;
	font-size: var(--wp--preset--font-size--24-px);
	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-px);
}

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

.is-style-heading-03 {
	border-left: solid 4px var(--wp--preset--color--primary);
	padding: .4em .8em;
	font-size: var(--wp--preset--font-size--20-px);
}

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

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

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

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

.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-px);
	padding-bottom: var(--wp--preset--spacing--20);
	border-bottom: double 3px var(--wp--preset--color--primary);
}

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

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

.is-style-heading-07::before {
	content: '';
	width: 40px;
	height: 2px;
	background: var( --wp--preset--color--primary );
	position: absolute;
	bottom: 0;
	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;
}

/*
@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--50);
}

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

.ttl-01 > * {
	text-align: center;
}


/* 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;
}


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

layout

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

.editor-styles-wrapper .is-style-inview {
	opacity: 1 !important;
	visibility: visible !important;
}

.is-style-inview {
	opacity: 0;
	visibility: hidden;
	transform: translateY( 80px );
	transition: all .6s .2s;
}

.is-style-inview.view {
	opacity: 1;
	visibility: visible;
	transform: none;
}


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

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

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

.img-txt .txt-wrap {
	width: calc( 550px - var(--wp--preset--spacing--50) );
	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--40);
	}

	: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--50) 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;
	}

}


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

.step-column {
	counter-reset: step-column;
	position: relative;
}

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

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

.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;
}

.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-px);
	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-px);
}

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

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

@media ( max-width: 1000px ) {

	.step-column {
		gap: var(--wp--preset--spacing--40) 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-px);
	}

}


@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: -38px;
		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-px);
		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--30) !important;
	}

}


@media ( max-width: 750px ) {

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

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

}


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

.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 .wp-block-template-part:has( .btn-set ) {
	margin-block-start: 1.5rem;
}

.step-list .btn-set {
	gap: var(--wp--preset--spacing--30);
	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-px);
		line-height: 1.1;
	}

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

	.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: 780px ) {

	.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--40) var(--wp--preset--spacing--30) !important;
	}

}


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

@media ( max-width: 750px ) {

	.bg-block {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !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--60) var(--wp--preset--spacing--30) !important;
	}

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

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

}

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

FAQ

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


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

.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--40) !important;
	}

}


@media ( max-width: 750px ) {

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

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

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

}


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

shortcode

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

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

.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;
}


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

.post-slider-box {
	margin: var(--wp--preset--spacing--60) 0 !important;
	overflow: hidden;
}

.post-slider-box .post {
	margin: 0 var(--wp--preset--spacing--20);
	padding: 0 !important;
}

.post-slider-box .post a {
	display: block;
	border: solid 1px var(--wp--preset--color--gray);
	transition: all .2s;
}

.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--30);
}

.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--50);
	padding: 0 var(--wp--preset--spacing--30);
}

/* hover */

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

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

}


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

.news-list-box {
	padding: var(--wp--preset--spacing--50) 0;
}

.news-list-box .cont-wrap {
	display: flex;
	align-items: center;
}

.news-list-box .ttl-wrap {
	width: 30%;
	border: solid 1px var(--wp--preset--color--gray);
	padding: var(--wp--preset--spacing--30);
}

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

.news-list-box .ttl .en {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: var(--wp--preset--font-size--40-px);
	line-height: 1.5;
	color: var(--wp--preset--color--primary);
}

.news-list-box .ttl .jp {
	font-weight: normal;
	font-size: var(--wp--preset--font-size--20-px);
	margin: 0;
}

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

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

.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--40) 60px var(--wp--preset--spacing--40) 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-px);
	vertical-align: middle;
}


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

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

	.news-list-box .cont-wrap {
		flex-direction: column;
	}

	.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--40) 40px var(--wp--preset--spacing--40) 0;
	}

	.news-list-box .wp-block-button.sp {
		display: block !important;
		width: 100%;
		margin-top: var(--wp--preset--spacing--40);
	}

}

/* hover */

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

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

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

}


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

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

.post-single-box .img {
	width: 40%;
	margin: 0;
}

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

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

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

.post-single-box .ttl {
	font-size: var(--wp--preset--font-size--32-px);
	margin: var(--wp--preset--spacing--20) 0;
}


@media ( max-width: 1000px ) {

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

}


@media ( max-width: 750px ) {

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

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

	.post-single-box .img 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);
	}

}


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

.post-list-box .post-list {
	display: flex;
	flex-wrap: wrap;
	margin-top: var(--wp--preset--spacing--60);
}

.post-list-box .post-list.center {
	justify-content: center;
	text-align: left;
}

.post-list-box .post {
	width: calc( ( 100% - var(--wp--preset--spacing--40) * 2 ) / 3 );
	margin: 0 var(--wp--preset--spacing--40)  var(--wp--preset--spacing--40) 0;
	padding: 0 !important;
}

.post-list-box .post-list a {
	display: block;
	border: solid 1px var(--wp--preset--color--gray);
}

.post-list-box .post:nth-child( 3n ),
.post-list-box .post:last-child {
	margin-right: 0;
}

.post-list-box .post .img {
	margin: 0;
}

.post-list-box .post .txt {
	padding: var(--wp--preset--spacing--30);
}

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

@media ( max-width: 750px ) {

	.post-list-box .post-list {
		flex-direction: column;
	}

	.post-list-box .post {
		width: 100%;
	}

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

}


/* 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--20);
	}

	.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;
	}

}
