:root {
	/* color */
	--base-color: #102233;
	--base-color-rgb: 16, 34, 51;
	--bg-color: #f2f4fb;
	--line-color: #f2f3f9;
	--line02-color: #dddee8;
	--point-color: #3355fc;
	--point-color-rgb: 51, 85, 252;
	--point02-color: #243bb0;
	--point02-color-rgb: 36, 59, 176;
	--point03-color: #000c4a;
	--gray-color: #e9edef;
	/* transition */
	--btn-transition: 0.5s cubic-bezier(0.54, 0.01, 0.04, 0.98);
	/* z-index */
	--header-index: 999;
	--sidemenu-index: 900;
	--modal-index: 9999;
}

.post {
	--wp--preset--font-size--small: 13px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 36px;
	--wp--preset--font-size--x-large: 42px;
	--wp--preset--color--black: #000000;
	--wp--preset--color--cyan-bluish-gray: #abb8c3;
	--wp--preset--color--white: #ffffff;
	--wp--preset--color--pale-pink: #f78da7;
	--wp--preset--color--vivid-red: #cf2e2e;
	--wp--preset--color--luminous-vivid-orange: #ff6900;
	--wp--preset--color--luminous-vivid-amber: #fcb900;
	--wp--preset--color--light-green-cyan: #7bdcb5;
	--wp--preset--color--vivid-green-cyan: #00d084;
	--wp--preset--color--pale-cyan-blue: #8ed1fc;
	--wp--preset--color--vivid-cyan-blue: #0693e3;
	--wp--preset--color--vivid-purple: #9b51e0;
	--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(
		135deg,
		rgba(6, 147, 227, 1) 0%,
		rgb(155, 81, 224) 100%
	);
	--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(
		135deg,
		rgb(122, 220, 180) 0%,
		rgb(0, 208, 130) 100%
	);
	--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(
		135deg,
		rgba(252, 185, 0, 1) 0%,
		rgba(255, 105, 0, 1) 100%
	);
	--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(
		135deg,
		rgba(255, 105, 0, 1) 0%,
		rgb(207, 46, 46) 100%
	);
	--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(
		135deg,
		rgb(238, 238, 238) 0%,
		rgb(169, 184, 195) 100%
	);
	--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(
		135deg,
		rgb(74, 234, 220) 0%,
		rgb(151, 120, 209) 20%,
		rgb(207, 42, 186) 40%,
		rgb(238, 44, 130) 60%,
		rgb(251, 105, 98) 80%,
		rgb(254, 248, 76) 100%
	);
	--wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
	--wp--preset--gradient--blush-bordeaux: linear-gradient(
		135deg,
		rgb(254, 205, 165) 0%,
		rgb(254, 45, 45) 50%,
		rgb(107, 0, 62) 100%
	);
	--wp--preset--gradient--luminous-dusk: linear-gradient(
		135deg,
		rgb(255, 203, 112) 0%,
		rgb(199, 81, 192) 50%,
		rgb(65, 88, 208) 100%
	);
	--wp--preset--gradient--pale-ocean: linear-gradient(
		135deg,
		rgb(255, 245, 203) 0%,
		rgb(182, 227, 212) 50%,
		rgb(51, 167, 181) 100%
	);
	--wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
	--wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
	--wp--preset--font-size--small: 13px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 36px;
	--wp--preset--font-size--x-large: 42px;
	--wp--preset--spacing--20: 0.44rem;
	--wp--preset--spacing--30: 0.67rem;
	--wp--preset--spacing--40: 1rem;
	--wp--preset--spacing--50: 1.5rem;
	--wp--preset--spacing--60: 2.25rem;
	--wp--preset--spacing--70: 3.38rem;
	--wp--preset--spacing--80: 5.06rem;
	--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
	--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
	--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
	--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
	--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}
.has-small-font-size {
	font-size: var(--wp--preset--font-size--small) !important;
}
.has-black-color {
	color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-color {
	color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
.has-white-color {
	color: var(--wp--preset--color--white) !important;
}
.has-pale-pink-color {
	color: var(--wp--preset--color--pale-pink) !important;
}
.has-vivid-red-color {
	color: var(--wp--preset--color--vivid-red) !important;
}
.has-luminous-vivid-orange-color {
	color: var(--wp--preset--color--luminous-vivid-orange) !important;
}
.has-luminous-vivid-amber-color {
	color: var(--wp--preset--color--luminous-vivid-amber) !important;
}
.has-light-green-cyan-color {
	color: var(--wp--preset--color--light-green-cyan) !important;
}
.has-vivid-green-cyan-color {
	color: var(--wp--preset--color--vivid-green-cyan) !important;
}
.has-pale-cyan-blue-color {
	color: var(--wp--preset--color--pale-cyan-blue) !important;
}
.has-vivid-cyan-blue-color {
	color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.has-vivid-purple-color {
	color: var(--wp--preset--color--vivid-purple) !important;
}
.has-black-background-color {
	background-color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-background-color {
	background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
.has-white-background-color {
	background-color: var(--wp--preset--color--white) !important;
}
.has-pale-pink-background-color {
	background-color: var(--wp--preset--color--pale-pink) !important;
}
.has-vivid-red-background-color {
	background-color: var(--wp--preset--color--vivid-red) !important;
}
.has-luminous-vivid-orange-background-color {
	background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}
.has-luminous-vivid-amber-background-color {
	background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}
.has-light-green-cyan-background-color {
	background-color: var(--wp--preset--color--light-green-cyan) !important;
}
.has-vivid-green-cyan-background-color {
	background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}
.has-pale-cyan-blue-background-color {
	background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}
.has-vivid-cyan-blue-background-color {
	background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.has-vivid-purple-background-color {
	background-color: var(--wp--preset--color--vivid-purple) !important;
}
.has-black-border-color {
	border-color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-border-color {
	border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
.has-white-border-color {
	border-color: var(--wp--preset--color--white) !important;
}
.has-pale-pink-border-color {
	border-color: var(--wp--preset--color--pale-pink) !important;
}
.has-vivid-red-border-color {
	border-color: var(--wp--preset--color--vivid-red) !important;
}
.has-luminous-vivid-orange-border-color {
	border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}
.has-luminous-vivid-amber-border-color {
	border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}
.has-light-green-cyan-border-color {
	border-color: var(--wp--preset--color--light-green-cyan) !important;
}
.has-vivid-green-cyan-border-color {
	border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}
.has-pale-cyan-blue-border-color {
	border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}
.has-vivid-cyan-blue-border-color {
	border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.has-vivid-purple-border-color {
	border-color: var(--wp--preset--color--vivid-purple) !important;
}
.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
	background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}
.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
	background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}
.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
	background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}
.has-luminous-vivid-orange-to-vivid-red-gradient-background {
	background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}
.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
	background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}
.has-cool-to-warm-spectrum-gradient-background {
	background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}
.has-blush-light-purple-gradient-background {
	background: var(--wp--preset--gradient--blush-light-purple) !important;
}
.has-blush-bordeaux-gradient-background {
	background: var(--wp--preset--gradient--blush-bordeaux) !important;
}
.has-luminous-dusk-gradient-background {
	background: var(--wp--preset--gradient--luminous-dusk) !important;
}
.has-pale-ocean-gradient-background {
	background: var(--wp--preset--gradient--pale-ocean) !important;
}
.has-electric-grass-gradient-background {
	background: var(--wp--preset--gradient--electric-grass) !important;
}
.has-midnight-gradient-background {
	background: var(--wp--preset--gradient--midnight) !important;
}
.has-text-align-right {
	text-align: right;
}
.has-text-align-center {
	text-align: center;
}
.has-fixed-layout {
	table-layout: fixed;
}
.is-layout-flex {
	display: flex;
	gap: 1.5em;
}
.is-content-justification-center {
	justify-content: center;
}
.is-content-justification-right {
	justify-content: flex-end;
}
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}
.wp-block-embed__wrapper {
	margin-top: 30px;
}
.has-large-font-size {
	font-size: 3rem;
}
.has-medium-font-size {
	font-size: 2rem;
}

.post strong {
	font-weight: 700;
}
.post h1 {
	margin-bottom: 30px;
	padding-bottom: 5px;
	border-bottom: solid 1px var(--line02-color);
	font-size: 2.4rem;
	line-height: 1.8;
	font-family: "Noto Serif JP", serif;
}

.post h2 {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	margin: 40px 0;
	font-size: 2.4rem;
	line-height: 1.8;
	font-family: "Noto Serif JP", serif;
}

.post h2 span {
	color: var(--point02-color);
	font-size: 1.2rem;
	font-family: "Cormorant Garamond", serif;
	text-transform: uppercase;
	opacity: 0.4;
}

.post h3 {
	position: relative;
	margin: 40px 0 30px;
	padding-left: 21px;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.8;
}

.post h3::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 85%;
	margin: auto;
	background-color: var(--point02-color);
	content: "";
}

.post h4 {
	position: relative;
	margin: 30px 0 35px;
	padding: 20px;
	border-radius: 10px;
	background-color: var(--bg-color);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.7;
}

.post h4::after {
	position: absolute;
	bottom: -19px;
	left: 30px;
	width: 0;
	height: 0;
	border-top: 21px solid var(--bg-color);
	border-right: 12px solid transparent;
	border-bottom: 0;
	border-left: 12px solid transparent;
	border-style: solid;
	content: "";
}

.post h5 {
	position: relative;
	margin: 35px 0 20px;
	padding-left: 30px;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.8;
}

.post h5::before {
	position: absolute;
	top: 14px;
	left: 0;
	width: 20px;
	height: 1px;
	background-color: var(--point02-color);
	content: "";
}

.post h6 {
	position: relative;
	margin: 30px 0 20px;
	padding-left: 30px;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.8;
}

.post h6::before {
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: 9px;
	left: 5px;
	width: 9px;
	height: 9px;
	transform: rotate(45deg);
	background-color: rgba(var(--point02-color-rgb), 0.2);
	content: "";
}

.post p {
	margin: 10px 0;
	line-height: 2;
}
.post a {
	text-decoration: underline;
	color: var(--point-color);
}

/* .post img {
  width: 100%;
  margin: 10px 0;
} */

.post > .wp-block-image {
	margin: 30px 0;
}

.post img {
	width: auto;
	height: auto;
}

.post p {
	line-height: 2;
}

.post ul {
	list-style: disc;
	margin: 1em 0 1em 1em;
}

.post .wp-block-table {
	margin: 40px 0;
}

.post table {
	width: 100%;
	min-width: 700px;
}

.post .col-head table td:first-child {
	background-color: var(--bg-color);
	font-weight: 700;
}

.post .col-head table th:first-child {
	text-align: left;
}

.post .col-center table th:first-child,
.post .col-center table td:first-child {
	text-align: center;
}

.post table th,
.post table td {
	padding: 20px;
	border: solid 1px var(--line02-color);
	vertical-align: middle;
}

.post table th {
	background-color: var(--bg-color);
	font-weight: 700;
}

.post .wp-block-video video {
	width: 100%;
}

.post .wp-block-image {
	position: relative;
}
.post .wp-block-image figure.aligncenter {
	text-align: center;
}
.post .wp-block-image figure.aligncenter img {
	margin: auto;
}
.post .wp-block-image figcaption {
	font-size: 16px;
	font-weight: 700;
	margin-top: 10px;
	line-height: calc(29 / 16);
}

.post .wp-block-columns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
	margin: 40px 0;
}

.post .wp-block-gallery {
	display: flex;
	gap: 2em;
}
.post .wp-block-media-text {
	box-sizing: border-box;
	direction: ltr;
	display: grid;
	grid-template-columns: 50% 1fr;
	grid-template-rows: auto;
	margin: 30px 0;
}
.post .wp-block-media-text.is-vertically-aligned-center {
	align-items: center;
}
.post .wp-block-media-text__media img {
	height: auto;
	max-width: unset;
	vertical-align: middle;
	width: 100%;
}
.post .wp-block-columns.is-layout-flex {
	flex-wrap: nowrap;
}
.post .wp-block-media-text .wp-block-media-text__content {
	direction: ltr;
	grid-column: 2;
	grid-row: 1;
	padding: 0 8%;
	word-break: break-word;
}
.post .wp-block-button {
	margin-top: 30px;
}
.post .wp-block-buttons > .wp-block-button {
	display: inline-block;
}
.post .wp-block-button.has-custom-width.wp-block-button__width-100 {
	width: 100%;
}
.post .wp-block-button.has-custom-width.wp-block-button__width-75 {
	width: 75%;
}
.post .wp-block-button.has-custom-width.wp-block-button__width-50 {
	width: 50%;
}
.post .wp-block-button.has-custom-width.wp-block-button__width-25 {
	width: 25%;
}
.post .wp-block-button .wp-block-button__link {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 270px;
	height: 60px;
	margin: 0 auto;
	border: solid 1px var(--point-color);
	border-radius: 100px;
	background-color: transparent;
	color: var(--point-color);
	text-align: center;
}
.post .wp-block-button .wp-block-button__link::after {
	-webkit-transform: rotate(45deg);
	-webkit-transition: var(--btn-transition);
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 6px;
	height: 6px;
	margin: auto;
	transform: rotate(45deg);
	border-top: solid 1px var(--point-color);
	border-right: solid 1px var(--point-color);
	content: "";
	transition: var(--btn-transition);
}
.post .wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
	width: 100%;
}
.post .wp-block-button__link {
	display: block;
	color: #fff;
	background-color: #32373c;
	border-radius: 9999px;
	box-shadow: none;
	text-decoration: none;
	padding: calc(0.667em + 2px) calc(1.333em + 2px);
}
.post .has-text-align-center {
	text-align: center;
}

.post .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
	grid-column: 1;
	grid-row: 1 /*!rtl:end:ignore*/;
}

.post .wp-block-group__inner-container {
	padding: 10px 20px 40px;
}

@media screen and (max-width: 767px) {
	.wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
		width: 100%;
	}
	.post img {
		width: 100%!important;
	}
	.post .wp-block-media-text {
		grid-template-columns: 100%;
	}
	.post .wp-block-gallery {
		flex-direction: column;
		gap: 0;
	}
	.post .wp-block-image {
		margin: 15px 0;
	}
	.post .wp-block-columns.is-layout-flex {
		flex-wrap: wrap;
	}
	.post .wp-block-media-text .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	.post .wp-block-media-text {
		grid-template-columns: 100% !important;
	}
	.post .wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}
	.post .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	.post .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (hover: hover) and (pointer: fine) {
	.post .wp-block-button .wp-block-button__link:hover {
		background-color: var(--point-color);
		color: #fff;
	}

	.post .wp-block-button .wp-block-button__link:hover::after {
		border-color: #fff;
	}
}
