@charset "UTF-8";

/*
Template: twentytwentyone
Theme Name: Twenty Twenty-One-child
*/

/**
 * SETTINGS
 * File-header..........The file header for the themes style.css file.
 * Fonts................Any font files, if the project needs specific fonts.
 * Global...............Project-specific, globally available variables.
 *
 * TOOLS
 * Functions............Global functions.
 * Mixins...............Global mixins.
 *
 * GENERIC
 * Normalize.css........Normalise browser defaults.
 * Breakpoints..........Mixins and variables for responsive styles
 * Vertical-margins.....Vertical spacing for the main components.
 * Reset................Reset specific elements to make them easier to style in other contexts.
 * Clearings............Clearings for the main components.
 *
 * ELEMENTS
 * Blockquote...........Default blockquote.
 * Forms................Element-level form styling.
 * Headings.............H1–H6
 * Links................Default links.
 * Lists................Default lists.
 * Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
 *
 * BLOCKS
 * Audio................Specific styles for the audio block.
 * Button...............Specific styles for the button block.
 * Code.................Specific styles for the code block.
 * Columns..............Specific styles for the columns block.
 * Cover................Specific styles for the cover block.
 * File.................Specific styles for the file block.
 * Gallery..............Specific styles for the gallery block.
 * Group................Specific styles for the group block.
 * Heading..............Specific styles for the heading block.
 * Image................Specific styles for the image block.
 * Latest comments......Specific styles for the latest comments block.
 * Latest posts.........Specific styles for the latest posts block.
 * Legacy...............Specific styles for the legacy gallery.
 * List.................Specific styles for the list block.
 * Media text...........Specific styles for the media and text block.
 * Navigation...........Specific styles for the navigation block.
 * Paragraph............Specific styles for the paragraph block.
 * Pullquote............Specific styles for the pullquote block.
 * Quote................Specific styles for the quote block.
 * Search...............Specific styles for the search block.
 * Separator............Specific styles for the separator block.
 * Table................Specific styles for the table block.
 * Verse................Specific styles for the verse block.
 * Video................Specific styles for the video block.
 * Utilities............Block alignments.
 *
 * COMPONENTS
 * Header...............Header styles.
 * Footer...............Footer styles.
 * Comments.............Comment styles.
 * Archives.............Archive styles.
 * 404..................404 styles.
 * Search...............Search styles.
 * Navigation...........Navigation styles.
 * Footer Navigation....Footer Navigation styles.
 * Pagination...........Pagination styles.
 * Single...............Single page and post styles.
 * Posts and pages......Misc, sticky post styles.
 * Entry................Entry, author biography.
 * Widget...............Widget styles.
 * Editor...............Editor styles.
 *
 * UTILITIES
 * A11y.................Screen reader text, prefers reduced motion etc.
 * Color Palette........Classes for the color palette colors.
 * Editor Font Sizes....Editor Font Sizes.
 * Measure..............The width of a line of text, in characters.
 */

/* Categories 01 to 03 are the basics. */

/* Variables */
:root {

	/* Font Family */
	/*--global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
	--global--font-secondary: var(--font-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);*/
	--global--font-primary: var(--font-headings, 'Helvetica Neue', 'Noto Sans JP' ,sans-serif);
	--global--font-secondary: var(--font-base, 'Helvetica Neue', 'Noto Sans JP' ,sans-serif);

	/* Font Size */
	--global--font-size-base: 1.125rem;
	--global--font-size-xs: 1rem;
	--global--font-size-sm: 1.125rem;
	--global--font-size-md: 1.25rem;
	--global--font-size-lg: 1.3rem;
	--global--font-size-xl: 2.25rem;
	--global--font-size-xxl: 4rem;
	--global--font-size-xxxl: 5rem;
	--global--font-size-page-title: var(--global--font-size-xxl);
	--global--letter-spacing: normal;

	/* Line Height */
	--global--line-height-body: 1.9;
	--global--line-height-heading: 1.7;
	--global--line-height-page-title: 1.7;

	/* Headings */
	--heading--font-family: var(--global--font-primary);
	--heading--font-size-h6: var(--global--font-size-xs);
	--heading--font-size-h5: var(--global--font-size-sm);
	--heading--font-size-h4: var(--global--font-size-lg);
	--heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
	--heading--font-size-h2: var(--global--font-size-xl);
	--heading--font-size-h1: var(--global--font-size-page-title);
	--heading--letter-spacing-h6: 0.05em;
	--heading--letter-spacing-h5: 0.05em;
	--heading--letter-spacing-h4: var(--global--letter-spacing);
	--heading--letter-spacing-h3: var(--global--letter-spacing);
	--heading--letter-spacing-h2: var(--global--letter-spacing);
	--heading--letter-spacing-h1: var(--global--letter-spacing);
	--heading--line-height-h6: var(--global--line-height-heading);
	--heading--line-height-h5: var(--global--line-height-heading);
	--heading--line-height-h4: var(--global--line-height-heading);
	--heading--line-height-h3: var(--global--line-height-heading);
	--heading--line-height-h2: var(--global--line-height-heading);
	--heading--line-height-h1: var(--global--line-height-page-title);
	--heading--font-weight: normal;
	--heading--font-weight-page-title: 300;
	--heading--font-weight-strong: 600;

	/* Block: Latest posts */
	--latest-posts--title-font-family: var(--heading--font-family);
	--latest-posts--title-font-size: var(--heading--font-size-h3);
	--latest-posts--description-font-family: var(--global--font-secondary);
	--latest-posts--description-font-size: var(--global--font-size-sm);
	--list--font-family: var(--global--font-secondary);
	--definition-term--font-family: var(--global--font-primary);

	/* Colors */
	--global--color-black: #333333;
	--global--color-dark-gray: #555555;
	--global--color-gray: #39414d;
	--global--color-light-gray: #f0f0f0;
	--global--color-green: #d1e4dd;
	--global--color-blue: #d1dfe4;
	--global--color-purple: #d1d1e4;
	--global--color-red: #e4d1d1;
	--global--color-orange: #e4dad1;
	--global--color-yellow: #eeeadd;
	--global--color-white: #fff;
	--global--color-white-50: rgba(255, 255, 255, 0.5);
	--global--color-white-90: rgba(255, 255, 255, 0.9);
	--global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */
	--global--color-secondary: var(--global--color-gray); /* Headings */
	--global--color-primary-hover: var(--global--color-primary);
	--global--color-background: var(--global--color-white); /* Mint, default body background */
	--global--color-border: var(--global--color-primary); /* Used for borders (separators) */

	/* Spacing */
	--global--spacing-unit: 20px;
	--global--spacing-measure: unset;
	--global--spacing-horizontal: 25px;
	--global--spacing-vertical: 30px;

	/* Elevation */
	--global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);

	/* Forms */
	--form--font-family: var(--global--font-secondary);
	--form--font-size: var(--global--font-size-sm);
	--form--line-height: var(--global--line-height-body);
	--form--color-text: var(--global--color-dark-gray);
	--form--color-ranged: var(--global--color-secondary);
	--form--label-weight: 500;
	--form--border-color: var(--global--color-secondary);
	--form--border-width: 3px;
	--form--border-radius: 0;
	--form--spacing-unit: calc(0.5 * var(--global--spacing-unit));

	/* Cover block */
	--cover--height: calc(15 * var(--global--spacing-vertical));
	--cover--color-foreground: var(--global--color-white);
	--cover--color-background: var(--global--color-black);

	/* Buttons */
	--button--color-text: var(--global--color-background);
	--button--color-text-hover: var(--global--color-secondary);
	--button--color-text-active: var(--global--color-secondary);
	--button--color-background: var(--global--color-secondary);
	--button--color-background-active: var(--global--color-background);
	--button--font-family: var(--global--font-primary);
	--button--font-size: var(--global--font-size-base);
	--button--font-weight: 500;
	--button--line-height: 1.7;
	--button--border-width: 1px;
	--button--border-radius: 30px;
	--button--padding-vertical: 15px;
	--button--padding-horizontal: calc(2 * var(--button--padding-vertical));

	/* entry */
	--entry-header--color: var(--global--color-primary);
	--entry-header--color-link: currentColor;
	--entry-header--color-hover: var(--global--color-primary-hover);
	--entry-header--color-focus: var(--global--color-secondary);
	--entry-header--font-size: var(--heading--font-size-h2);
	--entry-content--font-family: var(--global--font-secondary);
	--entry-author-bio--font-family: var(--heading--font-family);
	--entry-author-bio--font-size: var(--heading--font-size-h4);

	/* Header */
	--branding--color-text: var(--global--color-primary);
	--branding--color-link: var(--global--color-primary);
	--branding--color-link-hover: var(--global--color-secondary);
	--branding--title--font-family: var(--global--font-primary);
	--branding--title--font-size: var(--global--font-size-lg);
	--branding--title--font-size-mobile: var(--heading--font-size-h4);
	--branding--title--font-weight: normal;
	--branding--title--text-transform: uppercase;
	--branding--description--font-family: var(--global--font-secondary);
	--branding--description--font-size: var(--global--font-size-sm);
	--branding--logo--max-width: 300px;
	--branding--logo--max-height: 100px;
	--branding--logo--max-width-mobile: 96px;
	--branding--logo--max-height-mobile: 96px;

	/* Main navigation */
	--primary-nav--font-family: var(--global--font-secondary);
	--primary-nav--font-family-mobile: var(--global--font-primary);
	--primary-nav--font-size: var(--global--font-size-md);
	--primary-nav--font-size-sub-menu: var(--global--font-size-xs);
	--primary-nav--font-size-mobile: var(--global--font-size-sm);
	--primary-nav--font-size-sub-menu-mobile: var(--global--font-size-sm);
	--primary-nav--font-size-button: var(--global--font-size-xs);
	--primary-nav--font-style: normal;
	--primary-nav--font-style-sub-menu-mobile: normal;
	--primary-nav--font-weight: normal;
	--primary-nav--font-weight-button: 500;
	--primary-nav--color-link: var(--global--color-primary);
	--primary-nav--color-link-hover: var(--global--color-primary-hover);
	--primary-nav--color-text: var(--global--color-primary);
	--primary-nav--padding: calc(0.66 * var(--global--spacing-unit));
	--primary-nav--border-color: var(--global--color-primary);

	/* Pagination */
	--pagination--color-text: var(--global--color-primary);
	--pagination--color-link-hover: var(--global--color-primary-hover);
	--pagination--font-family: var(--global--font-secondary);
	--pagination--font-size: var(--global--font-size-lg);
	--pagination--font-weight: normal;
	--pagination--font-weight-strong: 600;

	/* Footer */
	--footer--color-text: var(--global--color-primary);
	--footer--color-link: var(--global--color-primary);
	--footer--color-link-hover: var(--global--color-primary-hover);
	--footer--font-family: var(--global--font-primary);
	--footer--font-size: var(--global--font-size-sm);

	/* Block: Pull quote */
	--pullquote--font-family: var(--global--font-primary);
	--pullquote--font-size: var(--heading--font-size-h3);
	--pullquote--font-style: normal;
	--pullquote--letter-spacing: var(--heading--letter-spacing-h4);
	--pullquote--line-height: var(--global--line-height-heading);
	--pullquote--border-width: 3px;
	--pullquote--border-color: var(--global--color-primary);
	--pullquote--color-foreground: var(--global--color-primary);
	--pullquote--color-background: var(--global--color-background);
	--quote--font-family: var(--global--font-secondary);
	--quote--font-size: var(--global--font-size-md);
	--quote--font-size-large: var(--global--font-size-xl);
	--quote--font-style: normal;
	--quote--font-weight: 700;
	--quote--font-weight-strong: bolder;
	--quote--font-style-large: normal;
	--quote--font-style-cite: normal;
	--quote--line-height: var(--global--line-height-body);
	--quote--line-height-large: 1.35;
	--separator--border-color: var(--global--color-border);
	--separator--height: 1px;

	/* Block: Table */
	--table--stripes-border-color: var(--global--color-light-gray);
	--table--stripes-background-color: var(--global--color-light-gray);
	--table--has-background-text-color: var(--global--color-dark-gray);

	/* Widgets */
	--widget--line-height-list: 1.9;
	--widget--line-height-title: 1.4;
	--widget--font-weight-title: 700;
	--widget--spacing-menu: calc(0.66 * var(--global--spacing-unit));

	/* Admin-bar height */
	--global--admin-bar--height: 0px;
}

.admin-bar {
	--global--admin-bar--height: 32px;
}

:where(.editor-styles-wrapper) .wp-block {
    max-width: 768px;
}
@media only screen and (max-width: 782px) {

	.admin-bar {
		--global--admin-bar--height: 46px;
	}
}

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

	:root {
		--global--font-size-xl: 2rem;
		--global--font-size-xxl: 2rem;
		--global--font-size-xxxl: 2.5rem;
		--heading--font-size-h3: 1.4rem;
		--heading--font-size-h2: 1.6rem;
	}
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	text-decoration-thickness: 1px;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration-style: dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/**
 * Responsive Styles
 */

/**
 * Required Variables
 */

/**
 * Root Media Query Variables
 */
:root {
	--responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 0.6);
	--responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
	--responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
	--responsive--alignfull-width: 100%;
	--responsive--alignright-margin: var(--global--spacing-horizontal);
	--responsive--alignleft-margin: var(--global--spacing-horizontal);
}

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

	:root {
		--responsive--aligndefault-width: min(calc(100vw - 4 * var(--global--spacing-horizontal)), 844px);
		--responsive--alignwide-width: calc(100vw - 4 * var(--global--spacing-horizontal));
		--responsive--alignright-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
		--responsive--alignleft-margin: calc(0.5 * (100vw - var(--responsive--aligndefault-width)));
	}
}
@media only screen and (min-width: 822px) {

	:root {
		--responsive--aligndefault-width: min(calc(100vw - 2 * var(--global--spacing-horizontal)), 1366px);
		--responsive--alignwide-width: min(calc(100vw - 2 * var(--global--spacing-horizontal)), 1366px);
	}
}

/**
 * Extends
 */
.post-thumbnail,
.entry-content .wp-audio-shortcode,
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.wp-block-embed-youtube),
*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator),
.default-max-width {
	max-width: var(--responsive--aligndefault-width);
	margin-left: auto;
	margin-right: auto;
}

.widget-area,
.pagination,
.comments-pagination,
.post-navigation,
.alignwide,
.wide-max-width {
	max-width: var(--responsive--alignwide-width);
	margin-left: auto;
	margin-right: auto;
}

.alignfull,
.wp-block-group .wp-block-group__inner-container > *.alignfull,
.full-max-width {
	max-width: var(--responsive--alignfull-width);
	width: var(--responsive--alignfull-width);
	margin-left: auto;
	margin-right: auto;
}

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

	.alignfull,
	.full-max-width {
		max-width: var(--responsive--alignfull-width);
		width: auto;
		margin-left: auto;
		margin-right: auto;
	}
}

.entry-header .post-thumbnail,
.singular .post-thumbnail,
.alignfull [class*=inner-container] > .alignwide,
.alignwide [class*=inner-container] > .alignwide {
	margin-left: auto;
	margin-right: auto;
	width: var(--responsive--alignwide-width);
	max-width: var(--responsive--alignfull-width);
}

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

	.entry-content > .alignleft {

		/*rtl:ignore*/
		margin-left: var(--responsive--alignleft-margin);

		/*rtl:ignore*/
		margin-right: var(--global--spacing-horizontal);
	}
}
@media only screen and (min-width: 482px) {

	.entry-content > .alignright {

		/*rtl:ignore*/
		margin-left: var(--global--spacing-horizontal);

		/*rtl:ignore*/
		margin-right: var(--responsive--alignright-margin);
	}
}

/**
 * Site Structure
 *
 * - Set vertical margins and responsive widths on
 *   top-level wrappers and content wrappers
 * - `--global--width-content` is a responsive variable
 * - See: globals/_global-width-responsive.scss
 */

/**
 * Top Level Wrappers (header, main, footer)
 * - Set vertical padding and horizontal margins
 */
.site-header,
.site-main,
.widget-area,
.site-footer {
	padding-top: var(--global--spacing-vertical);
	padding-bottom: var(--global--spacing-vertical);
	margin-left: auto;
	margin-right: auto;
}

.site-header {
	padding-top: calc(0.75 * var(--global--spacing-vertical));
	padding-bottom: calc(2 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.site-header {
		padding-bottom: 1em;
	}
}

/**
 * Site-main children wrappers
 * - Add double vertical margins here for clearer hierarchy
 */
.site-main > * {
	margin-top: calc(3 * var(--global--spacing-vertical));
	margin-bottom: calc(1 * var(--global--spacing-vertical));
}

.site-main > *:first-child {
	margin-top: 0;
}

/*.site-main > *:last-child {
	margin-bottom: 0;
}*/

/**
 * Set the default maximum responsive content-width
 */

/**
 * Set the wide maximum responsive content-width
 */

/**
 * Set the full maximum responsive content-width
 */

/*
 * Block & non-gutenberg content wrappers
 * - Set margins
 */
.entry-header,
.post-thumbnail,
.entry-content,
.entry-footer,
.author-bio {
	margin-top: var(--global--spacing-vertical);
	margin-right: auto;
	margin-bottom: var(--global--spacing-vertical);
	margin-left: auto;
}

/*
 * Block & non-gutenberg content wrapper children
 * - Sets spacing-vertical margin logic
 */
.site-main > article > *,
.site-main > .not-found > *,
.entry-content > *,
[class*=inner-container] > *,
.wp-block-template-part > *,
.wp-block-post-template :where(li > *) {
	margin-top: calc(0.666 * var(--global--spacing-vertical));
	margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.site-main > article > *,
	.site-main > .not-found > *,
	.entry-content > *,
	[class*=inner-container] > *,
	.wp-block-template-part > *,
	.wp-block-post-template :where(li > *) {
		margin-top: var(--global--spacing-vertical);
		margin-bottom: var(--global--spacing-vertical);
	}
}

/*.site-main > article > *:first-child,*/
.site-main > .not-found > *:first-child,
.entry-content > *:first-child,
[class*=inner-container] > *:first-child,
.wp-block-template-part > *:first-child,
.wp-block-post-template :where(li > *):first-child {
	margin-top: 0;
}

.site-main > article > *:last-child,
.site-main > .not-found > *:last-child,
.entry-content > *:last-child,
/*[class*=inner-container] > *:last-child,*/
.wp-block-template-part > *:last-child,
.wp-block-post-template :where(li > *):last-child {
	margin-bottom: 0;
}

.site-footer > *,
.widget-area > * {
	margin-top: calc(0.666 * var(--global--spacing-vertical));
	margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.site-footer > *,
	.widget-area > * {
		margin-top: var(--global--spacing-vertical);
		margin-bottom: var(--global--spacing-vertical);
	}
}

/*
 * Block & non-gutenberg content wrapper children
 * - Sets spacing-unit margins
 */
.entry-header > *,
.post-thumbnail > *,
.page-content > *,
.comment-content > *,
.widget > * {
	margin-top: var(--global--spacing-unit);
	margin-bottom: var(--global--spacing-unit);
}

.entry-header > *:first-child,
.post-thumbnail > *:first-child,
.page-content > *:first-child,
.comment-content > *:first-child,
.widget > *:first-child {
	margin-top: 0;
}

.entry-header > *:last-child,
.post-thumbnail > *:last-child,
.page-content > *:last-child,
.comment-content > *:last-child,
.widget > *:last-child {
	margin-bottom: 0;
}

/*
 * .entry-content children specific controls
 * - Adds special margin overrides for alignment utility classes
 */
.entry-content > *.alignleft,
.entry-content > *.alignright,
.entry-content > *.alignleft:first-child + *,
.entry-content > *.alignright:first-child + *,
.entry-content > *.alignfull.has-background {
	margin-top: 0;
}

.entry-content > *:last-child,
.entry-content > *.alignfull.has-background {
	margin-bottom: 0;
}

.entry-content > *.alignfull + .alignleft,
.entry-content > *.alignfull + .alignright {
	margin-top: var(--global--spacing-vertical);
}

/**
 * Reset specific elements to make them easier to style in other contexts.
 */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
form,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
	padding: 0;
	margin: 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/**
 * Apply generic border-box to all elements.
 * See:
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
html {

	/* Apply border-box across the entire page. */
	box-sizing: border-box;
	font-family: var(--global--font-secondary);
	line-height: var(--global--line-height-body);
}

/**
 * Relax the definition a bit, to allow components to override it manually.
 */
*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	font-size: var(--global--font-size-base);
	font-weight: normal;
	color: var(--global--color-primary);
	text-align: left;
	background-color: var(--global--color-background);
        letter-spacing: 0.05em;
}

button {
	cursor: pointer;
}

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/* Category 04 can contain any default HTML element. Do not add classes here, just give the elements some basic styles. */
blockquote {
	padding: 0;
	position: relative;
	margin: var(--global--spacing-vertical) 0 var(--global--spacing-vertical) var(--global--spacing-horizontal);
}

blockquote > * {
	margin-top: var(--global--spacing-unit);
	margin-bottom: var(--global--spacing-unit);
}

blockquote > *:first-child {
	margin-top: 0;
}

blockquote > *:last-child {
	margin-bottom: 0;
}

blockquote p {
	letter-spacing: var(--heading--letter-spacing-h4);
	font-family: var(--quote--font-family);
	font-size: var(--quote--font-size);
	font-style: var(--quote--font-style);
	font-weight: var(--quote--font-weight);
	line-height: var(--quote--line-height);
}

blockquote cite,
blockquote footer {
	font-weight: normal;
	color: var(--global--color-primary);
	letter-spacing: var(--global--letter-spacing);
}

blockquote.alignleft,
blockquote.alignright {
	padding-left: inherit;
}

blockquote.alignleft p,
blockquote.alignright p {
	font-size: var(--heading--font-size-h5);
	max-width: inherit;
	width: inherit;
}

blockquote.alignleft cite,
blockquote.alignleft footer,
blockquote.alignright cite,
blockquote.alignright footer {
	font-size: var(--global--font-size-xs);
	letter-spacing: var(--global--letter-spacing);
}

blockquote strong {
	font-weight: var(--quote--font-weight-strong);
}

blockquote:before {
	content: "“";
	position: absolute;
	left: calc(-0.5 * var(--global--spacing-horizontal));
}

blockquote .wp-block-quote__citation,
blockquote cite,
blockquote footer {
	color: var(--global--color-primary);
	font-style: var(--quote--font-style-cite);
}
@media only screen and (max-width: 481.98px) {

	blockquote {
		padding-left: calc(0.5 * var(--global--spacing-horizontal));
	}

	blockquote:before {
		left: 0;
	}
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
.site textarea {
	border: var(--form--border-width) solid var(--form--border-color);
	border-radius: var(--form--border-radius);
	color: var(--form--color-text);
	line-height: var(--global--line-height-body);
	padding: var(--form--spacing-unit);
	margin: 0 2px;
	max-width: 100%;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
.site textarea:focus {
	color: var(--form--color-text);
	outline-offset: 2px;
	outline: 2px dotted var(--form--border-color);
}

input[type=text]:disabled,
input[type=email]:disabled,
input[type=url]:disabled,
input[type=password]:disabled,
input[type=search]:disabled,
input[type=number]:disabled,
input[type=tel]:disabled,
input[type=date]:disabled,
input[type=month]:disabled,
input[type=week]:disabled,
input[type=time]:disabled,
input[type=datetime]:disabled,
input[type=datetime-local]:disabled,
input[type=color]:disabled,
.site textarea:disabled {
	opacity: 0.7;
}

.is-dark-theme input[type=text],
.is-dark-theme input[type=email],
.is-dark-theme input[type=url],
.is-dark-theme input[type=password],
.is-dark-theme input[type=search],
.is-dark-theme input[type=number],
.is-dark-theme input[type=tel],
.is-dark-theme input[type=date],
.is-dark-theme input[type=month],
.is-dark-theme input[type=week],
.is-dark-theme input[type=time],
.is-dark-theme input[type=datetime],
.is-dark-theme input[type=datetime-local],
.is-dark-theme input[type=color],
.is-dark-theme .site textarea {
	background: var(--global--color-white-90);
}

input[type=search]:focus {
	outline-offset: -7px;
}

.is-dark-theme input[type=search]:focus {
	outline-color: var(--global--color-background);
}

input[type=color] {
	padding: calc(var(--form--spacing-unit) / 2);
	height: calc(4 * var(--form--spacing-unit));
}

input[type=email],
input[type=url] {

	/*rtl:ignore*/
	direction: ltr;
}

select {
	border: var(--form--border-width) solid var(--form--border-color);
	color: var(--form--color-text);
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	line-height: var(--global--line-height-body);
	padding: var(--form--spacing-unit) calc(3 * var(--form--spacing-unit)) var(--form--spacing-unit) var(--form--spacing-unit);
	background: var(--global--color-white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
	background-position: right var(--form--spacing-unit) top 60%;
}

select:focus {
	outline-offset: 2px;
	outline: 2px dotted var(--form--border-color);
}

.is-dark-theme select {
	background: var(--global--color-white-90) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2328303d'><polygon points='0,0 10,0 5,5'/></svg>") no-repeat;
	background-position: right var(--form--spacing-unit) top 60%;
}

textarea {
	width: 100%;
}

label {
	font-size: var(--form--font-size);
	font-weight: var(--form--label-weight);
	margin-bottom: calc(var(--global--spacing-vertical) / 3);
}

/**
https://css-tricks.com/custom-styling-form-inputs-with-modern-css-features/
https://codepen.io/aaroniker/pen/ZEYoxEY by Aaron Iker.
License: MIT.
*/
@supports (-webkit-appearance: none) or (-moz-appearance: none) {

	input[type=checkbox],
	input[type=radio] {
		-webkit-appearance: none;
		-moz-appearance: none;
		position: relative;
		width: 25px;
		height: 25px;
		border: var(--form--border-width) solid var(--form--border-color);
		background: var(--global--color-white);
	}

	input[type=checkbox]:disabled,
	input[type=radio]:disabled {
		opacity: 0.7;
	}

	.is-dark-theme input[type=checkbox],
	.is-dark-theme input[type=radio] {
		background: var(--global--color-white-90);
	}

	input[type=checkbox]:focus {
		outline-offset: 2px;
		outline: 2px dotted var(--form--border-color);
	}

	input[type=checkbox]:after {
		content: "";
		opacity: 0;
		display: block;
		left: 6px;
		top: 2px;
		position: absolute;
		width: 8px;
		height: 14px;
		border: 3px solid #fff;
		border-top: 0;
		border-left: 0;
		transform: rotate(30deg);
	}

	input[type=checkbox]:checked {
		color: var(--form--color-text);
	}

	input[type=checkbox]:checked:after {
		opacity: 1;
	}

	input[type=radio] {
		border-radius: 50%;
	}

	input[type=radio]:focus {
		outline-offset: 2px;
		outline: 2px dotted var(--form--border-color);
	}

	input[type=radio]:after {
		content: "";
		opacity: 0;
		display: block;
		left: 2px;
		top: 2px;
		position: absolute;
		width: 11px;
		height: 11px;
		border-radius: 50%;
		background: #fff;
	}

	input[type=radio]:checked {
		border: 4px solid var(--form--border-color);
	}

	input[type=radio]:checked:after {
		opacity: 1;
	}

	input[type=radio]:checked:focus {
		outline-offset: 4px;
		outline: 2px dotted var(--form--border-color);
	}
}

input[type=checkbox] + label,
input[type=radio] + label {
	display: inline-block;
	padding-left: 10px;
	font-size: var(--global--font-size-xs);
	vertical-align: top;
}

/**
 * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
*/
@supports (-webkit-appearance: none) or (-moz-appearance: none) {

	input[type=range] {
		-webkit-appearance: none; /* Hides the slider so that custom slider can be made */
		width: 100%; /* Specific width is required for Firefox. */
		height: 6px;
		background: var(--form--color-ranged);
		border-radius: 6px;
		outline-offset: 10px;
	}

	input[type=range]:disabled {
		opacity: 0.7;
	}

	input[type=range]::-webkit-slider-thumb {
		-webkit-appearance: none;
		border: 3px solid var(--form--color-ranged);
		height: 44px;
		width: 44px;
		border-radius: 50%;
		background: var(--global--color-background);
		cursor: pointer;
	}

	input[type=range]::-moz-range-thumb {
		border: 3px solid var(--form--color-ranged);
		height: 44px;
		width: 44px;
		border-radius: 50%;
		background: var(--global--color-background);
		cursor: pointer;
		box-sizing: border-box;
	}
}

input[type=range]::-ms-track {
	width: 100%;
	height: 6px;
	border-radius: 6px;
	border-width: 19px 0;
	border-color: var(--global--color-background);
	background: transparent;
	color: transparent;
	cursor: pointer;
}

input[type=range]::-ms-fill-upper {
	background: var(--form--color-ranged);
	border-radius: 6px;
}

input[type=range]::-ms-fill-lower {
	background: var(--form--color-ranged);
	border-radius: 6px;
}

input[type=range]::-ms-thumb {
	border: 3px solid var(--form--color-ranged);
	height: 44px;
	width: 44px;
	border-radius: 50%;
	background: var(--global--color-background);
	cursor: pointer;
}

fieldset {
	display: grid;
	border-color: var(--global--color-secondary);
	padding: var(--global--spacing-horizontal);
}

fieldset legend {
	font-size: var(--global--font-size-lg);
}

fieldset input[type=submit] {
	max-width: max-content;
}

fieldset input:not([type=submit]) {
	margin-bottom: var(--global--spacing-unit);
}

fieldset input[type=radio],
fieldset input[type=checkbox] {
	margin-bottom: 0;
}

fieldset input[type=radio] + label,
fieldset input[type=checkbox] + label {
	font-size: var(--form--font-size);
	padding-left: 0;
	margin-bottom: var(--global--spacing-unit);
}

::-moz-placeholder {
	opacity: 1;
}

.post-password-message {
	font-size: var(--global--font-size-lg);
}

.post-password-form {
	display: flex;
	flex-wrap: wrap;
}

.post-password-form__label {
	width: 100%;
	margin-bottom: 0;
}

.post-password-form input[type=password] {
	flex-grow: 1;
	margin-top: calc(var(--global--spacing-vertical) / 3);
	margin-right: calc(0.66 * var(--global--spacing-horizontal));
}

.post-password-form__submit {
	margin-top: calc(var(--global--spacing-vertical) / 3);
}
@media only screen and (min-width: 592px) {

	.post-password-form__submit {
		margin-left: calc(0.4 * var(--global--spacing-horizontal));
	}
}

img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

/* Classic editor images */
.entry-content img {
	max-width: 100%;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object,
video {
	max-width: 100%;
}

/* Media captions */
figcaption,
.wp-caption,
.wp-caption-text,
.wp-block-embed figcaption {
	color: currentColor;
	font-size: var(--global--font-size-xs);
	line-height: var(--global--line-height-body);
	margin-top: calc(0.5 * var(--global--spacing-unit));
	margin-bottom: var(--global--spacing-unit);
	text-align: center;
}

.alignleft figcaption,
.alignright figcaption,
.alignleft .wp-caption,
.alignright .wp-caption,
.alignleft .wp-caption-text,
.alignright .wp-caption-text,
.alignleft .wp-block-embed figcaption,
.alignright .wp-block-embed figcaption {
	margin-bottom: 0;
}

/* WP Smiley */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Over here, place any elements that do not need to have their own file. */
b,
strong {
	font-weight: 700;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

pre {
	white-space: pre;
	overflow-x: auto;
}

.entry-content > code {
	display: block;
}

/*
 * text-underline-offset doesn't work in Chrome at all 👎
 * But looks nice in Safari/Firefox, so let's keep it and
 * maybe Chrome will support it soon.
 */
a {
	cursor: pointer;
	color: var(--wp--style--color--link, var(--global--color-primary));
	text-underline-offset: 3px;
	text-decoration-skip-ink: all;
        font-weight: 500;
        transition: all  .2s ease;
}
a i {
      transition: transform 0.3s ease-in-out;
}
a:hover {
	text-decoration-style: dotted;
	text-decoration-skip-ink: none;
        color: var(--defaults-color);
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {

	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
	text-decoration: underline 1px dotted currentColor;
	text-decoration-skip-ink: none;
	/*background: rgba(255, 255, 255, 0.9);*/
}

.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
	background: var(--global--color-black);
	color: var(--global--color-white);
	text-decoration: none;
}

.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
	color: var(--wp--style--color--link, var(--global--color-white));
}

.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
	/*background: rgba(0, 0, 0, 0.9);
	color: var(--wp--style--color--link, var(--global--color-white));*/
}

.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) .meta-nav {
	color: var(--wp--style--color--link, var(--global--color-white));
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link {

	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
	outline-offset: -2px;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).skip-link:focus {
	color: #21759b;
	background-color: #f1f1f1;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button).custom-logo-link {
	background: none;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
	outline: 2px dotted var(--wp--style--color--link, var(--global--color-primary));
}

.has-background .has-link-color a,
.has-background.has-link-color a {
	color: var(--wp--style--color--link, var(--global--color-primary));
}

/* Category 05 is all about adjusting the default block styles to the given layout. I only added three blocks as examples. */
.wp-block-audio audio:focus {
	outline-offset: 5px;
	outline: 2px solid var(--global--color-primary);
}

/**
 * Button
 */
.site .button,
button,
input[type=submit],
input[type=reset],
.wp-block-search .wp-block-search__button,
.wp-block-button .wp-block-button__link,
.wp-block-file a.wp-block-file__button {
	border: 1px solid #fff;
	border-radius: var(--button--border-radius);
	cursor: pointer;
	font-weight: var(--button--font-weight);
	font-family: var(--button--font-family);
	font-size: 1.2rem;
	/*line-height: var(--button--line-height);
	padding: var(--button--padding-vertical) var(--button--padding-horizontal);*/
        padding: 0.5em 1.2em;
	text-decoration: none;
}

.site .button:not(:hover):not(:active):not(.has-text-color),
button:not(:hover):not(:active):not(.has-text-color),
input[type=submit]:not(:hover):not(:active):not(.has-text-color),
input[type=reset]:not(:hover):not(:active):not(.has-text-color),
.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
	color: var(--global--color-background);
}

.has-background .site .button:not(:hover):not(:active):not(.has-text-color),
.has-background button:not(:hover):not(:active):not(.has-text-color),
.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color),
.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color),
.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
	color: var(--local--color-background, var(--global--color-primary));
}

.has-background .site .button:not(:hover):not(:active):not(.has-text-color).has-background,
.has-background button:not(:hover):not(:active):not(.has-text-color).has-background,
.has-background input[type=submit]:not(:hover):not(:active):not(.has-text-color).has-background,
.has-background input[type=reset]:not(:hover):not(:active):not(.has-text-color).has-background,
.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color).has-background,
.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background,
.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color).has-background {
	color: var(--global--color-primary);
}



/* ボタン */
:root {
   /*--defaults-gradient: linear-gradient(90deg, rgba(88, 155, 132, 1) 0%, rgba(53, 178, 171, 1) 50%, rgba(185, 213, 207, 1) 100%);*/
   --defaults-gradient: linear-gradient(90deg,rgba(88, 155, 132, 1) 0%, rgba(87, 206, 188, 1) 48%, rgba(51, 198, 207, 1) 100%);
   --defaults-color: #009d85;
}

.site .button:not(:hover):not(:active):not(.has-background),
button:not(:hover):not(:active):not(.has-background),
input[type=submit]:not(:hover):not(:active):not(.has-background),
input[type=reset]:not(:hover):not(:active):not(.has-background),
.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background),
.btn a {
	background: var(--defaults-gradient);
        color: #fff;
        transition: all  .2s ease;
}
.btn a {
    border: 1px solid #fff;
    outline: 0;
    display: block;
    padding: 0.8em 3em;
    border-radius: 30px;
    text-decoration: none;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: relative;
}
.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background) .wp-font-awesome-icon {
        transition: transform 0.3s ease-in-out;
}
.wp-block-button .wp-block-button__link:active .wp-font-awesome-icon svg {
    transform: scale(0.95);
}
.wp-block-button .wp-block-button__link:hover .wp-font-awesome-icon svg {
     transform: translateX(5px);
}

.has-background .site .button:not(:hover):not(:active):not(.has-background),
.has-background button:not(:hover):not(:active):not(.has-background),
.has-background input[type=submit]:not(:hover):not(:active):not(.has-background),
.has-background input[type=reset]:not(:hover):not(:active):not(.has-background),
.has-background .wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
.has-background .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.has-background .wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
	background-color: var(--local--color-primary, var(--global--color-primary));
}

.site .button:hover,
.site .button:active,
button:hover,
button:active,
input[type=submit]:hover,
input[type=submit]:active,
input[type=reset]:hover,
input[type=reset]:active,
.wp-block-search .wp-block-search__button:hover,
.wp-block-search .wp-block-search__button:active,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:active,
.wp-block-file a.wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:active {
	background-color: transparent;
	border-color: currentColor;
	color: inherit;
}

.site .button:focus,
button:focus,
input[type=submit]:focus,
input[type=reset]:focus,
.wp-block-search .wp-block-search__button:focus,
.wp-block-button .wp-block-button__link:focus,
.wp-block-file a.wp-block-file__button:focus {
	outline-offset: -6px;
	outline: 2px dotted currentColor;
}

.site .button:disabled,
button:disabled,
input[type=submit]:disabled,
input[type=reset]:disabled,
.wp-block-search .wp-block-search__button:disabled,
.wp-block-button .wp-block-button__link:disabled,
.wp-block-file a.wp-block-file__button:disabled {
	background-color: var(--global--color-white-50);
	border-color: var(--global--color-white-50);
	color: var(--button--color-text-active);
}

/**
 * Block Options
 */
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
	color: var(--global--color-background);
}

.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
	color: var(--local--color-background, var(--global--color-background));
}

.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-text-color).has-background {
	color: var(--global--color-primary);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
	/*background-color: var(--global--color-primary);*/
        border-radius: 30px;
}

.has-background .wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
	background-color: var(--local--color-primary, var(--global--color-primary));
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
	border: 1px solid #009d85;
	background-color: transparent !important;
	color: #555;
        border-radius: 30px;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background {
	border-color: currentColor;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
	color: var(--global--color-primary);
}

.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
	color: var(--local--color-primary, var(--global--color-primary));
}

.has-background .wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active).has-background:not(.has-text-color) {
	color: inherit;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
	background-color: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:active {
	border-color: transparent !important;
	background-color: var(--global--color-primary) !important;
	color: var(--global--color-background) !important;
}

.has-background .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-background .wp-block-button.is-style-outline .wp-block-button__link:active {
	background-color: var(--local--color-primary, var(--global--color-primary)) !important;
	color: var(--local--color-background, var(--global--color-background)) !important;
}

.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-text-color .wp-block-button.is-style-outline .wp-block-button__link:active {
	color: var(--local--color-background, var(--global--color-background)) !important;
}

.wp-block-button .is-style-squared .wp-block-button__link {
	border-radius: 0;
}

.is-style-outline .wp-block-button__link[style*=radius]:focus,
.wp-block-button a.wp-block-button__link[style*=radius]:focus {
	outline-offset: 2px;
	outline: 2px dotted var(--button--color-background);
}

.wp-block-code {
	border-color: var(--global--color-border);
	border-radius: 0;
	border-style: solid;
	border-width: 0.1rem;
	padding: var(--global--spacing-unit);
}

.wp-block-code code {
	color: var(--global--color-primary);
	white-space: pre;
	overflow-x: auto;
	display: block;
}

.wp-block-columns:not(.alignwide):not(.alignfull) {
	clear: both;
}

.wp-block-columns .wp-block-column > * {
	/*margin-top: calc(0.66 * var(--global--spacing-vertical)); 
	margin-bottom: calc(0.66 * var(--global--spacing-vertical));*/
}
@media only screen and (min-width: 482px) {

	.wp-block-columns .wp-block-column > * {
		/*margin-top: var(--global--spacing-vertical);
		margin-bottom: var(--global--spacing-vertical);*/
	}
}

.wp-block-columns .wp-block-column > *:first-child {
	margin-top: 0;
}

.wp-block-columns .wp-block-column > *:last-child {
	margin-bottom: 0;
}

.wp-block-columns .wp-block-column:last-child {
	margin-bottom: 0;
}

.wp-block-columns .wp-block-column:not(:last-child) {
	margin-bottom: calc(0.66 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.wp-block-columns .wp-block-column:not(:last-child) {
		margin-bottom: var(--global--spacing-vertical);
	}
}
@media only screen and (min-width: 822px) {

	.wp-block-columns .wp-block-column:not(:last-child) {
		margin-bottom: 0;
	}
}

.wp-block-columns.is-style-twentytwentyone-columns-overlap {
	justify-content: space-around;
}
@media only screen and (min-width: 652px) {

	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) {
		margin-left: calc(-2 * var(--global--spacing-horizontal));
		margin-top: calc(2.5 * var(--global--spacing-horizontal));
		z-index: 2;
	}

	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > p:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h1:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h2:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h3:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h4:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h5:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > h6:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > pre:not(.has-background) {
		background-color: var(--global--color-background);
		padding: var(--global--spacing-unit);
	}

	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ul:not(.has-background),
	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n) > ol:not(.has-background) {
		padding-left: calc(2 * var(--global--spacing-horizontal));
	}

	.wp-block-columns.is-style-twentytwentyone-columns-overlap .wp-block-column:nth-child(2n).is-vertically-aligned-center {
		margin-top: 0;
	}
}

.wp-block-columns.alignfull .wp-block-column p:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h1:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h2:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h3:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h4:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h5:not(.has-background),
.wp-block-columns.alignfull .wp-block-column h6:not(.has-background) {
	padding-left: var(--global--spacing-unit);
	padding-right: var(--global--spacing-unit);
}

.wp-block-cover,
.wp-block-cover-image {
	background-color: var(--cover--color-background);
	min-height: var(--cover--height);
	margin-top: inherit;
	margin-bottom: inherit;

	/* default & custom background-color */

	/* Treating H2 separately to account for legacy /core styles */

	/* Block Styles */

	/* The background color class is used just for the overlay, and does not need to be applied to the inner container. */
}

.wp-block-cover:not(.alignwide):not(.alignfull),
.wp-block-cover-image:not(.alignwide):not(.alignfull) {
	clear: both;
}

.wp-block-cover.alignfull,
.wp-block-cover-image.alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text,
.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover-image .wp-block-cover-text {
	color: currentColor;
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.wp-block-cover .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
.wp-block-cover .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
.wp-block-cover .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button),
.wp-block-cover-image .wp-block-cover__inner-container a:not(.wp-block-button__link):not(.wp-block-file__button),
.wp-block-cover-image .wp-block-cover-image-text a:not(.wp-block-button__link):not(.wp-block-file__button),
.wp-block-cover-image .wp-block-cover-text a:not(.wp-block-button__link):not(.wp-block-file__button) {
	color: currentColor;
}

.wp-block-cover .wp-block-cover__inner-container .has-link-color a,
.wp-block-cover .wp-block-cover-image-text .has-link-color a,
.wp-block-cover .wp-block-cover-text .has-link-color a,
.wp-block-cover-image .wp-block-cover__inner-container .has-link-color a,
.wp-block-cover-image .wp-block-cover-image-text .has-link-color a,
.wp-block-cover-image .wp-block-cover-text .has-link-color a {
	color: var(--wp--style--color--link, var(--global--color-primary));
}

.wp-block-cover:not([class*=background-color]) .wp-block-cover__inner-container,
.wp-block-cover:not([class*=background-color]) .wp-block-cover-image-text,
.wp-block-cover:not([class*=background-color]) .wp-block-cover-text,
.wp-block-cover-image:not([class*=background-color]) .wp-block-cover__inner-container,
.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-image-text,
.wp-block-cover-image:not([class*=background-color]) .wp-block-cover-text {
	color: var(--cover--color-foreground);
}

.wp-block-cover h2,
.wp-block-cover-image h2 {
	font-size: var(--heading--font-size-h2);
	letter-spacing: var(--heading--letter-spacing-h2);
	line-height: var(--heading--line-height-h2);
	max-width: inherit;
	text-align: inherit;
	padding: 0;
}

.wp-block-cover h2.has-text-align-left,
.wp-block-cover-image h2.has-text-align-left {
	text-align: left;
}

.wp-block-cover h2.has-text-align-center,
.wp-block-cover-image h2.has-text-align-center {
	text-align: center;
}

.wp-block-cover h2.has-text-align-right,
.wp-block-cover-image h2.has-text-align-right {
	text-align: right;
}

.wp-block-cover .wp-block-cover__inner-container,
.wp-block-cover-image .wp-block-cover__inner-container {
	width: calc(100% - 2 * var(--global--spacing-vertical));
}

.wp-block-cover .wp-block-cover__inner-container > *,
.wp-block-cover-image .wp-block-cover__inner-container > * {
	margin-top: calc(0.666 * var(--global--spacing-vertical));
	margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.wp-block-cover .wp-block-cover__inner-container > *,
	.wp-block-cover-image .wp-block-cover__inner-container > * {
		margin-top: var(--global--spacing-vertical);
		margin-bottom: var(--global--spacing-vertical);
	}
}

.wp-block-cover .wp-block-cover__inner-container > *:first-child,
.wp-block-cover-image .wp-block-cover__inner-container > *:first-child {
	margin-top: 0;
}

.wp-block-cover .wp-block-cover__inner-container > *:last-child,
.wp-block-cover-image .wp-block-cover__inner-container > *:last-child {
	margin-bottom: 0;
}

.wp-block-cover.alignleft,
.wp-block-cover.alignright,
.wp-block-cover-image.alignleft,
.wp-block-cover-image.alignright {
	margin-top: 0;
}

.wp-block-cover.alignleft > *,
.wp-block-cover.alignright > *,
.wp-block-cover-image.alignleft > *,
.wp-block-cover-image.alignright > * {
	margin-top: calc(2 * var(--global--spacing-vertical));
	margin-bottom: calc(2 * var(--global--spacing-vertical));
	padding-left: var(--global--spacing-horizontal);
	padding-right: var(--global--spacing-horizontal);
	width: 100%;
}

.wp-block-cover.has-left-content,
.wp-block-cover.has-right-content,
.wp-block-cover-image.has-left-content,
.wp-block-cover-image.has-right-content {
	justify-content: center;
}

.wp-block-cover.is-style-twentytwentyone-border,
.wp-block-cover-image.is-style-twentytwentyone-border {
	border: calc(3 * var(--separator--height)) solid var(--global--color-border);
}

.wp-block-cover[class*=-background-color][class] .wp-block-cover__inner-container,
.wp-block-cover-image[class*=-background-color][class] .wp-block-cover__inner-container {
	background-color: unset;
}

.wp-block-file a.wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:hover {
	opacity: inherit;
}

.wp-block-file a.wp-block-file__button {
	display: inline-block;
}

.wp-block-gallery {
	margin: 0 auto;
}

.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
	width: calc((100% - var(--global--spacing-unit)) / 2);
}

.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
	margin: 0;
	color: var(--global--color-white);
	font-size: var(--global--font-size-xs);
}

.wp-block-gallery .blocks-gallery-image figcaption a,
.wp-block-gallery .blocks-gallery-item figcaption a {
	color: var(--global--color-white);
}

.wp-block-gallery .blocks-gallery-image figcaption a:focus,
.wp-block-gallery .blocks-gallery-item figcaption a:focus {
	background-color: transparent;
	outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
	text-decoration: none;
}

.wp-block-gallery .blocks-gallery-image a:focus img,
.wp-block-gallery .blocks-gallery-item a:focus img {
	outline-offset: 2px;
}

.wp-block-group {
	display: flow-root;
}

.wp-block-group .wp-block-group__inner-container {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-group .wp-block-group__inner-container > * {
	/*margin-top: calc(0.666 * var(--global--spacing-vertical));
	margin-bottom: calc(0.666 * var(--global--spacing-vertical));*/
}
@media only screen and (min-width: 482px) {

	.wp-block-group .wp-block-group__inner-container > * {
		/*margin-top: var(--global--spacing-vertical);
		margin-bottom: var(--global--spacing-vertical);*/
	}
}

.wp-block-group .wp-block-group__inner-container > *:first-child {
	margin-top: 0;
}

.wp-block-group .wp-block-group__inner-container > *:last-child {
	/*margin-bottom: 0;*/
}

.wp-block-group.has-background {
	padding: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.wp-block-group.has-background {
		padding: var(--global--spacing-vertical);
	}
}

.wp-block-group.is-style-twentytwentyone-border {
	border: calc(3 * var(--separator--height)) solid var(--global--color-border);
	padding: var(--global--spacing-vertical);
}

.wp-block-group.has-background .wp-block-group__inner-container > .alignfull,
.wp-block-group.has-background .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull,
.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > .alignfull,
.wp-block-group.is-style-twentytwentyone-border .wp-block-group__inner-container > hr.wp-block-separator:not(.is-style-dots):not(.alignwide).alignfull {
	max-width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
	width: calc(var(--responsive--alignfull-width) + 2 * var(--global--spacing-vertical));
	margin-left: calc(-1 * var(--global--spacing-vertical));
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	clear: both;
	font-family: var(--heading--font-family);
	font-weight: var(--heading--font-weight);
}

h1 strong,
.h1 strong,
h2 strong,
.h2 strong,
h3 strong,
.h3 strong,
h4 strong,
.h4 strong,
h5 strong,
.h5 strong,
h6 strong,
.h6 strong {
	font-weight: var(--heading--font-weight-strong);
}

h1,
.h1 {
	font-size: var(--heading--font-size-h1);
	letter-spacing: var(--heading--letter-spacing-h1);
	line-height: var(--heading--line-height-h1);
}

h2,
.h2 {
	font-size: var(--heading--font-size-h2);
	letter-spacing: var(--heading--letter-spacing-h2);
	line-height: var(--heading--line-height-h2);
}

h3,
.h3 {
	font-size: var(--heading--font-size-h3);
	letter-spacing: var(--heading--letter-spacing-h3);
	line-height: var(--heading--line-height-h3);
}

h4,
.h4 {
	font-size: var(--heading--font-size-h4);
	font-weight: var(--heading--font-weight-strong);
	letter-spacing: var(--heading--letter-spacing-h4);
	line-height: var(--heading--line-height-h4);
}

h5,
.h5 {
	font-size: var(--heading--font-size-h5);
	font-weight: var(--heading--font-weight-strong);
	letter-spacing: var(--heading--letter-spacing-h5);
	line-height: var(--heading--line-height-h5);
}

h6,
.h6 {
	font-size: var(--heading--font-size-h6);
	font-weight: var(--heading--font-weight-strong);
	letter-spacing: var(--heading--letter-spacing-h6);
	line-height: var(--heading--line-height-h6);
}

.wp-block-image {
	text-align: center;
}

.wp-block-image figcaption {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
	line-height: var(--global--line-height-body);
	margin-top: calc(0.5 * var(--global--spacing-unit));
	margin-bottom: var(--global--spacing-unit);
	text-align: center;
}

.wp-block-image .alignright {
	margin-left: var(--global--spacing-horizontal);
}

.wp-block-image .alignleft {
	margin-right: var(--global--spacing-horizontal);
}

.wp-block-image a:focus img {
	outline-offset: 2px;
}

.entry-content > *[class=wp-block-image],
.entry-content [class*=inner-container] > *[class=wp-block-image] {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content > *[class=wp-block-image] + *,
.entry-content [class*=inner-container] > *[class=wp-block-image] + * {
	margin-top: 0;
}

.wp-block-image.is-style-twentytwentyone-border img,
.wp-block-image.is-style-twentytwentyone-image-frame img {
	border: calc(3 * var(--separator--height)) solid var(--global--color-border);
}

.wp-block-image.is-style-twentytwentyone-image-frame img {
	padding: var(--global--spacing-unit);
}

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

	.entry-content > .wp-block-image > .alignleft,
	.entry-content > .wp-block-image > .alignright {
		max-width: 50%;
	}
}
@media only screen and (max-width: 481.98px) {

	.entry-content > .wp-block-image > .alignleft,
	.entry-content > .wp-block-image > .alignright {
		margin-left: 0;
		margin-right: 0;
	}
}

.wp-block-latest-comments {
	padding-left: 0;
}

.wp-block-latest-comments:where(:not([class*=-font-size]):not([style*=font-size])) .wp-block-latest-comments__comment {
	font-size: var(--global--font-size-sm);
}

.wp-block-latest-comments .wp-block-latest-comments__comment {
	line-height: var(--global--line-height-body);

	/* Vertical margins logic */
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.wp-block-latest-comments .wp-block-latest-comments__comment:first-child {
	margin-top: 0;
}

.wp-block-latest-comments .wp-block-latest-comments__comment:last-child {
	margin-bottom: 0;
}

.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
	font-family: var(--heading--font-family);
}

.wp-block-latest-comments .wp-block-latest-comments__comment-date {
	color: inherit;
	font-size: inherit;
}

.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
	font-size: inherit;
	line-height: var(--global--line-height-body);
	margin: 0;
}

.wp-block-latest-posts {
	padding-left: 0;
}

.wp-block-latest-posts:not(.is-grid) > li {
	margin-top: calc(1.666 * var(--global--spacing-vertical));
	margin-bottom: calc(1.666 * var(--global--spacing-vertical));
}

.wp-block-latest-posts:not(.is-grid) > li:first-child {
	margin-top: 0;
}

.wp-block-latest-posts:not(.is-grid) > li:last-child {
	margin-bottom: 0;
}

.widget-area .wp-block-latest-posts:not(.is-grid) > li {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-latest-posts.is-grid {
	word-wrap: break-word;
	word-break: break-word;
}

.wp-block-latest-posts.is-grid > li {
	margin-bottom: var(--global--spacing-vertical);
}

.wp-block-latest-posts.is-grid > li:last-child {
	margin-bottom: 0;
}

.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
.wp-block-latest-posts.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
.wp-block-latest-posts.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
.wp-block-latest-posts.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
.wp-block-latest-posts.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
.wp-block-latest-posts.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
	margin-bottom: 0;
}

.wp-block-latest-posts > li > * {
	margin-top: calc(0.333 * var(--global--spacing-vertical));
	margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

.wp-block-latest-posts > li > *:first-child {
	margin-top: 0;
}

.wp-block-latest-posts > li > *:last-child {
	margin-bottom: 0;
}

.wp-block-latest-posts > li > a {
	display: inline-block;
	font-family: var(--latest-posts--title-font-family);
	font-size: var(--latest-posts--title-font-size);
	font-weight: var(--heading--font-weight);
	line-height: var(--global--line-height-heading);
	margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

.widget-area .wp-block-latest-posts > li > a {
	font-size: var(--global--font-size-sm);
	margin-bottom: 0;
}

.wp-block-latest-posts .wp-block-latest-posts__post-author {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-md);
	line-height: var(--global--line-height-body);
}

.wp-block-latest-posts .wp-block-latest-posts__post-date {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
	line-height: var(--global--line-height-body);
}

[class*=inner-container] .wp-block-latest-posts .wp-block-latest-posts__post-date,
.has-background .wp-block-latest-posts .wp-block-latest-posts__post-date {
	color: currentColor;
}

.wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts .wp-block-latest-posts__post-full-content {
	font-family: var(--latest-posts--description-font-family);
	font-size: var(--latest-posts--description-font-size);
	line-height: var(--global--line-height-body);
	margin-top: calc(0.666 * var(--global--spacing-vertical));
}

.wp-block-latest-posts.alignfull {
	padding-left: var(--global--spacing-unit);
	padding-right: var(--global--spacing-unit);
}

.entry-content [class*=inner-container] .wp-block-latest-posts.alignfull,
.entry-content .has-background .wp-block-latest-posts.alignfull {
	padding-left: 0;
	padding-right: 0;
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers {
	border-top: calc(3 * var(--separator--height)) solid var(--global--color-border);
	border-bottom: calc(3 * var(--separator--height)) solid var(--global--color-border);
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li,
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li {
	padding-bottom: var(--global--spacing-vertical);
	border-bottom: var(--separator--height) solid var(--global--color-border);
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers:not(.is-grid) > li:last-child,
.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers > li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid {
	box-shadow: inset 0 -1px 0 0 var(--global--color-border);
	border-bottom: calc(2 * var(--separator--height)) solid var(--global--color-border);
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li {
	margin: 0;
	padding-top: var(--global--spacing-vertical);
	padding-right: var(--global--spacing-horizontal);
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid li:last-child {
	padding-bottom: var(--global--spacing-vertical);
}
@media screen and (min-width: 600px) {

	.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-2 li {
		width: calc(100% / 2);
	}

	.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-3 li {
		width: calc(100% / 3);
	}

	.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-4 li {
		width: calc(100% / 4);
	}

	.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-5 li {
		width: calc(100% / 5);
	}

	.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-dividers.is-grid.columns-6 li {
		width: calc(100% / 6);
	}
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li {
	border: calc(3 * var(--separator--height)) solid var(--global--color-border);
	padding: var(--global--spacing-vertical) var(--global--spacing-horizontal);
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders li:last-child {
	padding-bottom: var(--global--spacing-vertical);
}

.wp-block-latest-posts.is-style-twentytwentyone-latest-posts-borders:not(.is-grid) li {
	margin-top: var(--global--spacing-horizontal);
	margin-bottom: var(--global--spacing-horizontal);
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-item a {
	display: block;
}

.gallery-item a:focus img {
	outline-offset: -2px;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

figure.wp-caption a:focus img {
	outline-offset: 2px;
}

ul,
ol {
	font-family: var(--list--font-family);
	margin: 0;
	padding-left: calc(2 * var(--global--spacing-horizontal));
}

ul.aligncenter,
ol.aligncenter {
	list-style-position: inside;
	padding: 0;
}

ul.alignright,
ol.alignright {
	list-style-position: inside;
	text-align: right;
	padding: 0;
}

ul {
	list-style-type: disc;
}

ul ul {
	list-style-type: circle;
}

ol {
	list-style-type: decimal;
}

ol ul {
	list-style-type: circle;
}

dt {
	font-family: var(--definition-term--font-family);
	font-weight: bold;
}

dd {
	margin: 0;
	padding-left: calc(2 * var(--global--spacing-horizontal));
}

.wp-block-media-text.alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-media-text a:focus img {
	outline-offset: -1px;
}

.wp-block-media-text .wp-block-media-text__content {
	padding: var(--global--spacing-horizontal);
}
@media only screen and (min-width: 592px) {

	.wp-block-media-text .wp-block-media-text__content {
		padding: var(--global--spacing-vertical);
	}
}

.wp-block-media-text .wp-block-media-text__content > * {
	margin-top: calc(0.666 * var(--global--spacing-vertical));
	margin-bottom: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.wp-block-media-text .wp-block-media-text__content > * {
		margin-top: var(--global--spacing-vertical);
		margin-bottom: var(--global--spacing-vertical);
	}
}

.wp-block-media-text .wp-block-media-text__content > *:first-child {
	margin-top: 0;
}

.wp-block-media-text .wp-block-media-text__content > *:last-child {
	margin-bottom: 0;
}
@media only screen and (min-width: 482px) {

	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		padding-top: var(--global--spacing-vertical);
		padding-bottom: var(--global--spacing-vertical);
	}
}

.wp-block-media-text.is-style-twentytwentyone-border {
	border: calc(3 * var(--separator--height)) solid var(--global--color-border);
}

.wp-block-navigation .wp-block-navigation-link .wp-block-navigation-link__label {
	font-family: var(--primary-nav--font-family);
	font-size: var(--primary-nav--font-size);
	font-weight: var(--primary-nav--font-weight);
}

.wp-block-navigation .wp-block-navigation-link__submenu-icon {
	padding: 0;
}

.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation-link {
	display: inherit;
}

.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container {
	border: none;
	left: 0;
	min-width: max-content;
	opacity: 0;
	padding: 0;
	position: inherit;
	top: inherit;
}

.wp-block-navigation > .wp-block-navigation__container .has-child .wp-block-navigation__container .wp-block-navigation-link__submenu-icon {
	display: none;
}

.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container {
	background: var(--global--color-background);
	margin: 0;
	padding: 0;
	position: absolute;
	top: 100%;
	border: 1px solid var(--primary-nav--border-color);
}

.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:before,
.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	top: -10px;
	left: var(--global--spacing-horizontal);
	border-style: solid;
	border-color: var(--primary-nav--border-color) transparent;
	border-width: 0 7px 10px;
}

.wp-block-navigation > .wp-block-navigation__container > .has-child > .wp-block-navigation__container:after {
	top: -9px;
	border-color: var(--global--color-background) transparent;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__container {
	background: var(--global--color-background);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-navigation__container {
	background: var(--global--color-background);
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover,
.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:focus {
	color: var(--primary-nav--color-link-hover);
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link > a:hover {
	text-decoration: underline;
	text-decoration-style: dotted;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation-link__content {
	color: currentColor;
}

p {
	line-height: var(--wp--typography--line-height, var(--global--line-height-body));
}

p.has-background {
	padding: var(--global--spacing-unit);
}

p.has-text-color a {
	color: var(--wp--style--color--link, var(--global--color-primary));
}

pre.wp-block-preformatted {
	overflow-x: auto;
	white-space: pre;
}

.wp-block-pullquote {
	padding: calc(2 * var(--global--spacing-unit)) 0;
	text-align: center;
	border-width: var(--pullquote--border-width);
	border-bottom-style: solid;
	border-top-style: solid;
	color: currentColor;
	border-color: currentColor;
	position: relative;
	font-size: var(--pullquote--font-size);
	font-style: var(--pullquote--font-style);
	font-weight: 700;
	letter-spacing: var(--pullquote--letter-spacing);

	/**
   * Block Options
   */
}

.wp-block-pullquote blockquote::before {
	color: currentColor;
	content: "“";
	display: block;
	position: relative;
	left: 0;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1;
}

.wp-block-pullquote p {
	font-family: var(--pullquote--font-family);
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	margin: 0;
}

.wp-block-pullquote:where(:not([style*=line-height])) p {
	line-height: var(--pullquote--line-height);
}

.wp-block-pullquote a {
	color: currentColor;
}

.wp-block-pullquote .wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
	color: currentColor;
	display: block;
	font-size: var(--global--font-size-xs);
	font-style: var(--pullquote--font-style);
	text-transform: none;
}

.wp-block-pullquote:not(.is-style-solid-color) {
	background: none;
}

.wp-block-pullquote.alignleft:not(.is-style-solid-color) blockquote:before,
.wp-block-pullquote.alignleft:not(.is-style-solid-color) cite {
	text-align: center;
}

.wp-block-pullquote.alignwide > p,
.wp-block-pullquote.alignwide blockquote {
	max-width: var(--responsive--alignwide-width);
}

.wp-block-pullquote.alignfull:not(.is-style-solid-color) > p,
.wp-block-pullquote.alignfull:not(.is-style-solid-color) blockquote {
	padding: 0 calc(2 * var(--global--spacing-unit));
}

.wp-block-pullquote.is-style-solid-color {
	color: var(--pullquote--color-foreground);
	padding: calc(2.5 * var(--global--spacing-unit));
	border-width: var(--pullquote--border-width);
	border-style: solid;
	border-color: var(--pullquote--border-color);
}
@media (min-width: 600px) {

	.wp-block-pullquote.is-style-solid-color {
		padding: calc(5 * var(--global--spacing-unit));
	}
}

.wp-block-pullquote.is-style-solid-color blockquote::before {
	text-align: left;
}

.wp-block-pullquote.is-style-solid-color blockquote {
	margin: 0;
	max-width: inherit;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
	font-size: var(--pullquote--font-size);
}

.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
.wp-block-pullquote.is-style-solid-color cite,
.wp-block-pullquote.is-style-solid-color footer {
	color: currentColor;
}

.wp-block-pullquote.is-style-solid-color.alignleft,
.wp-block-pullquote.is-style-solid-color.alignright {
	padding: var(--global--spacing-unit);
}

.wp-block-pullquote.is-style-solid-color.alignleft blockquote,
.wp-block-pullquote.is-style-solid-color.alignright blockquote {
	max-width: initial;
}

.wp-block-query.has-background {
	padding: calc(0.666 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 482px) {

	.wp-block-query.has-background {
		padding: var(--global--spacing-vertical);
	}
}

.wp-block-quote {
	border-left: none;
	font-family: var(--quote--font-family);
	font-size: var(--quote--font-size);
	font-style: var(--quote--font-style);
	font-weight: var(--quote--font-weight);
	line-height: var(--quote--line-height);

	/**
   * Block Options
   */
}

.wp-block-quote p {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

.wp-block-quote:before {
	content: "“";
	left: 8px;
}

.wp-block-quote .wp-block-quote__citation,
.wp-block-quote cite,
.wp-block-quote footer {
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

.has-background .wp-block-quote .wp-block-quote__citation,
[class*=background-color] .wp-block-quote .wp-block-quote__citation,
[style*=background-color] .wp-block-quote .wp-block-quote__citation,
.wp-block-cover[style*=background-image] .wp-block-quote .wp-block-quote__citation,
.has-background .wp-block-quote cite,
[class*=background-color] .wp-block-quote cite,
[style*=background-color] .wp-block-quote cite,
.wp-block-cover[style*=background-image] .wp-block-quote cite,
.has-background .wp-block-quote footer,
[class*=background-color] .wp-block-quote footer,
[style*=background-color] .wp-block-quote footer,
.wp-block-cover[style*=background-image] .wp-block-quote footer {
	color: currentColor;
}

.wp-block-quote:where(:not([style*=font-style])) .wp-block-quote__citation,
.wp-block-quote:where(:not([style*=font-style])) cite,
.wp-block-quote:where(:not([style*=font-style])) footer {
	font-style: var(--quote--font-style-cite);
}

.wp-block-quote:where(:not([style*=font-weight])) .wp-block-quote__citation,
.wp-block-quote:where(:not([style*=font-weight])) cite,
.wp-block-quote:where(:not([style*=font-weight])) footer {
	font-weight: normal;
}

.wp-block-quote.has-text-align-right {
	margin: var(--global--spacing-vertical) var(--global--spacing-horizontal) var(--global--spacing-vertical) auto;
	padding-right: 0;
	border-right: none;
}

.wp-block-quote.has-text-align-right:before {
	display: none;
}

.wp-block-quote.has-text-align-right p:before {
	content: "”";
	margin-right: 5px;
}

.wp-block-quote.has-text-align-center {
	margin: var(--global--spacing-vertical) auto;
}

.wp-block-quote.has-text-align-center:before {
	display: none;
}

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
	padding-left: 0;
	padding-right: 0;

	/* Resetting margins to match _block-container.scss */
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
	font-size: var(--quote--font-size-large);
	font-style: var(--quote--font-style-large);
	line-height: var(--quote--line-height-large);
}

.wp-block-quote.is-large:before,
.wp-block-quote.is-style-large:before {
	font-size: var(--quote--font-size-large);
	line-height: var(--quote--line-height-large);
	left: calc(-1 * var(--global--spacing-horizontal));
}

.wp-block-quote.is-large.has-text-align-right:before,
.wp-block-quote.is-style-large.has-text-align-right:before {
	display: none;
}

.wp-block-quote.is-large.has-text-align-right p:before,
.wp-block-quote.is-style-large.has-text-align-right p:before {
	content: "”";
	font-size: var(--quote--font-size-large);
	font-weight: normal;
	line-height: var(--quote--line-height-large);
	margin-right: 10px;
}

.wp-block-quote.is-large .wp-block-quote__citation,
.wp-block-quote.is-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large .wp-block-quote__citation,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-sm);
}
@media only screen and (max-width: 481.98px) {

	.wp-block-quote.is-large,
	.wp-block-quote.is-style-large {
		padding-left: var(--global--spacing-horizontal);
	}

	.wp-block-quote.is-large:before,
	.wp-block-quote.is-style-large:before {
		left: 0;
	}

	.wp-block-quote.is-large.has-text-align-right,
	.wp-block-quote.is-style-large.has-text-align-right {
		padding-left: 0;
		padding-right: var(--global--spacing-horizontal);
	}

	.wp-block-quote.is-large.has-text-align-right:before,
	.wp-block-quote.is-style-large.has-text-align-right:before {
		right: 0;
	}

	.wp-block-quote.is-large.has-text-align-center,
	.wp-block-quote.is-style-large.has-text-align-center {
		padding-left: 0;
		padding-right: 0;
	}
}
@media only screen and (max-width: 481.98px) {

	.wp-block-quote.has-text-align-right {
		padding-left: 0;
		padding-right: calc(0.5 * var(--global--spacing-horizontal));
	}

	.wp-block-quote.has-text-align-right:before {
		right: 0;
	}

	.wp-block-quote.has-text-align-center {
		padding-left: 0;
		padding-right: 0;
	}
}

.wp-block-rss {
	padding-left: 0;
}

.wp-block-rss > li {
	list-style: none;
}

.wp-block-rss:not(.is-grid) > li {
	margin-top: calc(1.666 * var(--global--spacing-vertical));
	margin-bottom: calc(1.666 * var(--global--spacing-vertical));
}

.wp-block-rss:not(.is-grid) > li:first-child {
	margin-top: 0;
}

.wp-block-rss:not(.is-grid) > li:last-child {
	margin-bottom: 0;
}

.wp-block-rss.is-grid > li {
	margin-bottom: var(--global--spacing-vertical);
}

.wp-block-rss.is-grid > li:last-child {
	margin-bottom: 0;
}

.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1),
.wp-block-rss.is-grid.columns-2 > li:nth-last-child(-n+2):nth-child(2n+1) ~ li,
.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1),
.wp-block-rss.is-grid.columns-3 > li:nth-last-child(-n+3):nth-child(3n+1) ~ li,
.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1),
.wp-block-rss.is-grid.columns-4 > li:nth-last-child(-n+4):nth-child(4n+1) ~ li,
.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1),
.wp-block-rss.is-grid.columns-5 > li:nth-last-child(-n+5):nth-child(5n+1) ~ li,
.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1),
.wp-block-rss.is-grid.columns-6 > li:nth-last-child(-n+6):nth-child(6n+1) ~ li {
	margin-bottom: 0;
}

.wp-block-rss > li > * {
	margin-top: calc(0.333 * var(--global--spacing-vertical));
	margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

.wp-block-rss > li > *:first-child {
	margin-top: 0;
}

.wp-block-rss > li > *:last-child {
	margin-bottom: 0;
}

.wp-block-rss .wp-block-rss__item-title > a {
	display: inline-block;
	font-family: var(--latest-posts--title-font-family);
	font-size: var(--latest-posts--title-font-size);
	font-weight: var(--heading--font-weight);
	line-height: var(--global--line-height-heading);
	margin-bottom: calc(0.333 * var(--global--spacing-vertical));
}

.wp-block-rss .wp-block-rss__item-author {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-md);
	line-height: var(--global--line-height-body);
}

.wp-block-rss .wp-block-rss__item-publish-date {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
	line-height: var(--global--line-height-body);
}

[class*=inner-container] .wp-block-rss .wp-block-rss__item-publish-date,
.has-background .wp-block-rss .wp-block-rss__item-publish-date {
	color: currentColor;
}

.wp-block-rss .wp-block-rss__item-excerpt,
.wp-block-rss .wp-block-rss__item-full-content {
	font-family: var(--latest-posts--description-font-family);
	font-size: var(--latest-posts--description-font-size);
	line-height: var(--global--line-height-body);
	margin-top: calc(0.666 * var(--global--spacing-vertical));
}

.wp-block-rss.alignfull {
	padding-left: var(--global--spacing-unit);
	padding-right: var(--global--spacing-unit);
}

.entry-content [class*=inner-container] .wp-block-rss.alignfull,
.entry-content .has-background .wp-block-rss.alignfull {
	padding-left: 0;
	padding-right: 0;
}

.wp-block-search {
	max-width: var(--responsive--aligndefault-width);
}

.wp-block-search__button-only.aligncenter .wp-block-search__inside-wrapper {
	justify-content: center;
}

.wp-block-search .wp-block-search__label {
	font-size: var(--form--font-size);
	font-weight: var(--form--label-weight);
	margin-bottom: calc(var(--global--spacing-vertical) / 3);
}

.wp-block-search .wp-block-search__input {
	border: var(--form--border-width) solid var(--form--border-color);
	border-radius: var(--form--border-radius);
	color: var(--form--color-text);
	line-height: var(--form--line-height);
	max-width: inherit;
	margin-right: calc(-1 * var(--button--border-width));
	margin-left: 0;
	padding: var(--form--spacing-unit);
}

.wp-block-search .wp-block-search__input:focus {
	color: var(--form--color-text);
	border-color: var(--form--border-color);
}

.has-background .wp-block-search .wp-block-search__input {
	border-color: var(--local--color-primary, var(--global--color-primary)) !important;
}

.wp-block-search button.wp-block-search__button {
	margin-left: 0;
	line-height: 1;
}

.wp-block-search button.wp-block-search__button.has-icon {
	padding: 6px calc(0.5 * var(--button--padding-horizontal));
}

.wp-block-search button.wp-block-search__button.has-icon svg {
	width: 40px;
	height: 40px;
	fill: currentColor;
}

.has-background .wp-block-search button.wp-block-search__button:hover,
.has-background .wp-block-search button.wp-block-search__button:active {
	background-color: var(--local--color-background, var(--global--color-background)) !important;
	color: var(--local--color-primary, var(--global--color-primary)) !important;
}

.has-text-color .wp-block-search button.wp-block-search__button:hover,
.has-text-color .wp-block-search button.wp-block-search__button:active {
	color: var(--local--color-primary, var(--global--color-primary)) !important;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	background-color: var(--global--color-white);
	border: var(--form--border-width) solid var(--form--border-color);
	border-radius: var(--form--border-radius);
	padding: var(--form--border-width);
}

.has-background .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	border-color: var(--local--color-primary, var(--global--color-primary)) !important;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--form--spacing-unit);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
	color: var(--form--color-text);
	outline-offset: -2px;
	outline: 2px dotted var(--form--border-color);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
	padding: var(--button--padding-vertical) var(--button--padding-horizontal);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
	color: var(--global--color-dark-gray);
}

.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button {
	color: var(--global--color-dark-gray);
}

.is-dark-theme .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button:hover {
	background-color: var(--global--color-dark-gray);
	color: var(--global--color-white);
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper button.wp-block-search__button.has-icon {
	padding: 6px calc(0.5 * var(--button--padding-horizontal));
}

.wp-block-search__button {
	box-shadow: none;
}

hr {
	border-style: none;
	border-bottom: var(--separator--height) solid var(--separator--border-color);
	clear: both;
	margin-left: auto;
	margin-right: auto;
}

hr.wp-block-separator {
	border-bottom: var(--separator--height) solid var(--separator--border-color);
	opacity: 1;

	/**
   * Block Options
   */
}

hr.wp-block-separator:not(.is-style-dots):not(.alignwide) {
	max-width: var(--responsive--aligndefault-width);
}

hr.wp-block-separator:not(.is-style-dots).alignwide {
	max-width: var(--responsive--alignwide-width);
}

hr.wp-block-separator:not(.is-style-dots).alignfull {
	max-width: var(--responsive--alignfull-width);
}

hr.wp-block-separator.is-style-twentytwentyone-separator-thick {
	border-bottom-width: calc(3 * var(--separator--height));
}

hr.wp-block-separator.is-style-dots.has-background,
hr.wp-block-separator.is-style-dots.has-text-color {
	background-color: transparent !important;
}

hr.wp-block-separator.is-style-dots.has-background:before,
hr.wp-block-separator.is-style-dots.has-text-color:before {
	color: currentColor !important;
}

hr.wp-block-separator.is-style-dots:before {
	color: var(--separator--border-color);
	font-size: var(--global--font-size-xl);
	letter-spacing: var(--global--font-size-sm);
	padding-left: var(--global--font-size-sm);
}

.has-background hr.wp-block-separator,
[class*=background-color] hr.wp-block-separator,
[style*=background-color] hr.wp-block-separator,
.wp-block-cover[style*=background-image] hr.wp-block-separator {
	border-color: currentColor;
}

.wp-block-social-links a:focus {
	color: var(--global--color-primary);
}

.wp-block-social-links.is-style-twentytwentyone-social-icons-color a {
	color: var(--global--color-primary);
}

.wp-block-social-links.is-style-twentytwentyone-social-icons-color .wp-social-link,
.wp-block-social-links.is-style-twentytwentyone-social-icons-color.has-icon-background-color.has-icon-background-color .wp-social-link {
	background: none;
}

table,
.wp-block-table {
	width: 100%;
	min-width: 240px;
	border-collapse: collapse;
}

table thead,
table tfoot,
.wp-block-table thead,
.wp-block-table tfoot {
	text-align: center;
}

table th,
.wp-block-table th {
	font-family: var(--heading--font-family);
}

table td,
table th,
.wp-block-table td,
.wp-block-table th {
	padding: calc(0.5 * var(--global--spacing-unit));
	border: 1px solid;
}

table figcaption,
.wp-block-table figcaption {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
}

table.is-style-regular .has-background,
table.is-style-stripes .has-background,
table.is-style-stripes .has-background thead tr,
table.is-style-stripes .has-background tfoot tr,
table.is-style-stripes .has-background tbody tr,
.wp-block-table.is-style-regular .has-background,
.wp-block-table.is-style-stripes .has-background,
.wp-block-table.is-style-stripes .has-background thead tr,
.wp-block-table.is-style-stripes .has-background tfoot tr,
.wp-block-table.is-style-stripes .has-background tbody tr {
	color: var(--table--has-background-text-color);
}

table.is-style-stripes,
.wp-block-table.is-style-stripes {
	border-color: var(--table--stripes-border-color);
}

table.is-style-stripes th,
table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
	border-width: 0;
}

table.is-style-stripes tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--table--stripes-background-color);
}

table.is-style-stripes .has-background tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes .has-background tbody tr:nth-child(odd) {
	background-color: var(--global--color-white-90);
}

table.wp-calendar-table td,
table.wp-calendar-table th {
	background: transparent;
	border: 0;
	text-align: center;
	line-height: 2;
	vertical-align: middle;
	word-break: normal;
}

table.wp-calendar-table th {
	font-weight: bold;
}

table.wp-calendar-table thead,
table.wp-calendar-table tbody {
	color: currentColor;
	border: 1px solid;
}

table.wp-calendar-table caption {
	font-weight: bold;
	text-align: left;
	margin-bottom: var(--global--spacing-unit);
	color: currentColor;
}

.wp-calendar-nav {
	text-align: left;
	margin-top: calc(var(--global--spacing-unit) / 2);
}

.wp-calendar-nav svg {
	height: 1em;
	vertical-align: middle;
}

.wp-calendar-nav svg path {
	fill: currentColor;
}

.wp-calendar-nav .wp-calendar-nav-next {
	float: right;
}

.wp-block-tag-cloud.alignfull {
	padding-left: var(--global--spacing-unit);
	padding-right: var(--global--spacing-unit);
}

.wp-block-verse {
	font-family: var(--entry-content--font-family);
}

.wp-block-video figcaption {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
	margin-top: calc(0.5 * var(--global--spacing-unit));
	margin-bottom: var(--global--spacing-unit);
	text-align: center;
}

* > figure > video {
	max-width: unset;
	width: 100%;
	vertical-align: middle;
}

:root .is-extra-small-text,
:root .has-extra-small-font-size {
	font-size: var(--global--font-size-xs);
}

:root .is-small-text,
:root .has-small-font-size {
	font-size: var(--global--font-size-sm);
}

:root .is-regular-text,
:root .has-regular-font-size,
:root .is-normal-font-size,
:root .has-normal-font-size,
:root .has-medium-font-size {
	font-size: var(--global--font-size-base);
}

:root .is-large-text,
:root .has-large-font-size {
	font-size: var(--global--font-size-lg);
	line-height: var(--global--line-height-heading);
}

:root .is-larger-text,
:root .has-larger-font-size,
:root .is-extra-large-text,
:root .has-extra-large-font-size {
	font-size: var(--global--font-size-xl);
	line-height: var(--global--line-height-heading);
}

:root .is-huge-text,
:root .has-huge-font-size {
	font-size: var(--global--font-size-xxl);
	line-height: var(--global--line-height-heading);
	font-weight: var(--heading--font-weight-page-title);
}

:root .is-gigantic-text,
:root .has-gigantic-font-size {
	font-size: var(--global--font-size-xxxl);
	line-height: var(--global--line-height-heading);
	font-weight: var(--heading--font-weight-page-title);
}

/* Block Alignments */

/**
 * These selectors set the default max width for content appearing inside a post or page.
 */

/**
 * .alignleft
 */
.alignleft {

	/*rtl:ignore*/
	text-align: left;
	margin-top: 0;
}

.entry-content > .alignleft {
	max-width: var(--responsive--aligndefault-width);
}

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

	.alignleft {

		/*rtl:ignore*/
		float: left;

		/*rtl:ignore*/
		margin-right: var(--global--spacing-horizontal);
		margin-bottom: var(--global--spacing-vertical);
	}

	.entry-content > .alignleft {
		max-width: calc(50% - var(--responsive--alignleft-margin));
	}
}

/**
 * .aligncenter
 */
.aligncenter {
	clear: both;
	display: block;
	float: none;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

/**
 * .alignright
 */
.alignright {
	margin-top: 0;
	margin-bottom: var(--global--spacing-vertical);
}

.entry-content > .alignright {
	max-width: var(--responsive--aligndefault-width);
}

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

	.alignright {

		/*rtl:ignore*/
		float: right;

		/*rtl:ignore*/
		margin-left: var(--global--spacing-horizontal);
	}

	.entry-content > .alignright {
		max-width: calc(50% - var(--responsive--alignright-margin));
	}
}

[class*=inner-container] > .alignleft + *,
[class*=inner-container] > .alignright + * {
	margin-top: 0;
}

/**
 * .alignwide
 */
.alignwide {
	clear: both;
}

/**
 * .alignfull
 */
.alignfull {
	clear: both;
}

.has-left-content {
	justify-content: flex-start;
}

.has-right-content {
	justify-content: flex-end;
}

.has-parallax {
	background-attachment: fixed;
}

.has-drop-cap:not(:focus)::first-letter {
	font-family: var(--heading--font-family);
	font-weight: var(--heading--font-weight);
	line-height: 0.66;
	text-transform: uppercase;
	font-style: normal;
	float: left;
	margin: 0.1em 0.1em 0 0;
	font-size: calc(1.2 * var(--heading--font-size-h1));
}

.has-drop-cap:not(:focus)::after {
	content: "";
	display: table;
	clear: both;
	padding-top: 14px;
}

.desktop-only {
	display: none;
}
@media only screen and (min-width: 482px) {

	.desktop-only {
		display: block;
	}
}

/* Category 06 contains all "bigger" components which contain elements of the previous two categories like header, footer, page template, single template, comments section, archives, ... */


.wp-custom-logo .site-header {
	align-items: center;
}
@media only screen and (min-width: 482px) {

	.site-header {
		padding-top: calc(var(--global--spacing-vertical) / 0.75);
	}
}
@media only screen and (min-width: 822px) {

	.site-header {
		padding-top: 0.5em;
	}
}

.site-branding {
	color: var(--branding--color-text);
	margin-right: 140px;
}

.site-branding:last-child {
	margin-right: 0;
	width: 100%;
	text-align: center;
}
@media only screen and (min-width: 482px) {

	.site-branding {
		margin-right: initial;
		margin-top: calc(var(--primary-nav--padding) - 0.3em);
	}
}

.site-title {
	color: var(--branding--color-link);
	font-family: var(--branding--title--font-family);
	font-size: var(--branding--title--font-size-mobile);
	letter-spacing: normal;
	text-transform: var(--branding--title--text-transform);
	line-height: var(--global--line-height-heading);
	margin-bottom: calc(var(--global--spacing-vertical) / 6);
}

.site-title a {
	color: currentColor;
	font-weight: var(--branding--title--font-weight);
}

.site-title a:link,
.site-title a:visited,
.site-title a:active {
	color: currentColor;
}

.site-title a:hover,
.site-title a:focus {
	color: var(--branding--color-link-hover);
}
@media only screen and (min-width: 482px) {

	.site-title {
		font-size: var(--branding--title--font-size);
	}
}

.site-description {
	color: currentColor;
	font-family: var(--branding--description--font-family);
	font-size: var(--branding--description--font-size);
	line-height: 1.4;
}

.site-title > a {
	text-decoration-color: var(--global--color-secondary);
}

.site-logo {
	margin: calc(var(--global--spacing-vertical) / 2) 0;
}

.site-header > .site-logo {
	width: 100%;
	padding-bottom: calc(var(--global--spacing-vertical) * 1.5);
	border-bottom: 1px solid;
	text-align: center;
}

.site-logo .custom-logo {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--branding--logo--max-width-mobile);
	max-height: var(--branding--logo--max-height-mobile);
	height: auto;
	display: inline-block;
	width: auto;
}
@media only screen and (min-width: 482px) {

	.site-logo .custom-logo {
		max-width: var(--branding--logo--max-width);
		max-height: var(--branding--logo--max-height);
		height: auto;
		width: auto;
	}
}

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

	.site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
		position: absolute;
		padding-top: calc(0.5 * var(--global--spacing-vertical));
		margin-top: 0;
		top: var(--global--admin-bar--height);
	}

	.primary-navigation-open .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
		display: none;
	}

	.site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
		max-height: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit) + 1.7em);
	}

	.site-header.has-logo.has-title-and-tagline {
		align-items: flex-start;
	}

	.site-header.has-logo.has-title-and-tagline.has-menu {
		justify-content: space-between;
	}

	.site-header.has-logo.has-title-and-tagline.has-menu .site-branding {
		max-width: calc(100% - 160px);
	}

	.site-header.has-logo.has-title-and-tagline .site-branding {
		margin-right: 0;
	}

	body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline:after {
		display: none;
	}

	body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .primary-navigation {
		position: relative;
		top: 0;
	}

	body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container {
		position: relative;
		padding-top: 0;
		margin-top: calc(0px - var(--button--padding-vertical) + 0.25 * var(--global--spacing-unit));
	}

	body:not(.primary-navigation-open) .site-header.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu {
		padding-left: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
		padding-right: calc(var(--global--spacing-horizontal) * 0.6 - 4.5px);
		margin-right: calc(0px - var(--global--spacing-horizontal) * 0.6);
	}

	.site-header:not(.has-logo).has-title-and-tagline .site-branding {
		margin-right: 0;
		max-width: calc(100% - 160px);
                margin-top: 0;
	}

	.site-header:not(.has-menu) {
		justify-content: center;
	}
}

.site-footer {
	padding-top: 0;
	padding-bottom: calc(1.7 * var(--global--spacing-vertical));
}

.no-widgets .site-footer {
	margin-top: 1em;
}
@media only screen and (max-width: 481.98px) {

	.no-widgets .site-footer {
		margin-top: calc(3 * var(--global--spacing-vertical));
	}
}

.site-footer > .site-info {
	padding-top: var(--global--spacing-vertical);
	color: var(--footer--color-text);
	font-family: var(--footer--font-family);
	font-size: var(--footer--font-size);
	line-height: var(--global--line-height-body);
}

.site-footer > .site-info .site-name {
	text-transform: var(--branding--title--text-transform);
	font-size: var(--branding--title--font-size);
}

.site-footer > .site-info .privacy-policy,
.site-footer > .site-info .powered-by {
	margin-top: calc(0.5 * var(--global--spacing-vertical));
}
@media only screen and (min-width: 822px) {

	.site-footer > .site-info {
		display: flex;
		align-items: center;
	}

	.site-footer > .site-info .site-name {
		margin-right: calc(0.5 * var(--global--spacing-vertical));
	}

	.site-footer > .site-info .privacy-policy,
	.site-footer > .site-info .powered-by {
		margin-top: initial;
		margin-left: auto;
	}

	.site-footer > .site-info .privacy-policy + .powered-by {
		margin-left: calc(0.5 * var(--global--spacing-vertical));
	}
}

.site-footer > .site-info a {
	color: var(--footer--color-link);
}

.site-footer > .site-info a:link,
.site-footer > .site-info a:visited,
.site-footer > .site-info a:active {
	color: var(--footer--color-link);
}

.site-footer > .site-info a:hover {
	color: var(--footer--color-link-hover);
}

.site-footer > .site-info a:focus {
	color: var(--footer--color-link-hover);
}

.is-dark-theme .site-footer > .site-info a:focus {
	color: var(--wp--style--color--link, var(--global--color-background));
}

.has-background-white .site-footer > .site-info a:focus {
	color: var(--wp--style--color--link, var(--global--color-white));
}

.singular .entry-header,
.archive .entry-header {
	/*border-bottom: 3px solid var(--global--color-border);
	padding-bottom: calc(2 * var(--global--spacing-vertical));
	margin-bottom: calc(3 * var(--global--spacing-vertical));*/
       margin-top: 4em;
       margin-bottom: 3em;
}

.home .entry-header {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

/*.singular .has-post-thumbnail .entry-header {
	border-bottom: none;
	padding-bottom: calc(1.3 * var(--global--spacing-vertical));
	margin-bottom: 0;
}*/

.no-results.not-found > *:first-child {
	margin-bottom: calc(3 * var(--global--spacing-vertical));
}

.page-links {
	clear: both;
}

.page-links .post-page-numbers {
	display: inline-block;
	margin-left: calc(0.66 * var(--global--spacing-unit));
	margin-right: calc(0.66 * var(--global--spacing-unit));
	min-width: 44px;
	min-height: 44px;
}

.page-links .post-page-numbers:first-child {
	margin-left: 0;
}

.entry-title {
	color: var(--entry-header--color);
	font-size: var(--entry-header--font-size);
	letter-spacing: var(--heading--letter-spacing-h2);
	line-height: var(--heading--line-height-h2);
	overflow-wrap: break-word;
}

.entry-title a {
	color: var(--entry-header--color-link);
	text-underline-offset: 0.15em;
}

.entry-title a:hover {
	color: var(--entry-header--color-hover);
}

.entry-title a:focus {
	color: var(--entry-header--color-focus);
}

.entry-title a:active {
	color: var(--entry-header--color-link);
}

.singular .entry-title {
	font-size: var(--global--font-size-page-title);
}

h1.entry-title {
	line-height: var(--heading--line-height-h1);
	font-weight: var(--heading--font-weight-page-title);
}

/**
 * Entry Content
 */
.entry-content,
.entry-summary {
	font-family: var(--entry-content--font-family);
}

.entry-content p {
	word-wrap: break-word;
}

.entry-content > iframe[style] {
	margin: var(--global--spacing-vertical) 0 !important;
	max-width: 100% !important;
}

.entry-footer {
	color: var(--global--color-primary);
	clear: both;
	float: none;
	font-size: var(--global--font-size-xs);
	display: block;
}

.entry-footer > span {
	display: inline-block;
}

.entry-footer a {
	color: currentColor;
}

.entry-footer a:hover,
.entry-footer a:focus {
	color: var(--global--color-primary-hover);
}

.entry-footer a:active {
	color: currentColor;
}

.site-main > article > .entry-footer {
	margin-top: var(--global--spacing-vertical);
	padding-top: var(--global--spacing-unit);
	padding-bottom: calc(3 * var(--global--spacing-vertical));
	border-bottom: var(--separator--height) solid var(--separator--border-color);
}

body:not(.single) .site-main > article:last-of-type .entry-footer {
	border-bottom: var(--separator--height) solid transparent;
}

.single .site-main > article > .entry-footer {
	margin-top: calc(3.4 * var(--global--spacing-vertical));
	margin-bottom: calc(3.4 * var(--global--spacing-vertical));
	padding-bottom: 0;
	padding-top: calc(0.8 * var(--global--spacing-vertical));
	border-top: 3px solid var(--separator--border-color);
	border-bottom: var(--separator--height) solid transparent;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: calc(2 * var(--global--spacing-horizontal));
}

.single .site-main > article > .entry-footer .post-taxonomies,
.single .site-main > article > .entry-footer .full-size-link {
	justify-content: flex-end;
	text-align: right;
}

.single .site-main > article > .entry-footer .full-size-link:first-child:last-child {
	grid-column: span 2;
}

.single .site-main > article > .entry-footer .posted-on,
.single .site-main > article > .entry-footer .byline,
.single .site-main > article > .entry-footer .cat-links,
.single .site-main > article > .entry-footer .tags-links {
	display: block;
}
@media only screen and (max-width: 481.98px) {

	.single .site-main > article > .entry-footer {
		display: block;
	}

	.single .site-main > article > .entry-footer .full-size-link {
		display: block;
	}

	.single .site-main > article > .entry-footer .post-taxonomies,
	.single .site-main > article > .entry-footer .full-size-link {
		text-align: left;
	}
}

/**
 * Post Thumbnails
 */
.post-thumbnail {
	text-align: center;
}

.post-thumbnail .wp-post-image {
	display: block;
	width: auto;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(2 * var(--global--spacing-vertical));
}

/**
 * Author
 */
.author-bio {
	position: relative;
	font-size: var(--global--font-size-xs);
	max-width: var(--responsive--aligndefault-width);
}

.site-main > article > .author-bio {
	margin-top: calc(2 * var(--global--spacing-vertical));
}

.author-bio.show-avatars .avatar {
	display: inline-block;
	vertical-align: top;
	border-radius: 50%;
}

.author-bio.show-avatars .author-bio-content {
	display: inline-block;
	padding-left: var(--global--spacing-horizontal);
	max-width: calc(var(--responsive--aligndefault-width) - 90px);
}

.author-bio .author-bio-content .author-title {
	font-family: var(--entry-author-bio--font-family);
	font-size: var(--entry-author-bio--font-size);
	display: inline;
}

.author-bio .author-bio-content .author-description {
	font-size: var(--global--font-size-xs);
	margin-top: calc(0.5 * var(--global--spacing-vertical));
	margin-bottom: calc(0.5 * var(--global--spacing-vertical));
}

.page-title {
	font-size: var(--global--font-size-page-title);
}

h1.page-title,
h2.page-title {
	font-weight: var(--heading--font-weight-page-title);
}

h1.page-title {
	line-height: var(--heading--line-height-h1);
}

.page-header {
	border-bottom: 3px solid var(--global--color-border);
	padding-bottom: calc(2 * var(--global--spacing-vertical));
}

.archive .content-area .format-aside .entry-content,
.archive .content-area .format-status .entry-content,
.archive .content-area .format-link .entry-content,
.search .content-area .format-aside .entry-content,
.search .content-area .format-status .entry-content,
.search .content-area .format-link .entry-content,
.blog .content-area .format-aside .entry-content,
.blog .content-area .format-status .entry-content,
.blog .content-area .format-link .entry-content {
	font-size: var(--global--font-size-lg);
}

.archive .format-image .entry-content,
.archive .format-gallery .entry-content,
.archive .format-video .entry-content,
.search .format-image .entry-content,
.search .format-gallery .entry-content,
.search .format-video .entry-content,
.blog .format-image .entry-content,
.blog .format-gallery .entry-content,
.blog .format-video .entry-content {
	margin-top: calc(2 * var(--global--spacing-vertical));
}

.archive .entry-footer .cat-links,
.archive .entry-footer .tags-links,
.search .entry-footer .cat-links,
.search .entry-footer .tags-links,
.blog .entry-footer .cat-links,
.blog .entry-footer .tags-links {
	display: block;
}

.archive.logged-in .entry-footer .posted-on,
.search.logged-in .entry-footer .posted-on,
.blog.logged-in .entry-footer .posted-on {
	margin-right: calc(0.5 * var(--global--spacing-unit));
}

.archive-description {
	margin-top: var(--global--spacing-vertical);
	font-size: var(--global--font-size-xl);
	line-height: var(--global--line-height-heading);
}

.error404 main p {
	font-size: var(--global--font-size-lg);
	margin-bottom: calc(var(--global--spacing-vertical) * 1.6666666667);
}

.search-no-results .page-content {
	margin-top: calc(3 * var(--global--spacing-vertical));
}

/**
 * Comments Wrapper
 */
.comments-area > * {
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.comments-area > *:first-child {
	margin-top: 0;
}

.comments-area > *:last-child {
	margin-bottom: 0;
}

.comments-area.show-avatars .avatar {
	border-radius: 50%;
	position: absolute;
	top: 10px;
}

.comments-area.show-avatars .fn {
	display: inline-block;
	padding-left: 85px;
}

.comments-area.show-avatars .comment-metadata {
	padding: 8px 0 9px 85px;
}

/**
 * Comment Title
 */
.comments-title,
.comment-reply-title {
	font-size: var(--heading--font-size-h2);
	letter-spacing: var(--heading--letter-spacing-h2);
}

.comment-reply-title {
	display: flex;
	justify-content: space-between;
}

.comment-reply-title small a {
	font-family: var(--global--font-secondary);
	font-size: var(--global--font-size-xs);
	font-style: normal;
	font-weight: normal;
	letter-spacing: normal;
}

/* Nested comment reply title*/
.comment .comment-respond .comment-reply-title {
	font-size: var(--global--font-size-lg);
}

/**
 * Comment Lists
 */
.comment-list {
	padding-left: 0;
	list-style: none;
}

.comment-list > li {
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.comment-list .children {
	list-style: none;
	padding-left: 0;
}

.comment-list .children > li {
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

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

	.comment-list .depth-2,
	.comment-list .depth-3 {
		padding-left: calc(4 * var(--global--spacing-horizontal));
	}
}

/**
 * Comment Meta
 */
.comment-meta .comment-author {
	line-height: var(--global--line-height-heading);
	margin-bottom: calc(0.25 * var(--global--spacing-unit));
}
@media only screen and (min-width: 482px) {

	.comment-meta .comment-author {
		margin-bottom: 0;
		padding-right: 0;
	}
}

.comment-meta .comment-author .fn {
	font-family: var(--global--font-secondary);
	font-weight: normal;
	font-size: var(--global--font-size-lg);
	hyphens: auto;
	word-wrap: break-word;
	word-break: break-word;
}

.comment-meta .comment-metadata {
	color: var(--global--color-primary);
	font-size: var(--global--font-size-xs);
	padding: 8px 0 9px;
}

.comment-meta .comment-metadata .edit-link {
	margin-left: var(--global--spacing-horizontal);
}
@media only screen and (min-width: 482px) {

	.comment-meta {
		margin-right: inherit;
	}

	.comment-meta .comment-author {
		max-width: inherit;
	}
}

.reply {
	font-size: var(--global--font-size-sm);
	line-height: var(--global--line-height-heading);
}

.bypostauthor {
	display: block;
}

.says {
	display: none;
}

.pingback .url,
.trackback .url {
	font-family: var(--global--font-primary);
}

.comment-body {
	position: relative;
	margin-bottom: calc(1.7 * var(--global--spacing-vertical));
}

.comment-body > * {
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.comment-body .reply {
	margin: 0;
}

.comment-content {
	word-wrap: break-word;
}

.pingback .comment-body,
.trackback .comment-body {
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.comment-respond {
	margin-top: var(--global--spacing-vertical);
}

.comment-respond > * {
	margin-top: var(--global--spacing-unit);
	margin-bottom: var(--global--spacing-unit);
}

.comment-respond > *:first-child {
	margin-top: 0;
}

.comment-respond > *:last-child {
	margin-bottom: 0;
}

.comment-respond > *:last-child.comment-form {
	margin-bottom: var(--global--spacing-vertical);
}

.comment-author {
	padding-top: 3px;
}

.comment-author .url {
	color: currentColor;
}

.comment-form {
	display: flex;
	flex-wrap: wrap;
}

.comment-form > * {
	flex-basis: 100%;
}

.comment-form .comment-notes {
	font-size: var(--global--font-size-sm);
}

.comment-form .comment-form-url,
.comment-form .comment-form-comment {
	width: 100%;
}

.comment-form .comment-form-author,
.comment-form .comment-form-email {
	flex-basis: 0;
	flex-grow: 1;
}
@media only screen and (max-width: 481.98px) {

	.comment-form .comment-form-author,
	.comment-form .comment-form-email {
		flex-basis: 100%;
	}
}

.comment-form .comment-form-cookies-consent > label,
.comment-form .comment-notes {
	font-size: var(--global--font-size-xs);
	font-weight: normal;
}

.comment-form > p {
	margin-bottom: var(--global--spacing-unit);
}

.comment-form > p:first-of-type {
	margin-top: 0;
}

.comment-form > p:last-of-type {
	margin-bottom: 0;
}

.comment-form > p label,
.comment-form > p input[type=email],
.comment-form > p input[type=text],
.comment-form > p input[type=url],
.comment-form > p textarea {
	display: block;
	font-size: var(--global--font-size-sm);
	margin-bottom: calc(0.5 * var(--global--spacing-unit));
	width: 100%;
	font-weight: var(--form--label-weight);
}

.comment-form > p.comment-form-cookies-consent {
	display: flex;
}
@media only screen and (min-width: 1121px) {

	.comment-form > p.comment-form-author {
		margin-right: calc(1.5 * var(--global--spacing-horizontal));
	}

	.comment-form > p.comment-notes,
	.comment-form > p.logged-in-as {
		display: block;
	}
}

.menu-button-container {
	display: none;
	justify-content: space-between;
	position: absolute;
	right: 0;
	padding-top: calc(0.5 * var(--global--spacing-vertical));
	padding-bottom: calc(0.25 * var(--global--spacing-vertical));
}
@media only screen and (max-width: 1120px) {

	.menu-button-container {
		display: flex;
	}
}

.menu-button-container #primary-mobile-menu {
    margin-left: auto;
    padding: 0;
    font-size: var(--primary-nav--font-size-button);
    font-weight: var(--primary-nav--font-weight-button);
    background: transparent;
    z-index: 1000;
    color: #333;
    border: none;
}
.site .menu-button-container #primary-mobile-menu:hover {
    border-color: transparent;
}
.site .menu-button-container #primary-mobile-menu:focus {
    outline: unset;
}
.menu-button-container #primary-mobile-menu .dropdown-icon {
	/*display: flex;
	align-items: center;*/
}

.menu-button-container #primary-mobile-menu .dropdown-icon .svg-icon {
	margin-left: calc(0.25 * var(--global--spacing-unit));
}

.menu-button-container #primary-mobile-menu .dropdown-icon.open .svg-icon {
	position: relative;
	top: -1px;
}

.menu-button-container #primary-mobile-menu .dropdown-icon.close {
	display: none;
}

.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.open {
	display: none;
}

.menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
	display: flex;
}

.has-logo.has-title-and-tagline .menu-button-container #primary-mobile-menu[aria-expanded*=true] .dropdown-icon.close {
	animation-name: twentytwentyone-close-button-transition;
	animation-duration: 0.3s;
}

.primary-navigation-open .menu-button-container {
    /* width: 100%; 
    z-index: 500;*/
    background: rgba(255,255,255,0.7);
    border-radius: 50%;
    width: 60px;
    height: 60px;
}

.primary-navigation-open .menu-button-container #primary-mobile-menu {
	/*position: static;*/
}

.primary-navigation {
	/*position: absolute;
	top: var(--global--admin-bar--height);
	right: 0;*/
	color: var(--primary-nav--color-text);
	font-size: var(--primary-nav--font-size);
	line-height: 1.15;
	margin-top: 0;
	margin-bottom: 0;
}

.primary-navigation > .primary-menu-container {
	position: fixed;
	visibility: hidden;
	opacity: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding-top: calc(var(--button--line-height) * var(--primary-nav--font-size-button) + 42px + 5px);
	padding-left: var(--global--spacing-unit);
	padding-right: var(--global--spacing-unit);
	padding-bottom: var(--global--spacing-horizontal);
	background-color: #fff;
}
.menu-icn-open,
.menu-icn-close {
  display: inline-block;
  width: 50px;
  height: 50px;
  position: relative;
}

.menu-icn-open .bar {
  display: block;
  height: 2px;
  background: var(--defaults-color);
  margin: 0.8em 0;
  border-radius: 5px;
}

.menu-icn-close .close-bar {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  background: var(--defaults-color);
  border-radius: 1px;
}

.menu-icn-close .top {
  transform: rotate(45deg);
}

.menu-icn-close .bottom {
  transform: rotate(-45deg);
}




@media (prefers-reduced-motion: no-preference) {

	.primary-navigation > .primary-menu-container {
		/*transition: all 0.15s ease-in-out;
                transition: all 0.4s ease;*/
	}
}
@media only screen and (max-width: 1120px) {

	.primary-navigation > .primary-menu-container {
		height: 100vh;
		z-index: 500;
		overflow-x: hidden;
		overflow-y: auto;
		border: 2px solid transparent;
                box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
    	      /*transform: translateY(var(--global--spacing-vertical));*/
	       transform: translateX(100%);
               transition: all 0.8s ease;
               /*will-change: transform, opacity;
               transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;*/
	}

	.has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
		position: fixed;
		transform: translateY(0) translateX(100%);
	}

	.admin-bar .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
		top: var(--global--admin-bar--height);
	}

	.admin-bar .primary-navigation > .primary-menu-container {
		height: calc(100vh - var(--global--admin-bar--height));
	}

	.primary-navigation > .primary-menu-container:focus {
		border: 2px solid var(--global--color-primary);
	}
}
@media only screen and (max-width: 1120px) {

	.primary-navigation-open .primary-navigation {
		width: 100%;
		/*position: fixed;*/
		z-index: 100;
	}
.primary-navigation-open .primary-navigation > .primary-menu-container {
	position: fixed;
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
}
}
@media only screen and (max-width: 1120px) {

	.primary-navigation-open .has-logo.has-title-and-tagline .primary-navigation > .primary-menu-container {
		transform: translateX(0) translateY(0);
	}
}
@media only screen and (min-width: 1121px) {

	.primary-navigation {
		position: relative;
		margin-left: auto;
	}

	.primary-navigation > .primary-menu-container {
		visibility: visible;
		opacity: 1;
		position: relative;
		padding: 0;
		background-color: transparent;
		overflow: initial;
		transform: none;
	}

	.primary-navigation #toggle-menu {
		display: none;
	}

	.primary-navigation > .primary-menu-container ul > li .sub-menu-toggle[aria-expanded=false] ~ ul {
		display: none;
	}

	.admin-bar .primary-navigation {
		top: initial;
	}

	.admin-bar .primary-navigation > .primary-menu-container {
		top: initial;
	}
}

.primary-navigation > div > .menu-wrapper {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	max-width: none;
	padding-left: 0;
	position: relative;
        gap: 0 0.8em;
}
@media only screen and (max-width: 1120px) {

	.primary-navigation > div > .menu-wrapper {
		padding-bottom: 100px;
	}

	.primary-navigation > div > .menu-wrapper ul {
		padding-left: 0;
	}
}

.primary-navigation > div > .menu-wrapper li {
	display: block;
	position: relative;
	width: 100%;
}
@media only screen and (min-width: 1121px) {

	.primary-navigation > div > .menu-wrapper li {
		margin: 0;
		width: inherit;
	}

	.primary-navigation > div > .menu-wrapper li:last-child {
		margin-right: 0;
	}
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
	display: flex;
	/*height: calc(2 * var(--primary-nav--padding) + 1.15em + 1px);
	width: 44px;*/
	padding: 0;
	justify-content: center;
	align-items: center;
	background: transparent;
	color: currentColor;
	border: none;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
	outline: 2px solid var(--wp--style--color--link, var(--global--color-primary));
}
@media only screen and (max-width: 1120px) {

	.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
		display: none;
	}
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus,
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
	height: 100%;
	display: flex;
	align-items: center;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg,
.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
	margin-top: -1px;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus {
	display: none;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-minus {
	display: flex;
}

.primary-navigation > div > .menu-wrapper .sub-menu-toggle[aria-expanded=true] .icon-plus {
	display: none;
}

.primary-navigation > div > .menu-wrapper > li > .sub-menu {
	position: relative;
}
@media only screen and (min-width: 1121px) and (prefers-reduced-motion: no-preference) {

	.primary-navigation > div > .menu-wrapper > li > .sub-menu {
		transition: all 0.5s ease;
	}
}
@media only screen and (min-width: 1121px) {

	.primary-navigation > div > .menu-wrapper > li > .sub-menu {
		left: 0;
		margin: 0;
		min-width: max-content;
		position: absolute;
		top: 100%;
		padding: 1em;
		z-index: 88888;
                background-color: #fff;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
	.primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
		content: "";
		display: block;
		position: absolute;
		width: 0;
		top: -10px;
		left: var(--global--spacing-horizontal);
		border-style: solid;
		border-color: var(--primary-nav--border-color) transparent;
		border-width: 0 7px 10px;
	}
	.primary-navigation > div > .menu-wrapper > li > .sub-menu:before {
                border-color: var(--defaults-color) transparent;
        }

	.primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
		top: -9px;
		border-color: var(--global--color-background) transparent;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu li {
		background: var(--global--color-background);
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left {

		/* rtl:ignore */
		left: 0;

		/* rtl:ignore */
		right: auto;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:before,
	.primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-left:after {

		/* rtl:ignore */
		left: var(--global--spacing-horizontal);

		/* rtl:ignore */
		right: auto;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right {

		/* rtl:ignore */
		right: 0;

		/* rtl:ignore */
		left: auto;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:before,
	.primary-navigation > div > .menu-wrapper > li > .sub-menu.submenu-reposition-right:after {

		/* rtl:ignore */
		left: auto;

		/* rtl:ignore */
		right: var(--global--spacing-horizontal);
	}
}

.primary-navigation .primary-menu > .menu-item:hover > a {
	color: var(--primary-nav--color-link-hover);
}
@media only screen and (min-width: 1121px) {

	.primary-navigation .primary-menu-container {
		margin-right: calc(0px - var(--primary-nav--padding));
		margin-left: calc(0px - var(--primary-nav--padding));
	}

	.primary-navigation .primary-menu-container > ul > .menu-item {
		display: flex;
	}

	.primary-navigation .primary-menu-container > ul > .menu-item > a {
		padding-left: var(--primary-nav--padding);
		padding-right: var(--primary-nav--padding);
	}

	.primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
		margin-left: calc(5px - var(--primary-nav--padding));
	}
}

.primary-navigation a {
	display: block;
	font-family: var(--primary-nav--font-family-mobile);
	font-size: var(--primary-nav--font-size-mobile);
	font-weight: var(--primary-nav--font-weight);
	padding: 0.5em;
	text-decoration: none;
}
@media only screen and (min-width: 1121px) {

	.primary-navigation a {
		display: block;
		font-family: var(--primary-nav--font-family);
		font-size: 1rem;
		font-weight: 500;
                letter-spacing: 0.25em;
	}
}

.primary-navigation a + svg {
	fill: var(--primary-nav--color-text);
}

.primary-navigation a:hover,
.primary-navigation a:link {
	color: var(--primary-nav--color-link-hover);
}

.primary-navigation a:hover {
	text-decoration: underline;
	text-decoration-style: dotted;
}

.primary-navigation a:focus {
	position: relative;
	z-index: 99999;
	outline-offset: 0;
	text-decoration-thickness: 2px;
}

.primary-navigation .current-menu-item > a:first-child,
.primary-navigation .current_page_item > a:first-child {
	text-decoration: underline;
	text-decoration-style: solid;
        color: var(--defaults-color);
}

.primary-navigation .current-menu-item > a:first-child:hover,
.primary-navigation .current_page_item > a:first-child:hover {
	text-decoration: underline;
	text-decoration-style: dotted;
}

.primary-navigation .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	margin-left: var(--primary-nav--padding);
	border: 1px solid var(--defaults-color);
}

.primary-navigation .sub-menu .sub-menu {
	border: none;
}
@media only screen and (min-width: 1121px) {

	.primary-navigation .sub-menu > .menu-item > .sub-menu {
		padding: 0;
	}
}
@media only screen and (max-width: 1120px) {

	.primary-navigation .sub-menu .menu-item:last-child {
		margin-bottom: 0;
	}
}

.primary-navigation .sub-menu .menu-item > a {
	padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
	display: block;
	font-size: var(--primary-nav--font-size-sub-menu-mobile);
	font-style: var(--primary-nav--font-style-sub-menu-mobile);
}
@media only screen and (min-width: 1121px) {

	.primary-navigation .sub-menu .menu-item > a {
		font-size: var(--primary-nav--font-size-sub-menu);
		font-style: var(--primary-nav--font-style);
	}
}

.primary-navigation .menu-item-has-children > .svg-icon {
	display: none;
}
@media only screen and (min-width: 1121px) {

	.primary-navigation .menu-item-has-children > .svg-icon {
		display: inline-block;
		height: 100%;
	}

	.primary-navigation .menu-item-has-children .sub-menu .svg-icon {
		display: none;
	}
}

.primary-navigation .menu-item-description {
	display: block;
	clear: both;
	font-size: var(--global--font-size-xs);
	text-transform: none;
	line-height: 1.7;
}

.primary-navigation .menu-item-description > span {
	display: inline-block;
}

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

	body.lock-scrolling {
               overflow: hidden;
	}
}
@keyframes twentytwentyone-close-button-transition {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.footer-navigation {
	margin-top: calc(2 * var(--global--spacing-vertical));
	margin-bottom: var(--global--spacing-vertical);
	color: var(--footer--color-text);
	font-size: var(--global--font-size-xs);
	font-family: var(--footer--font-family);
}

.footer-navigation-wrapper {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
	padding-left: 0;
}

.footer-navigation-wrapper li {
	display: inline;
	/*line-height: 3;*/
}

.footer-navigation-wrapper li a {
	padding: calc(1.25 * var(--primary-nav--padding)) var(--primary-nav--padding);
	color: var(--footer--color-link);
}

.footer-navigation-wrapper li a:link,
.footer-navigation-wrapper li a:visited,
.footer-navigation-wrapper li a:active {
	color: var(--footer--color-link);
}

.footer-navigation-wrapper li a:hover {
	/*text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-skip-ink: none;
	color: var(--footer--color-link-hover);*/
}

.is-dark-theme .footer-navigation-wrapper li a:focus .svg-icon {
	fill: var(--wp--style--color--link, var(--global--color-background));
}

.has-background-white .footer-navigation-wrapper li a:focus .svg-icon {
	fill: var(--wp--style--color--link, var(--global--color-white));
}

.footer-navigation-wrapper li .svg-icon {
	vertical-align: middle;
	fill: var(--footer--color-link);
}

.footer-navigation-wrapper li .svg-icon:hover {
	transform: scale(1.1);
}
@media (prefers-reduced-motion: no-preference) {

	.footer-navigation-wrapper li .svg-icon {
		transition: transform 0.1s ease;
	}
}

.footer-navigation-wrapper .sub-menu-toggle,
.footer-navigation-wrapper .menu-item-description {
	display: none;
}

/* Next/Previous navigation */
.navigation {
	color: var(--global--color-primary);
}

.navigation a {
	color: var(--global--color-primary);
	text-decoration: none;
}

.navigation a:hover {
	color: var(--global--color-primary-hover);
	text-decoration: underline;
	text-decoration-style: dotted;
}

.navigation a:focus {
	color: var(--global--color-secondary);
}

.navigation a:active {
	color: var(--global--color-primary);
}

.navigation .nav-links > * {
	min-width: 44px;
	min-height: 44px;
}

.navigation .nav-links .nav-next a,
.navigation .nav-links .nav-previous a {
	display: flex;
	flex-direction: column;
}

.navigation .nav-links .dots {
	text-align: center;
}
@media only screen and (min-width: 592px) {

	.navigation .nav-links {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	.navigation .nav-links .nav-next,
	.navigation .nav-links .nav-previous {
		flex: 0 1 auto;
		margin-bottom: inherit;
		margin-top: inherit;
		max-width: calc(50% - 0.5 * var(--global--spacing-unit));
	}

	.navigation .nav-links .nav-next {
		text-align: right;
	}
}

.navigation .svg-icon {
	display: inline-block;
	fill: currentColor;
	vertical-align: middle;
	position: relative;
}

.navigation .nav-previous .svg-icon,
.navigation .prev .svg-icon {
	top: -2px;
	margin-right: calc(0.25 * var(--global--spacing-unit));
}

.navigation .nav-next .svg-icon,
.navigation .next .svg-icon {
	top: -1px;
	margin-left: calc(0.25 * var(--global--spacing-unit));
}

.post-navigation {
	margin: var(--global--spacing-vertical) auto;
}
@media only screen and (min-width: 822px) {

	.post-navigation {
		margin: 3em auto;
	}
}

.post-navigation .meta-nav {
	line-height: var(--global--line-height-body);
	color: var(--global--color-primary);
     font-size: 0.9rem;
}
.nav-links a:hover i {
     transform: none;
}
.post-navigation .post-title {
	display: block;
	font-family: var(--global--font-primary);
	font-size: 1rem;
	font-weight: var(--pagination--font-weight-strong);
	line-height: var(--global--line-height-heading);
}
@media only screen and (min-width: 822px) {

	.post-navigation .post-title {
		/*margin: 5px calc(24px + 0.25 * var(--global--spacing-unit)) 0;*/
	}
}
@media only screen and (min-width: 482px) {

	.post-navigation .nav-links {
		justify-content: space-between;
	}
}

.post-navigation .nav-next,
.post-navigation .nav-previous {
	margin-top: var(--global--spacing-vertical);
	margin-bottom: var(--global--spacing-vertical);
}

.post-navigation .nav-next:first-child,
.post-navigation .nav-previous:first-child {
	margin-top: 0;
}

.post-navigation .nav-next:last-child,
.post-navigation .nav-previous:last-child {
	margin-bottom: 0;
}

.pagination,
.comments-pagination {
	border-top: 3px solid var(--global--color-border);
	padding-top: var(--global--spacing-vertical);
	margin: var(--global--spacing-vertical) auto;
}
@media only screen and (min-width: 822px) {

	.pagination,
	.comments-pagination {
		margin: var(--global--spacing-vertical) auto;
	}
}

.pagination .nav-links,
.comments-pagination .nav-links {
	margin-top: calc(-1 * var(--global--spacing-vertical));
}

.pagination .nav-links a:hover,
.comments-pagination .nav-links a:hover {
	color: var(--pagination--color-link-hover);
}

.is-dark-theme .pagination .nav-links a:active,
.is-dark-theme .pagination .nav-links a:hover:active,
.is-dark-theme .pagination .nav-links a:hover:focus,
.is-dark-theme .comments-pagination .nav-links a:active,
.is-dark-theme .comments-pagination .nav-links a:hover:active,
.is-dark-theme .comments-pagination .nav-links a:hover:focus {
	color: var(--global--color-background);
}

.has-background-white .pagination .nav-links a:active,
.has-background-white .pagination .nav-links a:hover:active,
.has-background-white .pagination .nav-links a:hover:focus,
.has-background-white .comments-pagination .nav-links a:active,
.has-background-white .comments-pagination .nav-links a:hover:active,
.has-background-white .comments-pagination .nav-links a:hover:focus {
	color: var(--global--color-white);
}

.pagination .nav-links > *,
.comments-pagination .nav-links > * {
	color: var(--pagination--color-text);
	font-family: var(--pagination--font-family);
	font-size: var(--pagination--font-size);
	font-weight: var(--pagination--font-weight);
	margin-top: var(--global--spacing-vertical);
	margin-left: calc(0.66 * var(--global--spacing-unit));
	margin-right: calc(0.66 * var(--global--spacing-unit));
}

.pagination .nav-links > *.current,
.comments-pagination .nav-links > *.current {
	text-decoration: underline;
}

.pagination .nav-links > *:not(.dots):not(.current):hover,
.comments-pagination .nav-links > *:not(.dots):not(.current):hover {
	text-decoration-style: dotted;
}

.pagination .nav-links > *:first-child,
.comments-pagination .nav-links > *:first-child {
	margin-left: 0;
}

.pagination .nav-links > *:last-child,
.comments-pagination .nav-links > *:last-child {
	margin-right: 0;
}

.pagination .nav-links > *.next,
.comments-pagination .nav-links > *.next {
	margin-left: auto;
}

.pagination .nav-links > *.prev,
.comments-pagination .nav-links > *.prev {
	margin-right: auto;
}
@media only screen and (max-width: 821.98px) {

	.pagination .nav-links,
	.comments-pagination .nav-links {
		display: flex;
		flex-wrap: wrap;
	}

	.pagination .page-numbers,
	.comments-pagination .page-numbers {
		display: none;
	}

	.pagination .page-numbers.prev,
	.pagination .page-numbers.next,
	.comments-pagination .page-numbers.prev,
	.comments-pagination .page-numbers.next {
		display: inline-block;
		flex: 0 1 auto;
	}
}
@media only screen and (max-width: 481.98px) {

	.pagination .nav-short,
	.comments-pagination .nav-short {
		display: none;
	}
}

.comments-pagination {
	padding-top: calc(0.66 * var(--global--spacing-vertical));
	margin: calc(3 * var(--global--spacing-vertical)) auto;
}
@media only screen and (min-width: 822px) {

	.comments-pagination {
		margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto;
	}
}

.comments-pagination .nav-links > * {
	font-size: var(--global--font-size-md);
}

.widget-area {
	margin-top: calc(6 * var(--global--spacing-vertical));
	padding-bottom: calc(var(--global--spacing-vertical) / 3);
	color: var(--footer--color-text);
	font-size: var(--footer--font-size);
	font-family: var(--footer--font-family);
}
@media only screen and (min-width: 652px) {

	.widget-area {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: calc(2 * var(--global--spacing-horizontal));
	}
}
@media only screen and (min-width: 1024px) {

	.widget-area {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media only screen and (max-width: 481.98px) {

	.widget-area {
		margin-top: calc(3 * var(--global--spacing-vertical));
	}
}

.widget-area .wp-block-social-links.alignright {
	margin-top: var(--global--spacing-vertical);
	justify-content: flex-end;
}

.widget-area .wp-block-social-links.alignleft {
	margin-top: var(--global--spacing-vertical);
}

.widget-area:after {
	content: "";
	display: table;
	clear: both;
}

.widget h1,
.widget h2,
.widget h3,
.widget h4,
.widget h5,
.widget h6 {
	font-weight: var(--widget--font-weight-title);
	line-height: var(--widget--line-height-title);
}

.widget h1 {
	font-size: var(--global--font-size-md);
}

.widget h2 {
	font-size: var(--global--font-size-sm);
}

.widget h3 {
	font-size: var(--global--font-size-xs);
}

.widget h4 {
	font-size: var(--global--font-size-xs);
}

.widget h5 {
	font-size: var(--global--font-size-xs);
}

.widget h6 {
	font-size: var(--global--font-size-xs);
}

.widget ul {
	list-style-type: none;
	padding: 0;
}

.widget ul li {
	line-height: var(--widget--line-height-list);
}

.widget ul.sub-menu,
.widget ul.children {
	margin-left: var(--widget--spacing-menu);
}

.widget ul .sub-menu-toggle {
	display: none;
}

.widget a {
	color: var(--footer--color-link);
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-color: currentColor;
}

.widget a:link,
.widget a:visited,
.widget a:active {
	color: var(--footer--color-link);
}

.widget a:hover {
	color: var(--footer--color-link-hover);
	text-decoration-style: dotted;
}

.search-form {
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	max-width: var(--responsive--aligndefault-width);
}

.search-form > label {
	width: 100%;
	margin-bottom: 0;
	font-weight: var(--form--label-weight);
}

.search-form .search-field {
	flex-grow: 1;
	max-width: inherit;
	margin-top: calc(var(--global--spacing-vertical) / 3);
	margin-right: calc(0.66 * var(--global--spacing-horizontal));
}

.search-form .search-submit {
	margin-top: calc(var(--global--spacing-vertical) / 3);
	margin-left: 10px;
}

.widget_search > .search-form .search-field {
	margin-right: calc(-1 * var(--button--border-width));
	-webkit-appearance: none;
	margin-bottom: calc(0.5 * var(--global--spacing-vertical));
}

.widget_search > .search-form .search-submit {
	margin-left: 0;
	margin-bottom: calc(0.5 * var(--global--spacing-vertical));
}

.widget_rss a.rsswidget .rss-widget-icon {
	display: none;
}

/* Category 07 is for any utility classes that are not assigned to a specific component. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	word-break: normal;
}

.skip-link:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

.has-black-color[class] {
	color: var(--global--color-black);
}

.has-black-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-black, #000);
	color: var(--local--color-primary);
}

.has-gray-color[class] {
	color: var(--global--color-gray);
}

.has-gray-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-gray, #000);
	color: var(--local--color-primary);
}

.has-dark-gray-color[class] {
	color: var(--global--color-dark-gray);
}

.has-dark-gray-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-dark-gray, #000);
	color: var(--local--color-primary);
}

.has-green-color[class] {
	color: var(--global--color-green);
}

.has-green-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-green, #fff);
	color: var(--local--color-primary);
}

.has-blue-color[class] {
	color: var(--global--color-blue);
}

.has-blue-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-blue, #fff);
	color: var(--local--color-primary);
}

.has-purple-color[class] {
	color: var(--global--color-purple);
}

.has-purple-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-purple, #fff);
	color: var(--local--color-primary);
}

.has-red-color[class] {
	color: var(--global--color-red);
}

.has-red-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-red, #fff);
	color: var(--local--color-primary);
}

.has-orange-color[class] {
	color: var(--global--color-orange);
}

.has-orange-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-orange, #fff);
	color: var(--local--color-primary);
}

.has-yellow-color[class] {
	color: var(--global--color-yellow);
}

.has-yellow-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-yellow, #fff);
	color: var(--local--color-primary);
}

.has-white-color[class] {
	color: var(--global--color-white);
}

.has-white-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-white, #fff);
	color: var(--local--color-primary);
}

.has-background a,
.has-background p,
.has-background h1,
.has-background h2,
.has-background h3,
.has-background h4,
.has-background h5,
.has-background h6 {
	color: currentColor;
}

.has-black-background-color[class] {
	background-color: var(--global--color-black);
}

.has-black-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-black, #000);
	background-color: var(--local--color-background);
}

.has-dark-gray-background-color[class] {
	background-color: var(--global--color-dark-gray);
}

.has-dark-gray-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-dark-gray, #000);
	background-color: var(--local--color-background);
}

.has-gray-background-color[class] {
	background-color: var(--global--color-gray);
}

.has-gray-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-gray, #000);
	background-color: var(--local--color-background);
}

.has-light-gray-background-color[class] {
	background-color: var(--global--color-light-gray);
}

.has-light-gray-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-light-gray, #fff);
	background-color: var(--local--color-background);
}

.has-green-background-color[class] {
	background-color: var(--global--color-green);
}

.has-green-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-green, #fff);
	background-color: var(--local--color-background);
}

.has-blue-background-color[class] {
	background-color: var(--global--color-blue);
}

.has-blue-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-blue, #fff);
	background-color: var(--local--color-background);
}

.has-purple-background-color[class] {
	background-color: var(--global--color-purple);
}

.has-purple-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-purple, #fff);
	background-color: var(--local--color-background);
}

.has-red-background-color[class] {
	background-color: var(--global--color-red);
}

.has-red-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-red, #fff);
	background-color: var(--local--color-background);
}

.has-orange-background-color[class] {
	background-color: var(--global--color-orange);
}

.has-orange-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-orange, #fff);
	background-color: var(--local--color-background);
}

.has-yellow-background-color[class] {
	background-color: var(--global--color-yellow);
}

.has-yellow-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-yellow, #fff);
	background-color: var(--local--color-background);
}

.has-white-background-color[class] {
	background-color: var(--global--color-white);
}

.has-white-background-color[class] > [class*=__inner-container] {
	--local--color-background: var(--global--color-white, #fff);
	background-color: var(--local--color-background);
}

.has-background:not(.has-text-color).has-black-background-color[class],
.has-background:not(.has-text-color).has-gray-background-color[class],
.has-background:not(.has-text-color).has-dark-gray-background-color[class] {
	color: var(--global--color-white);
}

.has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-background, #fff);
	color: var(--local--color-primary, var(--global--color-primary));
}

.is-dark-theme .has-background:not(.has-text-color).has-black-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-gray-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-dark-gray-background-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-primary, #000);
}

.has-background:not(.has-text-color).has-green-background-color[class],
.has-background:not(.has-text-color).has-blue-background-color[class],
.has-background:not(.has-text-color).has-purple-background-color[class],
.has-background:not(.has-text-color).has-red-background-color[class],
.has-background:not(.has-text-color).has-orange-background-color[class],
.has-background:not(.has-text-color).has-yellow-background-color[class],
.has-background:not(.has-text-color).has-white-background-color[class] {
	color: var(--global--color-dark-gray);
}

.has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
.has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-primary, #000);
	color: var(--local--color-primary, var(--global--color-primary));
}

.is-dark-theme .has-background:not(.has-text-color).has-green-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-blue-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-purple-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-red-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-orange-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-yellow-background-color[class] > [class*=__inner-container],
.is-dark-theme .has-background:not(.has-text-color).has-white-background-color[class] > [class*=__inner-container] {
	--local--color-primary: var(--global--color-background, #fff);
}

.has-purple-to-yellow-gradient-background {
	background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-yellow));
}

.has-yellow-to-purple-gradient-background {
	background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-purple));
}

.has-green-to-yellow-gradient-background {
	background: linear-gradient(160deg, var(--global--color-green), var(--global--color-yellow));
}

.has-yellow-to-green-gradient-background {
	background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-green));
}

.has-red-to-yellow-gradient-background {
	background: linear-gradient(160deg, var(--global--color-red), var(--global--color-yellow));
}

.has-yellow-to-red-gradient-background {
	background: linear-gradient(160deg, var(--global--color-yellow), var(--global--color-red));
}

.has-purple-to-red-gradient-background {
	background: linear-gradient(160deg, var(--global--color-purple), var(--global--color-red));
}

.has-red-to-purple-gradient-background {
	background: linear-gradient(160deg, var(--global--color-red), var(--global--color-purple));
}

header *,
main *,
footer * {
	max-width: var(--global--spacing-measure);
}

html,
body,
div,
header,
nav,
article,
figure,
hr,
main,
section,
footer {
	max-width: none;
}

.is-IE.is-dark-theme {
	color: #fff;
}

.is-IE.is-dark-theme *,
.is-IE.is-dark-theme a,
.is-IE.is-dark-theme .site-description,
.is-IE.is-dark-theme .entry-title,
.is-IE.is-dark-theme .entry-footer,
.is-IE.is-dark-theme .widget-area,
.is-IE.is-dark-theme .post-navigation .meta-nav,
.is-IE.is-dark-theme .footer-navigation-wrapper li a:link,
.is-IE.is-dark-theme .site-footer > .site-info,
.is-IE.is-dark-theme .site-footer > .site-info a,
.is-IE.is-dark-theme .site-footer > .site-info a:visited {
	color: #fff;
}

.is-IE.is-dark-theme .sub-menu-toggle svg,
.is-IE.is-dark-theme .sub-menu-toggle path,
.is-IE.is-dark-theme .post-navigation .meta-nav svg,
.is-IE.is-dark-theme .post-navigation .meta-nav path {
	fill: #fff;
}

.is-IE.is-dark-theme .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
	background: #000;
}
@media only screen and (max-width: 481.98px) {

	.is-IE.is-dark-theme.primary-navigation-open .primary-navigation > .primary-menu-container,
	.is-IE.is-dark-theme.primary-navigation-open .menu-button-container {
		background-color: #000;
	}
}

.is-IE.is-dark-theme .skip-link:focus {
	color: #21759b;
}

.is-IE .navigation .nav-links {
	display: block;
}

.is-IE .post-thumbnail .wp-post-image {
	min-width: auto;
}

.is-IE .wp-block-group:before,
.is-IE .wp-block-group:after {
	content: "";
	display: block;
	clear: both;
}


/* ==========================================================================
    HEADER
 ========================================================================== */

.site-header {
     box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
}

.header-wrap{
	max-width: 1366px;
	margin-left: auto;
	margin-right: auto;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
}

h1.site-title {
    font-size: 1rem;
    letter-spacing: 0.3em;
    color: #000;
    font-weight: bold;
}
ul#visit-menu-list {
    justify-content: flex-end;
    margin-bottom: 0.8em;
    gap: 0 1em;
}
ul#visit-menu-list li a {
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.primary-navigation .primary-menu-container > ul > .menu-item-has-children > a {
    padding-right: 0.8em;
}
.icon-plus i {
    color: #009d85;
}
.side-menu-wrap {
    position: fixed; 
    top: 50%; 
    right: 0;
    transform: translateX(150%);
    opacity: 0;
    transition: transform 0.6s ease, opacity 0.6s ease;
    z-index: 999;
}
.side-menu-wrap.is-visible {
  transform: translateX(0);
  opacity: 1;
}
.side-menu-wrap ul {
    padding-left: 0;
    list-style: none;
}
.side-menu-wrap ul li {
}
.side-menu-wrap ul li.btn {
    margin: 0;
}
.side-menu-wrap ul li a {
    padding: 0.5em 1em;
    font-size: 1rem;
    text-align: left;
    border-radius: 20px 0 0 20px;
    width: 125px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.side-menu-wrap ul li a:hover {
    border-radius: 20px 0 0 20px;
    border-right: none;
    background: #fff;
}
#menu-item-2199,
.sp-side-menu,
.sp-contact-wrap {
    display: none;
}


/* ==========================================================================
    TOP
 ========================================================================== */

/* 英語表記 */

:root {
    --font-en: sofia-pro, sans-serif;
}

.point-title,
span.point-num,
.post-date,
h2.en,
.feat-num,
.oc-next-date h4,
p.event-date,
.tel-wrap h2,
h1.oc-title,
p.time,
.tel,
.mail,
body.cat-oc-dh .entry-header h1.entry-title,
body.cat-oc-dh .entry-content h2.pro-title,
body.parent-pageid-2657 .entry-content h2.pro-title,
body.cat-oc-dt .entry-header h1.entry-title,
body.cat-oc-dt .entry-content h2.pro-title,
.program li strong,
.entry-content p.rate,
.sbi_load_btn,
#fixedTop a span {
    font-family: var(--font-en);
}


.site-main {
    padding: 0;
}
.main-visual img {
    margin: 0 auto;
    display: block;
}


/* スライダー */
#metaslider-id-651 .flexslider .flex-direction-nav li a {
    bottom: 0;
}
#metaslider-id-651 .flexslider:not(.filmstrip) ul.flex-direction-nav a.flex-next {
    right: 5px;
}
#metaslider-id-651 .flexslider:not(.filmstrip) ul.flex-direction-nav a.flex-prev {
    right: 47px;
}
#metaslider-id-651 .flexslider ol.flex-control-nav:not(.flex-control-thumbs) {
    bottom: 0;
    padding: 0 0 0 10px;
}
.sp-main-visual {
    display: none;
}

body.home .site-main > *:first-child {
   margin-bottom: 0;
}
.bg {
    margin-top: 0;
    background-color: #fff;
    padding: 2em;
    margin-bottom: 0;
}
.wrap {
    max-width: 1200px;
    margin: 0 auto;
}
.news-contents {
    max-width: 1300px;
}
.news-wrap {
    display: flex;
    align-items: center;
    gap: 0 3em;
}
.news-wrap h2 {
    font-family: sofia-pro, sans-serif;
    font-weight: bold;
    font-size: 3.15rem;
    color: #333;
}
.news-wrap ul {
    padding-left: 0;
    list-style: none;
    flex-grow: 1;
}
.news-wrap ul li {
    display: flex;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    gap: 1em;
    align-items: center;
    border-bottom: 1px dashed #ccc;
}
.news-wrap ul li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.news-wrap ul li p.post-date {
    font-size: 1.2rem;
    margin-bottom: 0;
}
.news-wrap ul li h3.news-title {
    font-size: 1.125rem;
}
.more-btn a {
    background: rgb(0,0,0);
    background: linear-gradient(45deg, rgba(0,0,0,1) 0%, rgba(85,85,85,1) 100%);
    font-family: sofia-pro, sans-serif;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 0.3em 1.3em;
    border-radius: 30px;
    font-size: 1.25rem;
    border: 1px solid #fff;
    outline: 0;
    transition: all  .2s ease;
}

.more-btn a i {
    transition: transform 0.3s ease-in-out;
    margin-left: 0.3em;
}
.more-btn a:hover {
    background: transparent;
    color: rgba(0, 0, 0, 1);
    border: 1px solid #000;
}
.more-btn a:active {
    transform: scale(0.95);
}
.more-btn a:hover i {
    transform: translateX(5px);
}
.news-wrap .more-btn {
    margin-left: auto;
}

.bg-paper,
.visitor-wrap {
    padding: 2em 0 3em;
    margin: 1em 0;
}
.visitor-wrap {
    padding: 2em 0 0;
}
.wrap h2,
.oc-wrap h2,
.oc-wrap p.oc-txt,
p.s-txt,
.course-wrap h2,
.visitor-wrap h2,
.line h2,
.contact-wrap h2 {
    text-align: center;
}
h2.en {
    font-size: 3.15rem;
    font-weight: bold;
    color: #333;
    letter-spacing: 0.15em;
    margin-bottom: 0.3em;
}
h2.feat-title {
    letter-spacing: 0.25em;
    line-height: 1.5;
    margin-bottom: 0.3em;
}
.feat-txt {
    display: block;
    color: var(--sc-color);
    font-weight: 500;
}
.feat-num {
    color: var(--sc-color);
    font-size: 3rem;
    font-weight: bold;
    vertical-align: sub;
    margin: 0 0.1em;
}
.feat-box {
    max-width: 1150px;
    margin: 3em auto 4em;
}
.feat-card {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); 
    padding: 2em;
}
.feat-card .point-num {
    background: linear-gradient(90deg,rgba(241, 111, 90, 1) 0%, rgba(232, 142, 110, 1) 100%);
    font-size: 3rem;
    width: 75px;
    height: 75px;
    padding-bottom: 0.1em;
} 
.feat-card h3 {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.15em;
    color: #333;
    margin: 0 0 0.5em;
}
.feat-card p {
    letter-spacing: 0.1em;
}
.point-box {
    border: 1px solid var(--sc-color);
    padding: 1em;
    margin: 1em 0 0;
    display: flex;
    align-items: center;
    gap: 2em;
    justify-content: center;
    flex-wrap: wrap;
}
.point-box p {
    border: 1px solid #555;
    border-radius: 50%;
    width: 115px;
    height: 115px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
    font-size: 1.2rem;
}
.arrow-up-alt {
    position: relative; 
    width: 30px;
    height: 30px;
    margin: 0.3em auto 0;
}
.arrow-up-alt:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 30px solid var(--sc-color);
  transform: translateX(-50%); 
}
.arrow-up-alt:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px; 
  width: 10px;
  height: 20px;
  background-color: var(--sc-color);
  transform: translateX(-50%); 
}

.point-box02 {
    border: 1px solid #333;
    border-radius: 15px;
    max-width: 400px;
    margin: 1.5em auto 0;
    padding: 1em;
}
.point-box-txt {
    display: flex;
    align-items: center;
    gap: 1em;
    justify-content: center;
}
.point-box-txt p.band {
    background: var(--sc-color);
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 0.5em;
}
.point-box-txt p {
    line-height: 1.5;
    text-align: center;
}
.point-box-txt p .feat-txt {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
}
.feat-wrap {
    display: flex;
    gap: 2em;
    justify-content: space-between;
    margin: 2em 0;
}
.feat-wrap .feat-card {
    padding: 2em 1em;
}
.feat-wrap .feat-card h3 {
    margin: 0.8em 0;
}
.feat-card .wp-block-columns {
    gap: 1.5em;
    margin: 1.5em 0 1em;
}
.feat-card p.dh-band,
.feat-card p.dt-band  {
    color: #fff;
    line-height: 1.3;
    padding: 0 0.3em;
}
.feat-card p.small {
    font-size: 0.9rem;
}
.feat-card .rate-number {
    font-size: 5rem;
    width: 190px;
}
.top-btn {
    margin-left: auto; 
    margin-right: auto; 
    text-align: center;
    width: fit-content;
}




/* オープンキャンパス */

.open-campus-item {
    /*max-width: 370px;
    border-radius: 10px;
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
    padding: 1em;*/
}
.oc-wrap h2,
.oc-next-date h4 {
    color: var(--oc-color);
}
.oc-wrap h2 {
    margin-bottom: 0.3em;
}
.oc-next-date {
    border: 1px solid var(--oc-color);
    border-radius: 30px;
    display: flex;
    padding: 0.5em 4em;
    width: fit-content;
    justify-content: center;
    margin: 2em auto 3em;
    gap: 2em;
    align-items: center;
}
.oc-next-date h3 {
    font-weight: 500;
    letter-spacing: 0.1em;
}
.oc-next-date h4 {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.oc-next-date h4 .event-md {
    font-size: 2.7rem;
    display: inline-block;
    padding-bottom: 0.3em;
}
.oc-next-date h4 .event-date {
    padding: 0.5em 0;
    display: inline-block;
}
.oc-box,
.visitor-wrap {
    max-width: 1366px;
    margin: 0 auto;
}
p.no-txt {
     text-align: center;
}
.image-wrapper {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.image-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}

.image-wrapper.is-ended:after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  max-height: 226px;
  height: 100%;
  background: url('../../../img/end-overlay.png') no-repeat center center;
  /*background-size: contain;*/
  pointer-events: none;
}
.open-campus-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
p.event-category {
    margin-bottom: 0.3em;
    font-size: 1.6rem;
    letter-spacing: 0.2em;
}
p.oc-dh {
    color: var(--dh-color);
}
p.oc-dt {
    color: var(--dt-color);
}
p.event-date {
    letter-spacing: 0.1em;
    font-weight: bold;
}
p.event-date span {
    font-size: 2rem;
    margin: 0 0.1em;
}
.oc-box button.slick-arrow {
     border: 1px solid var(--oc-color);
}

.event-link {
    margin: 1em 0 0.5em;
    width: 100%;
}
.oc-box .slick-slide a {
    padding: 0;
}
.oc-box .slick-slide a:hover {
    transform: unset;
    box-shadow: none;
}
.oc-box .slick-next:before, 
.oc-box .slick-prev:before {
    color: var(--oc-color);
}
.oc-btn-more {
    margin: 4em auto 2em;
}

.btn {
    margin: 2em auto;
}


.top-dh-wrap {
    background-color: #FFF4F6;
    border-top-left-radius: calc(100vw * 120 / 1440);
    border-top-right-radius: calc(100vw * 120 / 1440);
    padding: 3.5em 1em 12em;
}
.top-box {
    display: flex;
    gap: 2.5em;
    max-width: 1200px;
    margin: 0 auto;
}
.top-image img {
    width: 442px;
}
.top-dh-box,
.top-dt-box {
    flex: 1; 
}
.top-dh-box h3 span,
.top-dt-box h3 span {
    display: block;
}
.top-info {
    display: flex;
    align-items: center;
    gap: 1em;
    margin-bottom: 0.5em;
    flex-wrap: wrap;
}
.top-info h2 {
    font-size: 3.5rem;
    font-weight: 800;
    letter-spacing: 0.2em;
}
.top-dh-box .top-info {
    color: var(--dh-color);
}
.top-info .line-box {
    line-height: 1.4;
    margin-right: 0;
    text-align: center;
}
.top-sub-info {
    margin-top: 0.5em;
}
.top-sub-info p {
    line-height: 1.4;
}
.top-box h3 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #333;
    letter-spacing: 0.15em;
    margin-bottom: 0.3em;
}
.top-box p {
    font-size: 1rem;
}
.top-box .dh-link-btn,
.top-box .dt-link-btn {
    text-align: left;
}
.top-box .dh-link-btn a,
.top-box .dt-link-btn a {
    padding: 0.5em 1.5em;
}
.top-dt-wrap {
    background-color: #f4f9fd;
    border-top-left-radius: calc(100vw * 120 / 1440);
    border-top-right-radius: calc(100vw * 120 / 1440);
    position: relative;
    z-index: 1;
    margin-top: -8em;
    padding: 4.5em 1em 5em;
}
.top-dt-box .top-info {
    color: var(--dt-color);
}
.visitor-wrap ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    gap: 3.5em;
    justify-content: center;
    margin-top: 2em;
    flex-wrap: wrap;
}
.visitor-wrap ul li {
    flex-grow: 1;
}




/* 吹き出し */

.oc-message-box,
.dh-message-box,
.dt-message-box {
  position: relative; 
  background: #fff; 
  border-radius: 15px;
  padding: 1em; 
  margin-left: 20px; 
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); 
}



.oc-message-box {
  border: 1px solid var(--oc-color); 
}
.dh-message-box {
  border: 1px solid var(--oc-color); 
}
.dt-message-box {
  border: 1px solid var(--dt-color); 
}



.oc-message-box:before,
.oc-message-box:after,
.dh-message-box:before,
.dh-message-box:after,
.dt-message-box:before,
.dt-message-box:after {
  content: ""; 
  position: absolute;
  top: 65px; 
}
.oc-message-box:before,
.dh-message-box:before,
.dt-message-box:before {
  left: -17px; 
  border-width: 12px 23px 12px 0; 
  border-style: solid;
  border-color: transparent #fff transparent transparent; 
  z-index: 1; 
}
.oc-message-box:after,
.dh-message-box:after,
.dt-message-box:after {
  left: -20px; 
  border-width: 12px 20px 11px 0; 
  border-style: solid;
  z-index: 0; 
}
.oc-message-box:after {
  border-color: transparent var(--oc-color) transparent transparent; 
}
.dh-message-box:after {
  border-color: transparent var(--oc-color) transparent transparent; 
}
.dt-message-box:after {
  border-color: transparent var(--dt-color) transparent transparent; 
}
.dh-answer-reverse,
.dt-answer-reverse {
    margin-right: 20px;
}
.dh-answer-reverse:before,
.dt-answer-reverse:before {
    right: -18px;
    border-width: 12px 0 12px 20px; 
    border-color: transparent transparent transparent #fff; 
    left: unset;
}
.dh-answer-reverse:after {
    left: unset;
    right: -20px;
    border-width: 12px 0 12px 19px; 
    border-color: transparent transparent transparent var(--dh-color); 
}
.dt-answer-reverse:after {
    left: unset;
    right: -20px;
    border-width: 12px 0 12px 19px; 
    border-color: transparent transparent transparent var(--dt-color); 
}
.entry-content .oc-message-box p,
.entry-content .dh-message-box p,
.entry-content .dt-message-box p {
    font-size: 1rem;
    line-height: 2;
    padding: 0;
} 
.wp-block-columns.box {
    margin-top: 1em;
}




/* アニメーション */
.scroll-fade-up {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* slickスライダー */

.entry-content > .post-slider,
.entry-content > .oc-post-slider {
   margin-bottom: 2em;
   margin-top: 0;
}
.post-slider,
.oc-post-slider {
    max-width: 1100px;
    margin: 0 auto;
}
.slide-item {
   margin: 1em 0;
   border-radius: 10px;
   max-width: 336px;
   box-sizing: border-box;
	transform: scale(.8);
	transition: transform .3s;
   padding: 1em;
	opacity: .3;
    background: #fff;
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
}
.slide-item.slick-center {
    transform: scale(1);
}
.slide-item.slick-current {
	opacity: 1;
}
.slick-track {
   display: flex;
}


.slick-slide {
   height: auto !important;
}


.slick-slide a {
    text-decoration: none;
    display: block;
}
.dh-post-slider a,
.dt-post-slider a {
    /*max-width: 336px;
    width: 100%;
    height: 100%;
    padding: 1em;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);*/
}
.dh-post-slider .slide-item,
.dt-post-slider .slide-item {

}
/*.slick-slide a:hover {
  transform: translateY(-10px);
  box-shadow:
    0 20px 25px -5px rgba(83, 178, 229, 0.1),
    0 10px 10px -5px rgba(83, 178, 229, 0.04);
    border-color: rgba(83, 178, 229, 0.8);
}
.dh-post-slider .slick-slide:hover a {
  box-shadow:
    0 20px 25px -5px rgba(227, 133, 159, 0.1),
    0 10px 10px -5px rgba(227, 133, 159, 0.04);
    border-color: rgba(227, 133, 159, 0.8);
}*/
.slick-slide a:active {
   transform: translateY(-5px) scale(0.98);
}
body.page-template-page-dt .entry-content h3.post-title,
body.page-template-page-dh .entry-content h3.post-title,
.top-post-slider h3.post-title  {
    background-image: unset;
    padding: 0;
    letter-spacing: 0.05em;
    font-size: 1rem;
    margin: 0;
}
h3.post-title,
.post-date {
   transition: all 0.3s ease;
}
p.post-date,
.entry-content p.post-date {
   margin: 0;
   padding: 0;
   font-size: 1.2rem;
   font-weight: bold;
}
.slick-slide a:hover h3.post-title,
.slick-slide a:hover .post-date {
    color: var(--dt-color);
}
.dh-post-slider .slick-slide a:hover h3.post-title,
.dh-post-slider .slick-slide a:hover .post-date {
    color: var(--dh-color);
}

.slick-next:before,
.slick-prev:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--dt-color);
}
.dh-post-slider .slick-next:before,
.dh-post-slider .slick-prev:before {
    color: var(--dh-color);
}
.slick-next:before {
    content: "\f054";
}
.slick-prev:before {
    content: "\f053";
}
button.slick-arrow {
    background: rgba(255,255,255, 0.5) !important;
    border: 1px solid var(--dt-color);
    border-radius: 50%;
    height: 50px;
    width: 50px;
    display: block;
    z-index: 1;
}
.dh-post-slider button.slick-arrow {
    border: 1px solid var(--dh-color);
}
body.home button.slick-arrow {
    border: 1px solid var(--defaults-color);
}
body.home .slick-next:before, 
body.home .slick-prev:before {
    color: var(--defaults-color);
}
.slick-dots li button {
    background: transparent !important;
}
.slick-dots li.slick-active button {
    background: transparent;
}
.slick-dots li button:before {
    content: "";
    border: 1px solid #555;
    border-radius: 50%;
    width: 15px;
    height: 15px;
}
.slick-dots li.slick-active button:before {
    background: #555;
}
.site-content .slide-item img,
.slide-item img  {
    margin: 0 auto 0.8em;
    /*max-width: 300px;
    width: 100%;*/
}
.slick-next {
    right: 0;
}
.slick-prev {
    left: 0;
}

.su-lightbox-content {
    max-width: 900px !important;
}
.top-post-slider {

}
.top-post-slider .slick-slide a {

}

.top-post-slider .slick-slide a:hover {
    transform: unset;
    box-shadow: none;
}
.top-post-slider .slide-item,
.oc-slider .slide-item {

}

.oc-slider {
    margin: 0.5em auto 0;
}
.oc-slider .slide-item {
    max-width: 100%;
    width: 336px;
    padding: 0.8em;
}



/* スライドが3つ未満 */
.oc-post-slider.no-slick {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

.oc-post-slider.no-slick .slide-item {
   transform: unset;
   transition: unset;
   opacity: 1;
   margin: 1em 0;
}

@media (max-width: 768px) {
  .oc-post-slider.no-slick .slide-item {
    flex: 1 1 100%;
    max-width: 100%;
  }
}



.category-name {
    display: flex;
    gap: 1em;
}
.dt a,
.dh a {
    color: #fff;
    border-radius: 5px;
    font-size: 1rem;
    padding: 0 0.5em;
}
.dt a {
    background: var(--dt-gradient);
}
.dh a {
    background: var(--dh-gradient);
}


.more-topics {
    margin: 5em auto 2em;
}
.more-topics a,
.more-instagram a {
    width: fit-content;
    margin: 0 auto;
}
.more-instagram {
}
#sb_instagram.sbi_palette_light {
    background-color: transparent;
}
#sb_instagram {
    max-width: 960px;
}

#sbi_load {
    margin-top: 1em;
}
#sb_instagram #sbi_load .sbi_load_btn {
    border-radius: 20px;
    font-size: 1.15rem;
    font-weight: bold;
}
.line {
   position: relative;
   margin-top: 3.5em;
}
.line-icn {
    position: absolute;
    left: 35vw;
    top: -5px;
}
.bg-line {
    background-color: #f3faf2;
    padding: 2.5em 1em;
    text-align: center;
}
.bg-line h3 {
    font-weight: bold;
    color: #333;
    font-size: 1.2rem;
    margin-bottom: 1em;
}
.bg-line p {
    font-size: 1rem;
    margin-bottom: 1.5em;
}
.line-btn a {
    width: 40%;
    margin: 0 auto;
}



/* パンくず */

.site-main .breadcrumb {
    margin: 0 auto;
    text-align: right;
    font-size: 0.9rem;
    max-width: 1366px;
}

/* ==========================================================================
    PAGE
 ========================================================================== */

:root {
   --red-color: #ea5361;
}

.site-content img {
    max-width: 100%;
}
.site-main .entry-content {
    /*margin-top: 0;
    padding-top: 0;*/
}

.entry-content {
    max-width: 1366px;
    margin: 1em auto;
    background-color: #fff;
    padding: 2em 2em 4em;
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
}
.page .entry-content h2 {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.17em;
    background: linear-gradient(90deg,rgba(217, 253, 247, 1) 0%, rgba(255, 232, 226, 1) 100%);
    margin: 4em 0 1em;
    padding: 0.5rem 1.5rem;
    color: #445753;
    border-radius: 15px;
}
.page .entry-content h2:first-of-type {
    margin: 0 0 1em;   
}
.entry-content h3 {
    padding: 0.5em 1em 0.5em 0.5em;
    margin: 2em 0 1em;
    background-image: linear-gradient(90deg, #009d85 0 50px, transparent 50px 60px, #EAEAEA 0 60px);
    background-repeat: no-repeat;
    background-size: 100% 3px;
    background-position: bottom;
    letter-spacing: 0.15em;
    font-weight: 500;
    line-height: 1.6;
}
.entry-content h2 + h3 {
    margin: 0 0 1em;
}
.entry-content h2 + .wp-block-columns {
    margin-top: 2.5em;
}
.entry-content h4 + figure {
    margin-top: 0;
}
.page .entry-content p + h2:first-of-type {
    margin-top: 2em;    
}
.entry-content h4 {
    padding: 0.5em 1em 0.5em 1.5em;
    position: relative;
    margin-bottom: 0.2rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    line-height: 1.6;
}
.entry-content h4:before {
    position: absolute;
    top: 25%;
    left: 12px;
    width: 6px;
    height: 50%;
    content: "";
    border-radius: 3px;
    background: var(--defaults-color);
    font-weight: 500;
}
.entry-content h4:not(:first-of-type) {
    margin-top: 2em;
}
.entry-content h5 {
    padding: 0.3em 0.5em;   
}

ul li,
ol li {
    margin-bottom: 1em;
}
ul li > ul {
    margin-top: 0.5em;
}
.entry-content .wp-block-embed-youtube {
    max-width: 800px;
    margin: 0 auto;
}

.entry-content p {
    margin: 1em 0;
    padding: 0 1em;
}
.entry-content :is(h1, h2, h3, h4, h5, h6) + p {
    margin-top: 0;
}



/* table */
table td:first-child {
    background: #f8f9f9;
    width: 23%;
    font-weight: bold;
}

.reco-cell table td:first-child {
    width: 10%;
}
.reco-cell table td:nth-child(2) {
    width: 29%;
}
.reco-cell table td:last-child {
    width: 22%;
}
.ao-cell table td:first-child {
    width: 9%;
}
.ao-cell table td:last-child,
.ao-cell table td:nth-last-child(2) {
    width: 16%;
}


/* 区切り線 */ 
hr.wp-block-separator.is-style-dots {
    width: 100%;
    border-bottom: 2px dashed #ccc !important;
    margin: 4em 0 0;
}
hr.wp-block-separator.is-style-dots:before {
    content: none;
}

/* 詳細ブロック */
.wp-block-details {
  border: 1px solid var(--defaults-color);
  border-radius: 10px;
  margin-bottom: 1em;
  overflow: hidden;
  background: #fef9fa;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}
body.page-id-456 .wp-block-details,
body.page-id-36 .wp-block-details,
body.page-id-64 .wp-block-details {
    width: 80%;
}

.wp-block-details.dt-qa  {
    border: 1px solid var(--dt-color);
}
.wp-block-details.dh-qa {
    border: 1px solid var(--dh-color);
}
.wp-block-details.oc-qa {
    border: 1px solid var(--oc-color);
}
.wp-block-details summary {
  font-weight: bold;
  padding: 0.5em 1em;
  cursor: pointer;
  position: relative;
  list-style: none; 
  background: #e4f0fb;
  color: #555;
   display: flex;
   align-items: center;
}
.wp-block-details summary span,
.wp-block-details p span,
.entry-content p.question span,
.entry-content p.answer span {
    font-family: sofia-pro, sans-serif;
    font-size: 1.9rem;
    margin-right: 0.3em;
}
.wp-block-details p span {
    color: #ea5361;
}
.wp-block-details summary {
    background: #fff;
    list-style: none;       /* Chrome/Firefox 対応 */
    display: flex;          /* Safari 向け */
    align-items: center;
}
.wp-block-details summary span,
.entry-content p.question span,
.entry-content p.answer span {
    color: var(--defaults-color);
}
.wp-block-details.dt-qa summary span {
    color: var(--dt-color);
}
.wp-block-details.dh-qa summary span {
    color: var(--dh-color);
}
.wp-block-details.oc-qa summary span {
    color: var(--oc-color);
}
.wp-block-details summary::-webkit-details-marker {
    display: none;          /* Safari のマーカーを非表示に */
}
.wp-block-details summary:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\2b";
    margin-left: auto;
    transition: transform 0.3s ease;
}
.wp-block-details[open] summary:after {
    content: "\f00d";
}

.wp-block-details > *:not(summary) {
    padding: 1em;
    /*border-top: 1px solid #ddd;*/
    margin: 0;
}
.wp-block-details > ul {
    padding: 1em 1em 1em 3em;
}
.wp-block-details > p {
    border-top: 1px solid var(--defaults-color);
} 

.wp-block-details.dt-qa > p {
    border-top: 1px solid var(--dt-color);
} 
.wp-block-details.dh-qa > p {
    border-top: 1px solid var(--dh-color);
} 
.wp-block-details.ad-qa > p {
    border-top: 1px solid var(--ad-color);
} 
.wp-block-details.oc-qa > p {
    border-top: 1px solid var(--oc-color);
} 
.entry-content p.question {
    margin-bottom: 0;
}
.entry-content p.answer {
    margin-top: 0;
}





/* 歯科技工士 */
:root {
   --dt-gradient: linear-gradient(90deg, rgba(83, 178, 229, 1) 0%, rgba(128, 181, 246, 1) 50%, rgba(184, 214, 219, 1) 100%);
   --dt-color: #53b2e5;
}

/* 歯科衛生士 */
:root {
   --dh-gradient: linear-gradient(90deg,rgba(227, 133, 159, 1) 0%, rgba(221, 164, 203, 1) 50%, rgba(169, 122, 210, 1) 100%);
   --dh-color: #e3859f;
}

/* 学校案内 */
:root {
   --sc-gradient: linear-gradient(90deg,rgba(241, 111, 90, 1) 0%, rgba(250, 180, 18, 1) 50%, rgba(238, 212, 139, 1) 100%);
   --sc-color: #f16f5a;
}


/* ocボタン */
:root {
   --oc-gradient: linear-gradient(90deg,rgba(227, 92, 106, 1) 0%, rgba(245, 121, 132, 1) 50%, rgba(234, 170, 82, 1) 100%);
   --oc-color: #e35c6a;
}
.oc-btn .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.oc-btn a {
   background: var(--oc-gradient);
}
.wp-block-button.oc-btn .wp-block-button__link:hover, 
.wp-block-button.oc-btn .wp-block-button__link:active,
.oc-btn .wp-block-button__link:hover,
.oc-btn .wp-block-button__link:active,
.oc-btn a:hover,
.oc-btn a:active {
     border: 1px solid  var(--oc-color);
}
.oc-btn .wp-block-button__link {
     padding: 0.5em 1.2em;
}


/* 受験生ボタン */
:root {
   --exam-gradient: linear-gradient(45deg,rgba(255, 200, 87, 1) 0%, rgba(252, 159, 90, 1) 50%, rgba(250, 186, 162, 1) 100%);
   --exam-color: #fc9f5a;
}


/* 保護者ボタン */
:root {
   --gd-gradient: linear-gradient(45deg,rgba(142, 213, 192, 1) 0%, rgba(210, 227, 197, 1) 50%, rgba(241, 230, 199, 1) 100%);
   --gd-color: #8ed5c0;
}


/* 歯科技工士ボタン */
body.page-template-page-dt .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
body.parent-pageid-36 .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.wp-block-button.dt-btn .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
     background: var(--dt-gradient);
}
body.page-template-page-dt .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, 
body.page-template-page-dt .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
body.parent-pageid-36 .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, 
body.parent-pageid-36 .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
.wp-block-button.dt-btn .wp-block-button__link:hover, 
.wp-block-button.dt-btn .wp-block-button__link:active {
     border: 1px solid  var(--dt-color);
}

/* 歯科衛生士ボタン */
body.page-template-page-dh .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
body.parent-pageid-456 .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.wp-block-button.dh-btn .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
     background: var(--dh-gradient);
}
body.page-template-page-dh .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, 
body.page-template-page-dh .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
body.parent-pageid-456 .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, 
body.parent-pageid-456 .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
.wp-block-button.dh-btn .wp-block-button__link:hover, 
.wp-block-button.dh-btn .wp-block-button__link:active {
     border: 1px solid var(--dh-color);
}


body.page-template-page-dt .entry-content,
body.page-template-page-dh .entry-content,
body.page-template-page-college .entry-content,
body.page-template-page-oc .entry-content  {
    background-image: unset;
    max-width: unset;
    border-top-left-radius: calc(100vw * 120 / 1440);
    border-top-right-radius: calc(100vw * 120 / 1440);
    box-shadow: none;
    padding: 0;
    margin: 1em auto 0;
}
body.page-template-page-college .entry-content {
    margin: 6em auto 0;
}
.page .site-content,
.archive .site-content {
   background: #F2FFFE;
   /*background: linear-gradient(90deg, rgba(242, 255, 254, 1) 0%, rgba(217, 253, 247, 1) 100%);*/
   padding-bottom: 5em;
}




body.page-template-page-dt .site-content,
body.parent-pageid-36 .site-content,
body.page-template-page-dt .entry-content,
body.cat-oc-dt .site-content {
    background: #f4f9fd;
}
body.page-template-page-dh .site-content,
body.parent-pageid-456 .site-content,
body.page-template-page-dh .entry-content,
body.cat-oc-dh .site-content {
    background: #FFF4F6;
}

body.page-template-page-dt .entry-content h2,
body.page-template-page-dh .entry-content h2,
body.page-template-page-college .entry-content h2 {
    position: relative;
    text-align: center;
    background-image: unset;
    box-shadow: none;
}

body.parent-pageid-456 .entry-content h2,
body.cat-oc-dh .entry-content h2 {
     background: linear-gradient(90deg,rgba(244, 206, 217, 1) 0%, rgba(212, 176, 230, 1) 100%);
     color: #3d3336;
}
body.parent-pageid-36 .entry-content h2,
body.cat-oc-dt .entry-content h2 {
     background: linear-gradient(90deg,rgba(220, 234, 248, 1) 0%, rgba(212, 230, 233, 1) 100%);
     color: #142537;
}
body.page-template-page-dt .entry-content h2,
body.page-template-page-dh .entry-content h2,
body.page-template-page-college .entry-content h2 {
    margin: 0;
}
body.page-template-page-dt .entry-content h2:after,
body.page-template-page-dh .entry-content h2:after {
    position: absolute;
    bottom: -16px;
    left: calc(50% - 25px);
    width: 40px;
    height: 4px;
    content: "";
    border-radius: 3px;
}
body.page-template-page-college .entry-content h2 {
    color: var(--sc-color);
}
body.page-template-page-dt .entry-content h2 {
    color: var(--dt-color);
}
body.page-template-page-dt .entry-content h2:after {
    background: var(--dt-color);
}
body.page-template-page-dh .entry-content h2 {
    color: var(--dh-color);
}
body.page-template-page-dh .entry-content h2:after {
    background: var(--dh-color);
}

body.page-template-page-dt .entry-content h2,
body.page-template-page-dh .entry-content h2,
body.page-template-page-college .entry-content h2 {
    font-size: 1.7rem;
    font-weight: 600;
}
body.page-template-page-dt .entry-content h2:after,
body.page-template-page-dh .entry-content h2:after {
    content: none;
}


body.page-template-page-dt .entry-content h2.about-title:after,
body.page-template-page-dh .entry-content h2.about-title:after,
body.page-template-page-college .entry-content h2.about-title:after  {
    content: "";
    border-bottom: 7px dotted;
    width: 300px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 2.5em;
    bottom: 0;
    margin: auto;
    background: transparent;
    border-radius: unset;
}
body.page-template-page-dt .entry-content h3.about-txt,
body.page-template-page-dh .entry-content h3.about-txt {
     background-image: unset;
     text-align: center;
}
body.page-template-page-dt .entry-content h3.about-txt {
     color: var(--dt-color);
}
body.page-template-page-dh .entry-content h3.about-txt {
     color: var(--dh-color);
}
body.page-template-page-dt .entry-content h3,
body.parent-pageid-36 .entry-content h3,
body.cat-oc-dt .entry-content h3 {
     background-image: linear-gradient(90deg, #53b2e5 0 50px, transparent 50px 60px, #EAEAEA 0 60px);
}
body.page-template-page-dh .entry-content h3,
body.parent-pageid-456 .entry-content h3,
body.cat-oc-dh .entry-content h3 {
     background-image: linear-gradient(90deg, #e3859f 0 50px, transparent 50px 60px, #EAEAEA 0 60px);
}
body.page-template-page-dt .entry-content h4:before,
body.parent-pageid-36 .entry-content h4:before,
body.cat-oc-dt .entry-content h4:before {
     background: var(--dt-color);
}
body.page-template-page-dh .entry-content h4:before,
body.parent-pageid-456 .entry-content h4:before,
body.cat-oc-dh .entry-content h4:before {
     background: var(--dh-color);
}
body.parent-pageid-456 .entry-content h4.message {
    text-align: center;
    color: var(--dh-color);
    border: 2px solid var(--dh-color);
    box-shadow: 5px 5px var(--dh-color);
    font-size: 1.4rem;
}
body.parent-pageid-36 .entry-content h4.dt-message {
    text-align: center;
    color: var(--dt-color);
    border: 2px solid var(--dt-color);
    box-shadow: 5px 5px var(--dt-color);
    font-size: 1.4rem;
}
body.parent-pageid-456 .entry-content h4.message:before,
body.parent-pageid-36 .entry-content h4.dt-message:before {
    content: none;
}

body.parent-pageid-456 .entry-content h5,
body.parent-pageid-36 .entry-content h5 {
    padding: 0.3em 0.5em 0.3em 1em;
    background-color: #f6effa;
    border-radius: 10px 10px 0 0;
    margin: 2em 0 0.5em;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
}
body.parent-pageid-456 .entry-content h5 {
    background-color: #f6effa;
}
body.parent-pageid-36 .entry-content h5 {
    background-color: #eef5f6;
}
body.parent-pageid-456 .entry-content h4 + h5,
body.parent-pageid-36 .entry-content h4 + h5 {
    margin: 0.5em 0;
}
body.parent-pageid-456 .entry-content h4 + ul,
body.parent-pageid-36 .entry-content h4 + ul {
    margin-top: 0.5em;
}


.bg-white,
.bg-color {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
}
.bg-white {
    margin: 0 auto;
    background: #fff;
    border-top-left-radius: calc(100vw * 120 / 1440);
    border-top-right-radius: calc(100vw * 120 / 1440);
    max-width: unset;
    position: relative;
    z-index: 1;
    margin-top: -10em;
}
.bg-color .wp-block-group__inner-container,
.bg-white .wp-block-group__inner-container {
    max-width: 1366px;
    margin: 0 auto;
}
.bg-color .wp-block-group__inner-container.has-slider {
   max-width: 1100px;
}
.bg-white .wp-block-group__inner-container {
    padding-bottom: 11em;
    padding-top: 3em;
}

.page .bg-color {
    border-top-left-radius: calc(100vw * 120 / 1440);
    border-top-right-radius: calc(100vw * 120 / 1440);
    position: relative;
    z-index: 1;
    margin-top: -8em;
    background-color: #f2f7f5;
    max-width: unset;
    padding-bottom: 8em;
}
body.page-template-page-dt .bg-color,
body.parent-pageid-36 .bg-color {
    background-color: #f4f9fd;
}
body.page-template-page-dh .bg-color,
body.parent-pageid-456 .bg-color {
    background-color: #FFF4F6;
}
.bg-color .wp-block-group__inner-container {
    padding-top: 3em;
    padding-bottom: 4em;
}
.bg-white .wp-block-group__inner-container.last,
.bg-color .wp-block-group__inner-container.last,
.page .bg-color.last,
.page .bg-white.last,
.page .last .wp-block-group__inner-container {
    padding-bottom: 1em;
}
.subject-container {
    display: flex;
    flex-wrap: wrap;
    max-width: 1395px;
    margin: auto;
    align-items: center;
    justify-content: space-between;
    margin-top: 5em;
    position: relative;
}
.info-box {
    max-width: 500px;
    position: relative;
    z-index: 2;
    width: 100%;
    background: rgba(241,248,252,0.7);
    padding: 1em;
}
body.page-template-page-dh .info-box {
    background: rgba(255,244,246,0.7);
}

h1.title,
.entry-header h1.entry-title {
    position: relative;
    font-weight: 800;
    letter-spacing: 0.2em;
    font-size: 2rem;
    background: linear-gradient(
    270deg,
    #009d85,
    #57CEBC,
    #33C6CF
  );
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientFlow 16s ease infinite;
}
@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.entry-header h1.entry-title:before {
    position: absolute;
    border-bottom: 2px solid var(--defaults-color);
    bottom: -16px;
    left: 0;
    width: 70px;
    content: "";
}
h1.title {
    -webkit-text-fill-color: unset;
    background: transparent;
}
body.page-template-page-dt h1.title {
    color: var(--dt-color);
}
body.parent-pageid-36 .entry-header h1.entry-title,
body.cat-oc-dt .entry-header h1.entry-title {
    background: linear-gradient(
    270deg,
    #B8D6DB,
    #80B5F6,
    #53B2E5
  );
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientFlow 16s ease infinite;
}
body.parent-pageid-36 .entry-header h1.entry-title:before {
    border-bottom: 2px solid var(--dt-color);
}
body.page-template-page-dh h1.title,
body.parent-pageid-456 .entry-header h1.entry-title {
    color: var(--dh-color);
    -webkit-text-fill-color: unset;
    background: transparent;
}
body.parent-pageid-456 .entry-header h1.entry-title:before {
    border-bottom: 2px solid var(--dh-color);
}
h1.title {
    font-size: 3.5rem;
    text-align: left;
}

.sub-info {
    color: var(--dt-color);
    margin: 0.5em 0 1.5em;
}
body.page-template-page-dh .sub-info {
    color: var(--dh-color);
}
.num {
    font-weight: bold;
    font-size: 1.2rem;
}
.line-box {
    border: 1px solid;
    padding: 0.1em 0.5em;
    margin-right: 0.5em;
}
.rank {
   background: var(--dt-color);
   background: var(--dt-gradient);
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.5rem;
}
body.page-template-page-dh .rank {
   background: var(--dh-color);
   background: var(--dh-gradient);
}
.rate-item {
     margin-top: 1em;
     display: flex;
     align-items: center;
     gap: 0.8em;
}
.rate-label {
    font-weight: 500;
    line-height: 1.4;
}
.rate-number {
  font-family: sofia-pro, sans-serif;
  font-size: 4rem;
  font-weight: bold;
  background-image: var(--dt-gradient);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  line-height: 1;
  width: 150px;
  opacity: 0;
  padding: 0 !important;
}
body.page-template-page-dh .rate-number {
    background-image: var(--dh-gradient);
}
.rate-number.visible {
  opacity: 1;
  transition: opacity 0.5s ease;
}
.rate-unit {
   font-size: 3.5rem;
}

.cap-box {
    margin: 2.5em 0 0;
}
.cap-box h2 {
    font-size: 1.3rem;
    border-bottom: 1px solid;
    color: var(--dt-color);
    letter-spacing: 0.15em;
}
body.page-template-page-dh .cap-box h2 {
    color: var(--dh-color);
}
.cap-box ul {
    margin-top: 1em;
    padding-left: 1.5em;
}
.image-box {
    position: absolute;
    top: 0;
    right: 0;
}

.badge {
    background: #ea5361;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}


h2.about-txt {
    background: transparent;
    text-align: center;
    margin: 0;
    color: var(--dt-color);
}
body.page-template-page-dh h2.about-txt {
    color: var(--dh-color);
}
.page .entry-content p + h2.about-txt:first-of-type {
    margin-top: 0;
}
h2.about-txt span {
    letter-spacing: 0.05em;
    font-size: 1.3rem;
    color: #555;
    font-weight: normal;
    display: block;
    margin-top: 0.5em;
}
.wp-block-group__inner-container h2.about-txt {
    margin-top: 0;
}
p.txt {
    margin-top: 0;
    text-align: center;
    width: 80%;
}

.entry-content p.page-event-date {
    margin: 0;
}




/* ボタン */
ul.dt-btn,
ul.dh-btn,
ul.sc-btn {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1em 2em;
    justify-content: center;
    margin: 3em 0 2em;
}
ul.dt-btn li,
ul.dh-btn li,
ul.sc-btn li {
    width: calc(100% / 3);
}

ul.dt-btn li a,
p.dt-link-btn a,
ul.dh-btn li a,
p.dh-link-btn a,
ul.sc-btn li a,
.sc-btn a,
p.event-link a,
p.oc-btn-more a,
.exam-btn a,
.ad-btn a,
.gd-btn a,
.line-btn a,
.ac-btn a,
.oc-btn a,
.dh-btn a,
.dt-btn a,
.btn a {
    border: 1px solid #fff;
    outline: 0;
    transition: all  .2s ease;
    display: flex;
    justify-content: center;
    padding: 0.8em 1.5em;
    border-radius: 30px;
    text-decoration: none;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: relative;
    align-items: center;
}
.oc-box .slick-slide p.event-link a,
.no-slick p.event-link a {
    padding: 0.3em 1.5em;
}
.exam-btn a,
.ad-btn a,
.gd-btn a {
    color: #333;
    position: relative;
    font-size: 1.4rem;
    border-radius: 50px;
}
.visitor-wrap ul li a:after {
    margin-top: 0.1em;
}

ul.dt-btn li a,
p.dt-link-btn a,
p.event-link a.oc-dt {
    background: var(--dt-gradient);
}
ul.dh-btn li a,
p.dh-link-btn a,
p.event-link a.oc-dh {
    background: var(--dh-gradient);
}
ul.sc-btn li a,
.sc-btn a,
.wp-block-button.sc-btn .wp-block-button__link:not(:hover):not(:active):not(.has-background){
    background: var(--sc-gradient);
    color: #333;
}
p.oc-btn-more a {
    background: var(--oc-gradient);
}
.exam-btn a {
    background: var(--exam-gradient);
}
.ad-btn a {
    background: var(--ad-gradient);
}
.gd-btn a {
    background: var(--gd-gradient);
}
.line-btn a {
    background: linear-gradient(45deg,rgba(112, 197, 94, 1) 0%, rgba(141, 209, 126, 1) 100%);
    padding: 0.5em 1.5em;
}
.ac-btn a {
    background: linear-gradient(45deg, rgba(0,0,0,1) 0%, rgba(85,85,85,1) 100%);
}
ul.dt-btn li a:after,
p.dt-link-btn a:after,
ul.dh-btn li a:after,
p.dh-link-btn a:after,
ul.sc-btn li a:after,
.exam table td a:after,
.sc-btn a:after,
p.event-link a:after,
p.oc-btn-more a:after,
.exam-btn a:after,
.ad-btn a:after,
.gd-btn a:after,
.line-btn a:after,
.ac-btn a:after,
.oc-btn a:after,
.dh-btn a:after,
.dt-btn a:after,
.btn a:after  {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 0.3em;
    content: "\f061";
    transition: transform 0.3s ease-in-out;
    display: inline-block;
    margin-top: 0.1em;
    /*position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);*/
}
.side-menu-wrap ul li a:after {
    position: unset;
    transform: unset;
}

/*.exam-btn a:after,
.ad-btn a:after,
.gd-btn a:after {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}*/
ul.dt-btn li a:hover,
p.dt-link-btn a:hover,
ul.dh-btn li a:hover,
p.dh-link-btn a:hover,
ul.sc-btn li a:hover,
.sc-btn a:hover,
p.event-link a:hover,
p.oc-btn-more a:hover,
.exam-btn a:hover,
.ad-btn a:hover,
.gd-btn a:hover,
.line-btn a:hover,
.ac-btn a:hover,
.oc-btn a:hover {
    background: transparent;
    color: #555;
}
ul.dt-btn li a:hover,
p.dt-link-btn a:hover,
p.event-link a.oc-dt:hover {
    border: 1px solid var(--dt-color);
}
ul.dh-btn li a:hover,
p.dh-link-btn a:hover,
p.event-link a.oc-dh:hover {
    border: 1px solid var(--dh-color);
}
ul.sc-btn li a:hover,
.sc-btn a:hover,
.wp-block-button.sc-btn .wp-block-button__link:hover {
    border: 1px solid var(--sc-color);
}
p.oc-btn-more a:hover {
    border: 1px solid var(--oc-color);
    background: #fff;
}
.exam-btn a:hover {
    border: 1px solid var(--exam-color);
    background: #fff;
    color: var(--exam-color);
}
.ad-btn a:hover {
    border: 1px solid var(--ad-color);
    background: #fff;
    color: var(--ad-color);
}
.gd-btn a:hover {
    border: 1px solid var(--gd-color);
    background: #fff;
    color: var(--gd-color);
}
.line-btn a:hover {
    border: 1px solid #8dd17e;
    background: #fff;
    color: #8dd17e;
}
.ac-btn a:hover {
    background: transparent;
    color: rgba(0, 0, 0, 1);
    border: 1px solid #000;
}
ul.dt-btn li a:active,
p.dt-link-btn a:active,
ul.dh-btn li a:active,
p.dh-link-btn a:active,
ul.sc-btn li a:active,
a:active i,
.sc-btn a:active,
p.event-link a:active,
p.oc-btn-more a:active,
.btn a:active,
.exam-btn a:active,
.ad-btn a:active,
.gd-btn a:active,
.line-btn a:active,
.ac-btn a:active,
.oc-btn a:active {
    transform: scale(0.95);
}
ul.dt-btn li a:hover:after,
p.dt-link-btn a:hover:after,
ul.dh-btn li a:hover:after,
p.dh-link-btn a:hover:after,
ul.sc-btn li a:hover:after,
a:hover i,
.exam table td a:hover:after,
.sc-btn a:hover:after,
p.event-link a:hover:after,
p.oc-btn-more a:hover:after,
.btn a:hover:after,
.line-btn a:hover:after,
.ac-btn a:hover:after,
.oc-btn a:hover:after,
.dh-btn a:hover:after,
.dt-btn a:hover:after,
.exam-btn a:hover:after,
.ad-btn a:hover:after,
.gd-btn a:hover:after,
.btn a:hover:after {
    transform: translateX(5px);
}
/*.exam-btn a:hover:after,
.ad-btn a:hover:after,
.gd-btn a:hover:after {
    transform: translateY(-50%) translateX(5px);
}*/
.side-menu-wrap ul li a:hover:after {
    transform: translateX(5px);
}
.point-title {
    text-align: center;
    margin: 1.5em 0 0;
    font-size: 2.5rem;
    font-weight: 900;
}
.wp-block-group__inner-container .point-title {
    margin-bottom: 0;
}
.card {
    background-color: #fff;
    position: relative;
    z-index: 0;
    padding: 1.5em;
    box-shadow: 0 14px 26px rgba(0,0,0,0.04);
    border-radius: 20px;
}
.card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 20px;
    padding: 2px; /* ボーダーの太さ相当 */
    background: var(--dt-gradient);
    -webkit-mask:
      linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1;
}
body.page-template-page-dh .card:before {
    background: var(--dh-gradient);
} 
.card-box {
    margin-bottom: 3em;
}
.wp-block-column.card h3.wp-block-heading {
    margin: 0;
    background-image: unset;
    padding: 0.5em 1em;
    color: var(--dt-color);
    border-bottom: 1px solid;
    margin-bottom: 0.5em;
}
body.page-template-page-dh .wp-block-column.card h3.wp-block-heading {
    color: var(--dh-color);
}
span.point-num {
    align-items: center;
    justify-content: center;
    background: var(--dt-color);
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    width: 60px;
    display: flex;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0;
    font-size: 1.8rem;
    position: absolute;
    top: -30px;
    left: 20px;
}
body.page-template-page-dh span.point-num {
    background: var(--dh-color);
}
span.point-txt {
}

p.dt-more,
p.dh-more  {
    margin: 4em auto;
    text-align: center;
}
p.dt-more a {
    background: var(--dt-gradient);
    display: inline-block;
}
p.dh-more a {
    background: var(--dh-gradient);
    display: inline-block;
}
p.dt-more a:hover {
    border: 1px solid var(--dt-color);
}
p.dh-more a:hover {
    border: 1px solid var(--dh-color);
}
.teacher-box {
    justify-content: center;
}
p.dt-link-btn,
p.dh-link-btn  {
    margin-top: 2em;
    text-align: center;    
}
p.dt-link-btn a,
p.dh-link-btn a  {
    width: fit-content;
}
body.page-id-456 p.dh-link-btn a,
body.page-id-36 p.dt-link-btn a {
    margin: 0 auto;
}
.job-box {
    margin-bottom: 3em;
}
body.page-template-page-dt .job-box .wp-block-column h3,
body.page-template-page-dh .job-box .wp-block-column h3,
body.page-id-942 .job-box .wp-block-column h3,
body.page-id-46 .job-box .wp-block-column h3  {
    background-image: unset;
    text-align: center;
    margin: 0;
    padding: 0;
    border-radius: 15px;
}
body.page-template-page-dt .job-box .wp-block-column h3,
body.page-id-46 .job-box .wp-block-column h3 {
    border: 1px solid var(--dt-color);
}
body.page-template-page-dh .job-box .wp-block-column h3,
body.page-id-942 .job-box .wp-block-column h3 {
    border: 1px solid var(--dh-color);
}
.job-box .wp-block-column p.rate-number {
    text-align: center;
    margin: 0 auto;
    font-size: 6rem;
    width: 300px;
}
body.page-id-942 .job-box .wp-block-column h3,
body.page-id-46 .job-box .wp-block-column h3  {
    margin-bottom: 0.5em;
}
body.page-id-942 .job-box .wp-block-column span.rate-number,
body.page-id-46 .job-box .wp-block-column span.rate-number  {
    font-size: 6rem;
    width: 235px;
}
body.page-id-942 .job-box .wp-block-column span.badge,
body.page-id-46 .job-box .wp-block-column span.badge {
    margin-top: 0.8em;
}

body.page-id-942 .line-txt,
body.page-id-46 .line-txt {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
    font-weight: 600;
}

body.page-id-942 .line-txt {
    color: var(--dh-color);
}
body.page-id-46 .line-txt {
    color: var(--dt-color);
}
body.page-id-942 .line-txt:before,
body.page-id-46 .line-txt:before  {
    margin-right: 0.3em;
}
body.page-id-942 .line-txt:before,
body.page-id-942 .line-txt:after {
    background: var(--dh-color);
    width: 37px;
    height: 3px;
}
body.page-id-46 .line-txt:before,
body.page-id-46 .line-txt:after {
    background: var(--dt-color);
    width: 37px;
    height: 3px;
}

/* 学科流れる写真 */

.slider-container {
    overflow: hidden;
    width: 100%;
    margin-top: 0;
}

.slider-track {
  display: flex;
  animation: scroll-left 100s linear infinite;
  width: calc(2407px * 2); /* 画像2枚分 */
}

.slider-track img {
  width: 2407px;
  flex-shrink: 0;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2407px);
  }
}

.topics-title {
    margin: 0;
}





/* 学校案内 */
body.page-id-26 .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
body.parent-pageid-26 .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
     background: var(--sc-gradient);
}
body.page-id-26 .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, 
body.page-id-26 .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
body.parent-pageid-26 .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover, 
body.parent-pageid-26 .wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
     border: 1px solid  var(--sc-color);
}
.sc-section .subject-container {
    max-width: 1300px;
}
.sc-section .info-box {
    max-width: 600px;
    padding: 2em;
    background: rgba(254,248,247,0.7);
}
.sc-section h1.title {
    color: var(--sc-color);
}
.sc-section h2 {
    font-weight: bold;
    font-size: 1.7rem;
    background: var(--sc-gradient);
    color: #333;
    letter-spacing: 0.1em;
    margin-bottom: 0.5em;
}
.sc-section p {
    font-weight: 500;
}
p.bold {
    font-weight: bold;
    font-size: 1.3rem;
    margin: 1em 0 0;
}
ul.sc-btn li > ul li {
    width: 100%;
}



/* カレンダー */

.calendar {
    border-bottom: 1px solid #ccc;
    padding-bottom: 2em;
}
.calendar ul li::marker {
    color: var(--dt-color);
}
body.page-id-938 ul li::marker {
    color: var(--dh-color);
}
.wp-block-columns .wp-block-column.month-box {
    background-color: var(--dt-color);
    flex-basis: 13%;
    flex-grow: unset;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.5em 0;
}
body.page-id-938 .wp-block-column.month-box {
    background-color: var(--dh-color);
}
.page .entry-content h2.month {
    margin: 0;
    color: #fff;
    background: transparent;
    text-align: center;
}
.page .entry-content h2.month:after {
    content: none;
}
p.en {
    font-family: var(--font-en);
    text-align: center;
    margin: 0;
}
p.photo-txt {
  position: relative;
  margin-bottom: 1em;
  padding: 16px;
  border: 1px solid var(--dt-color);
  border-radius: 10px;
  background-color: #fff;
  text-align: center;
  line-height: 1.5;
    color: var(--dt-color);
    font-weight: 500;
}
body.page-id-938 p.photo-txt {
    border: 1px solid var(--dh-color);
    color: var(--dh-color);
}
p.photo-txt:before,
p.photo-txt:after {
  content: "";
  position: absolute;
}
p.photo-txt:before {
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 10px 5px 0 5px;
  border-color: var(--dt-color) transparent transparent;
  translate: -50% 100%;
}
body.page-id-938 p.photo-txt:before {
  border-color: var(--dh-color) transparent transparent;
}
p.photo-txt:after {
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 7.8px 3.9px 0 3.9px;
  border-color: #ffffff transparent transparent;
  translate: -50% 100%;
}



/* TOPICS一覧 */

ul.wp-block-post-template {
    max-width: 1116px;
    margin: 0 auto;
    padding: 1em 0 4em;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3em;
} 
ul.wp-block-post-template li {
    padding: 1em;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
ul.wp-block-post-template li figure {
    margin-bottom: 0.5em;
}
.page .entry-content h2.wp-block-post-title {
    font-size: 1rem;
    text-align: left;
    margin: 1em 0;
    letter-spacing: 0.05em;
    font-weight: 500;
     margin: 0;
    background: transparent;
    padding: 0;
}
.page .entry-content h2.wp-block-post-title:after {
    content: none;
}

.wp-block-post-date {
     font-family: var(--font-en);
     margin: 0;
}
wp-block-post-title a {
    transition: all  .2s ease;
}
.wp-block-post-title a:hover {
    color: var(--defaults-color);
}
body.page-id-42 .wp-block-post-title a:hover {
    color: var(--dt-color);
}
body.page-id-940 .wp-block-post-title a:hover {
    color: var(--dh-color);
}
body.page-id-940 .entry-content,
body.page-id-42 .entry-content {
    padding: 2em;
}

/* ページ送り */
.topics-page-nav  {
    max-width: 1116px;
    margin: 0 auto;
    justify-content: center;
    padding: 1em 0 5em;
    border-top: 1px solid #ccc;
}
.wp-block-query-pagination-numbers {
    display: flex;
    gap: 1em;
}
.page-numbers {
    font-family: var(--font-en);
    font-size: 1.2rem;
    border: 1px solid  var(--defaults-color);
    border-radius: 50%;
    width: 35px;
    display: flex;
    height: 35px;
    align-items: center;
    justify-content: center;
}
body.page-id-42 .page-numbers {
    border: 1px solid  var(--dt-color);
}
body.page-id-940 .page-numbers {
    border: 1px solid  var(--dh-color);
}
.page-numbers.current {
    background-color: var(--defaults-color);
    color: #fff;
}
body.page-id-42 .page-numbers.current {
    background-color: var(--dt-color);
}
body.page-id-940 .page-numbers.current {
    background-color: var(--dh-color);
}
.wp-block-query-pagination-numbers a {
    text-decoration: none;
}




/* 学校案内 */

body.page-id-26 .site-content,
body.parent-pageid-26 .site-content,
body.parent-pageid-1164 .site-content,
body.page-id-9 .site-content {
   background: #fef8f7;
   padding-bottom: 2em;
}

body.page-id-26 .entry-header h1.entry-title,
body.parent-pageid-26 .entry-header h1.entry-title,
body.parent-pageid-1164 .entry-header h1.entry-title,
body.page-id-9 .entry-header h1.entry-title  {
    background: linear-gradient(
    270deg,
    #f16f5a,
    #e88e6e
  );
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page-id-26 .entry-header h1.entry-title:before,
body.parent-pageid-26 .entry-header h1.entry-title:before,
body.parent-pageid-1164 .entry-header h1.entry-title:before,
body.page-id-9 .entry-header h1.entry-title:before  {
    border-bottom: 2px solid var(--sc-color);
}

body.parent-pageid-26 .entry-content h2,
body.parent-pageid-1164 .entry-content h2,
body.page-id-9 .entry-content h2 {
    background: linear-gradient(90deg,rgba(255, 233, 236, 1) 0%, rgba(255, 248, 209, 1) 100%);
    color: var(--sc-color);
}
body.page-id-26 a:hover,
body.parent-pageid-26 a:hover,
body.parent-pageid-1164 a:hover {
    /*color: var(--sc-color);*/
}
body.page-id-26 .entry-content h3,
body.parent-pageid-26 .entry-content h3,
body.parent-pageid-1164 .entry-content h3   {
     background-image: linear-gradient(90deg, #f16f5a 0 50px, transparent 50px 60px, #EAEAEA 0 60px);
}
body.page-id-26 .entry-content h4:before,
body.parent-pageid-26 .entry-content h4:before,
body.parent-pageid-1164 .entry-content h4:before {
    background: var(--sc-color);
}
.sc-card-box {
    margin-top: 3.5em;
}
.sc-card span.point-num {
    background: linear-gradient(90deg,rgba(241, 111, 90, 1) 0%, rgba(232, 142, 110, 1) 100%);
}
.wp-block-column.sc-card h3.wp-block-heading {
    color: var(--sc-color);
}
.sc-card:before {
    background: var(--sc-gradient);
}
.sc-card ul li {
    font-size: 1.2rem;
    font-weight: 600;
}
.entry-content p.dh-band,
.entry-content p.dt-band {
    margin-bottom: 0;
    color: #fff;
}
p.dh-band,
p.dt-band {
    font-weight: 500;
}
p.dh-band {
    background: var(--dh-gradient);
}
p.dh-num .rate-number {
    background-image: var(--dh-gradient);
}
p.dt-band {
    background: var(--dt-gradient);
}
.entry-content p.small {
    font-size: 0.9rem;
}
.entry-content p.small,
.entry-content p.dh-num,
.entry-content p.dt-num {
    margin: 0;
} 
ul.box-list {
    list-style: none;
    padding: 0 1em;
}
ul.box-list li {
    display: flex;
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 0.8em;
}
ul.box-list li p {
    width: 90%;
}
ul.box-list li p.year {
    color: var(--sc-color);
    font-weight: 500;
    width: 10%;
}
.entry-content p.dh-num,
.entry-content p.dt-num,
p.dh-num,
p.dt-num {
    display: flex;
    gap: 1em;
    padding: 0;
    justify-content: center;
    align-items: center;
}
body.page-id-26 .bg-white .wp-block-group__inner-container {
    padding-bottom: 3em;
}


/* オープンキャンパス */
body.page-id-64 .site-content {
     background: #fbebed;
}
h1.oc-title {
    color: var(--oc-color);
    text-align: right;
    line-height: 1.1;
    font-size: 3.8rem;
}
.oc-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2em;
}
.oc-section .info-box {
    max-width: 630px;
    padding: 2em 1em;
    background: rgba(251,235,237,0.8);
    margin-right: -3em;
}
.oc-section h2 {
    font-weight: bold;
    font-size: 1.6rem;
    background: var(--oc-gradient);
    color: #fff;
    letter-spacing: 0.1em;
    margin: 1em 0 0.5em;
    padding: 0 0.5em;
}
body.page-id-64 .entry-content h2,
body.page-id-62 .entry-content h2.about-title,
body.page-id-2657 .entry-content h2.about-title  {
    text-align: center;
    background-image: unset;
    box-shadow: none;
    color: var(--oc-color);
    font-size: 1.7rem;
    font-weight: 600;
}
body.page-id-64 .entry-content h2.about-title,
body.page-id-62 .entry-content h2.about-title,
body.page-id-2657 .entry-content h2.about-title {
    position: relative;
    margin-bottom: 3em;
}
body.page-id-64 .entry-content h2.about-title:after,
body.page-id-62 .entry-content h2.about-title:after,
body.page-id-2657 .entry-content h2.about-title:after {
    content: "";
    border-bottom: 7px dotted;
    width: 300px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 4.5em;
    bottom: 0;
    margin: auto;
    background: transparent;
    border-radius: unset;
}
body.page-id-2657 .entry-content h2.about-title:after {
    top: 3em;
}
.event-box {
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    padding: 1em;
    flex: 1 1 405px;
    max-width: 405px;
    box-sizing: border-box;
}
.event-box p.event-date span {
   font-size: 3.5rem;
}
.entry-content .event-box p.event-date {
   margin-bottom: 0;
   line-height: 1.1;
}

.wp-block-column.event-box .wp-block-buttons {
    margin: 0 0 1em;
}
.wp-block-column.event-box .wp-block-buttons:first-of-type {
    margin: 0 0 1.5em;
}
.wp-block-column.event-box .dh-btn a,
.wp-block-column.event-box .dt-btn a {
    font-size: 1.1rem;
    padding: 0.3em 0.5em;
}
.entry-content p.time {
    margin: 0.3em 0 0.5em;
    font-weight: bold;
    font-size: 1.3rem;
}
.last-event-wrap {
    justify-content: center;
    margin-top: 3em;
}
body.page-id-64 .bg-color {
    background: #fbebed;
}
body.page-id-64 span.point-num {
    background: var(--oc-color);
}
body.page-id-64 .card:before {
    background: var(--oc-gradient);
}
body.page-id-64 .wp-block-column.card h3.wp-block-heading {
    color: var(--oc-color);
}
.tel,
.mail {
    font-size: 1.6rem;
}

body.cat-oc-dh .entry-header h1.entry-title {
    text-align: center;
    background: linear-gradient(
    270deg,
    #a97ad2,
    #dda4cb,
    #e3859f
  );
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientFlow 16s ease infinite;
    font-size: 2.9rem;
    letter-spacing: 0.15em;
}
body.cat-oc-dt .entry-header h1.entry-title {
    text-align: center;
    font-size: 2.9rem;
    letter-spacing: 0.15em;
}
body.cat-oc-dh .entry-header h1.entry-title:before,
body.cat-oc-dt .entry-header h1.entry-title:before {
    content: none;
}
.entry-header h1.entry-title span.en {
    margin-left: 0.5em;
}
.entry-header h1.entry-title span.dh-title,
.entry-header h1.entry-title span.dt-title {
    display: block;
    font-size: 1.4rem;
    font-family: var(--heading--font-family);
}
body.cat-oc-dh .entry-content h2.pro-title,
body.cat-oc-dt .entry-content h2.pro-title,
body.parent-pageid-2657 .entry-content h2.pro-title {
    background: transparent;
    color: #555;
    text-align: center;
    margin-top: 0;
    font-size: 2.5rem;
    padding: 0;
    font-weight: bold;
}
.entry-content .wp-block-list.program {
    list-style: none;
    max-width: 960px;
}
.program li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.5em;
    padding-left: 1.8em;
    padding-bottom: 2em;
}
.program li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    background-color: #555;
    height: calc(100% + 25px);
}
.program li:first-child:before {
    top: 18px;
}
.program li:after {
    content: "";
    position: absolute;
    left: -9px;
    top: 10px;
    width: 1.2rem;
    border: 2px solid #555;
    background-color: #fff;
    border-radius: 50%;
    height: 1.2rem;
}
.entry-content .program li p {
    margin: 0;
    padding: 0;
}
.entry-content .program li p.time {
    font-size: 1.5rem;
    line-height: 1.5;
}
.program li.lesson {
    align-items: flex-start;
    background: #fbebed;
    border-radius: 0 20px 20px 0;
    padding: 1em 0 1.2em 1.8em;
}
body.cat-oc-dt .program li.lesson,
.program li.lesson-dt {
    background: #e4f3fb;
}
.program li.lesson p.lesson-title {
    color: var(--dh-color);
    font-weight: bold;
}
body.cat-oc-dt li.lesson p.lesson-title,
.program li.lesson-dt p.lesson-title {
    color: var(--dt-color);
}
.lesson-box img {
    margin-top: 1em;
}
.program li:last-child:before {
    height: 13px;
}

.line-txt {
    display: flex;
    justify-content: center;
    align-items: center;
}
.line-txt:before,
.line-txt:after {
    content: "";
    width: 30px;
    height: 2px;
    background: #555;
}
.line-txt:before {
    transform: rotate(60deg);
}
.line-txt:after {
    transform: rotate(-60deg);
}
body.single .entry-content p.line-txt {
    border-top: 2px dashed #ccc;
    padding-top: 2em;
    margin-bottom: 0.5em;
    font-weight: 600;
}
.entry-content h5.oc-tel {
    margin: 0 0 0.5em;
}
.wp-block-group .wp-block-group__inner-container > h4.oc-contact {
    margin-top: 3em;
}
.back {
    width: fit-content;
}
.back a i {
    margin-left: 0;
    margin-right: 0.3em;
}
.back a:hover i {
    transform: translateX(-5px);
}
.entry-content p.dh,
.entry-content p.dt {
    margin: 0 0 0.5em;
    padding: 0;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
}
.entry-content p.dh {
    color: var(--dh-color);
}
.entry-content p.dt {
    color: var(--dt-color);
}
.entry-content p strong mark {
    font-size: 1.25rem;
}
.oc-list-wrap {
    justify-content: center;
    flex-wrap: wrap !important;
}
.oc-btn-wrap {
    flex-wrap: wrap !important;
    gap: 0 2em;
}
.wp-block-columns.oc-list-wrap .wp-block-column,
.wp-block-columns.oc-btn-wrap .wp-block-column {
    flex-basis: unset;
    margin-bottom: 0;
}
.wp-block-columns.last-event-wrap .wp-block-column {
    margin-bottom: 0;
}
.entry-content p.end {
    text-align: center;
    background: #F2F2F2;
    font-weight: bold;
    margin-bottom: 2em;
    letter-spacing: 0.1em;
}

.entry-content > p.to-visit {
    width: fit-content;
    display: inline-block;
    margin-top: 1em;
}

/* 入試情報 */

.exam table td a {
    background: var(--defaults-gradient);
    color: #fff;
    transition: all  .2s ease;
    border-radius: 30px;
    border: 1px solid #fff;
    padding: 0.3em 1.5em;
    display: block;
    text-decoration: none;
    margin: 1em 0;
    position: relative;
    width: fit-content;
}
.exam table td a:hover,
.exam table td a:active,
.btn a:hover,
.btn a:active {
    border: 1px solid #009d85;
    background: transparent !important;
    color: #555;
    border-radius: 30px;
}
.exam table td:first-child {
    width: 23%;
}
.ao-box {
    margin-top: 3em;
}
.ao-card:before {
    background: var(--defaults-gradient);
}
.wp-block-column.ao-card h3.wp-block-heading {
    color: var(--defaults-color);
    border-bottom: none;
    margin-bottom: 0;
    text-align: center;
}
.ao-box span.point-num {
    background: var(--defaults-color);
}


/* 社会人の方へ */
:root {
   --ad-gradient: linear-gradient(45deg,rgba(175, 203, 255, 1) 0%, rgba(236, 221, 242, 1) 50%, rgba(231, 152, 234, 1) 100%);
   --ad-color: #4f94da;
}
body.page-id-170 .site-content {
    background: #f3f7fc;
}
body.page-id-170 .entry-header h1.entry-title {
    background: linear-gradient(
    270deg,
    #4f94da,
    #2D96E6,
    #4B69F2
  );
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page-id-170 .entry-header h1.entry-title:before {
    border-bottom: 2px solid var(--ad-color);
}
body.page-id-170 .entry-content h2 {
    background: linear-gradient(90deg,rgba(220, 234, 248, 1) 0%, rgba(226, 209, 242, 1) 100%);
    color: #373a3e;
}
body.page-id-170 .entry-content h2:first-of-type {
    margin: 1.5em 0 1em; 
}
body.page-id-170 .entry-content h3 {
    background-image: linear-gradient(90deg, #4f94da 0 50px, transparent 50px 60px, #EAEAEA 0 60px);
}
body.page-id-170 .entry-content h4:before {
    background: var(--ad-color);
}
.entry-content h3.dh-title,
.entry-content h3.dh-title,
body.page-id-170 .entry-content h3.dh-title {
    background-image: linear-gradient(90deg, #e3859f 0 50px, transparent 50px 60px, #EAEAEA 0 60px);
}
body.page-id-170 .entry-content h4.dh-subtitle:before,
.entry-content h4.dh-subtitle:before {
    background: var(--dh-color);
}
.entry-content h3.dt-title {
    background-image: linear-gradient(90deg, #53b2e5 0 50px, transparent 50px 60px, #EAEAEA 0 60px);    margin-top: 3em;
}
.entry-content h4.dt-subtitle:before {
    background: var(--dt-color);
}
.wp-block-details.ad-qa {
    border: 1px solid var(--ad-color);
}
.wp-block-details.ad-qa summary span {
    color: var(--ad-color);
}
.entry-content p.copy {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--ad-color);
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    margin-bottom: 0;
}
p.copy:before,
p.copy:after {
    content: "";
    width: 30px;
    height: 4px;
    background: var(--ad-color);
    border-radius: 3px;
}
p.copy:before {
    transform: rotate(60deg);
    margin-right: 0.3em;
}
p.copy:after {
    transform: rotate(-60deg);
    margin-left: 0.3em;
}
.ad-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}
.entry-content p.ad-num {
    margin: 0;
    padding: 0;
}
.ad-num .rate-number {
    font-size: 5rem;
    background-image: linear-gradient(45deg,rgba(105, 148, 216, 1) 0%,  rgba(231, 152, 234, 1) 100%);
}


table.support-box td.support-name,
table.support-box th.support-name {
    width: 23%;
    background: #f7faff;
}
body.page-id-170 table.support-box td.page-link,
.multiple table tr:nth-child(3) td:first-child,
.multiple table tr:nth-child(4) td:first-child,
.multiple table tr:nth-child(5) td:first-child,
.multiple table tr:nth-child(6) td:first-child,
.multiple table tr:nth-child(7) td:first-child {
    background: transparent;
}
.multiple table tr:nth-child(3) td:first-child,
.multiple table tr:nth-child(4) td:first-child,
.multiple table tr:nth-child(5) td:first-child,
.multiple table tr:nth-child(6) td:first-child,
.multiple table tr:nth-child(7) td:first-child {
    font-weight: normal;
}
table.support-box td a {
    color: var(--ad-color);
    font-weight: bold;
}
table.support-box td a:after {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f063";
    margin-left: 0.3em;
    display: inline-block;
}
table.support-box td.page-link {
    width: 35%;
}
table.support-box td.support-txt {
    font-size: 1rem;
}
table td span,
span.price,
table td strong,
.dh-line table td:last-child strong,
.dt-line table td:last-child strong {
    color: var(--red-color);
    font-size: 1.2rem;
    font-weight: bold;
}
.department-cell table tr:nth-child(2) td:first-child {
    color: var(--dh-color);
    border-color: #555;
}
.department-cell table tr:nth-child(3) td:first-child {
    color: var(--dt-color);
    border-color: #555;
}
table td span.wp-font-awesome-icon {
    font-size: 0.7rem;
    color: #555;
    display: inline-block;
    margin-bottom: 0.5em;
    margin-right: 0.5em;
    vertical-align: middle;
}
body.page-id-170 .dh-line,
body.page-id-170 .dt-line,
body.page-id-56 .dh-line,
body.page-id-624 .dt-line {
    display: none;
}
figure.dh-line,
figure.dt-line {
    margin-bottom: 0;
}
figure.common {
    margin-top: 0;
}
.dh-line table td,
.dt-line table td {
    border-bottom: none;
}


/* テーブル */
.table-box {
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
.table-box table {
    border-spacing: 0;
    box-sizing: border-box;
}
.table-box table th,
.table-box table td {
    /*text-align: center;*/
}
.table-box table th {
    background-color: #F2F2F2;
}
.table-box table th.fix,
.table-box table td.fix {
  position: sticky;
  top: 0;
  left: 0;
  border-left: none;
  border-right: none;
}
.table-box table th.fix:before,
.table-box table td.fix:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-left: 1px solid;
  border-right: 1px solid;
}
.table-box table th.fix + td,
.table-box table td.fix + td {
  border-left: none;
}
.scroll-hint {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 10px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  display: none;
  animation: scroll-hint-animation 2s infinite ease;
}


@keyframes scroll-hint-animation {
  0% {
    transform: translate(-50%, -50%);
  }
  50% {
    transform: translate(-40%, -50%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}
-weblit-@keyframes scroll-hint-animation {
  0% {
    transform: translate(-50%, -50%);
  }
  50% {
    transform: translate(-40%, -50%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

.scroll-hint--show {
  display: block;
}
body.parent-pageid-456 td.gray,
body.parent-pageid-36 td.gray {
   background: #f8f9f9;
}
body.parent-pageid-456 td.total {
    background: #F6EFFA;
}
body.parent-pageid-456 td.year-total {
    background: #F8F2FB;
}
body.parent-pageid-36 td.total {
    background: #EEF5F6;
}
body.parent-pageid-36 td.year-total {
    background: #F8FBFB;
}
table td.dh {
    color: var(--dh-color);
    border-color: #555;
}
table td.dt {
    color: var(--dt-color);
    border-color: #555;
}


@media screen and (min-width:1280px) {
.table-box.ao-cell,
.table-box.reco-cell,
.table-box .support-box {
    white-space: pre-wrap;
}
}


/* 吹き出し */
.tag-balloon {
    display: inline-block; 
    background-color: var(--ad-color);
    color: white; 
    padding: 5px 10px; 
    border-radius: 5px; 
    font-size: 0.6em; 
    margin-left: 1.5em;
    position: relative; 
    text-align: center;
    letter-spacing: 0.05em;
}

/* オプション：吹き出しの三角部分を追加する場合 */
.tag-balloon::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -5px;
    border-width: 5px 5px 5px 0;
    border-style: solid;
    border-color: transparent var(--ad-color) transparent transparent; /* 背景色と同じ色 */
}


/* 棒グラフ */

.pie-chart {
    margin-bottom: 3em;
}
.pie-chart-wrap { 
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2em;
    flex-wrap: wrap;
}
.pie-chart-wrap .box {
    position: relative;
/*  min-width: 200px;
  width: 33.3333333333%;*/
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
@media screen and (max-width: 750px) {
.pie-chart-wrap .box {
    width: 100%;
  }
}
@media screen and (min-width: 751px) {
.pie-chart-wrap .box + .box {
    margin-left: 20px;
  }
}
@media screen and (max-width: 750px) {
.pie-chart-wrap .box + .box {
    margin-top: 20px;
  }
}
.pie-chart-wrap .box .percent {
  position: relative;
  /*width: 280px;
  height: 280px;*/
}
/*.pie-chart-wrap .box .percent svg {
  position: relative;
  width: 217px;
  height: 217px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.pie-chart-wrap .box .percent svg circle {
  position: relative;
  fill: none;
  stroke-width: 10;
  stroke: #f3f3f3;
  stroke-dasharray: 628;
  stroke-dashoffset: 0;
  stroke-linecap: round;
}
.pie-chart-wrap .box .percent .number {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}*/
.entry-content p.rate {
    font-size: 4rem;
    margin: 0;
    padding: 0;
}
.entry-content p.rate span {
    font-size: 1.2rem;
}
.pie-chart {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
.pie-chart-wrap {
  display: flex;
  gap: 40px;
}
.pie-chart-wrap .box .text {
  padding: 10px 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}
.pie-chart-wrap .box {
  text-align: center;
  font-family: sans-serif;
}

/*.pie-chart-wrap .percent {
  position: relative;
  width: 210px;
  height: 210px;
}

.pie-chart-wrap svg {
  width: 210px;
  height: 210px;
  transform: rotate(-90deg); 
}*/
/* 各box */
.pie-chart-wrap .box {
  text-align: center;
  font-family: sans-serif;
}

.pie-chart-wrap .percent {
  position: relative;
  width: 210px;
  height: 210px;
}

.pie-chart-wrap svg {
  width: 210px;
  height: 210px;
  transform: rotate(-90deg); /* 開始位置を上に */
}

.pie-chart-wrap .base {
  fill: none;
  stroke: #eee;
  stroke-width: 12;
}

.pie-chart-wrap .line {
  fill: none;
  stroke-width: 12;
  stroke-linecap: butt;
  stroke: currentColor;
  transition: none; /* JSで付与 */
}

.pie-chart-wrap .number {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pie-chart-wrap .text {
  margin-top: 10px;
  font-size: 16px;
}

/* 色分け */
.pie-chart-wrap .box.blue .line { color: var(--dt-color); }  
.pie-chart-wrap .box.red .line { color: var(--defaults-color); }
.pie-chart-wrap .box.green .line { color: var(--oc-color); }







/* 学校見学 */
.snow-monkey-form {
    margin-top: 3em;
}
.smf-progress-tracker {
    margin: 2em 0 3em;
}
.smf-progress-tracker__item__number {
    height: 35px;
    width: 35px;
    font-size: 1.5rem;
}
.smf-progress-tracker__item:after, 
.smf-progress-tracker__item:before {
    top: 18px;
}
.select-day > .wp-block-group__inner-container {
    display: flex;
    gap: 4em;
}
.select-day .wp-block-group__inner-container .wp-block-group {
    margin: 0 !important;
    flex: 1;
}
.smf-form--business .smf-item.add-border {
    border-top: 1px solid #ddd;
}
.smf-placeholder {
}
.smf-form .smf-select-control {
    display: block;
}
.smf-error-messages {
    color: #ea5361;
    font-weight: bold;
    padding: 0 1em;
}
.smf-form .smf-select-control__control {
    width: 100%;
    display: block;
    background: transparent;
}
.entry-content .smf-form h4 {
    padding: 0.3em 1em 0.3em 1.3em;
    background: #ccebe7;
    border-radius: 15px;
    margin: 3em 0 1em;
}
.entry-content .smf-form h4:before {
    content: none;
}
.entry-content .smf-form h5 {
    padding: 0.3em 1em;
    margin-bottom: 0.5em;
    margin-top: 2.5em;
}
.req {
    background: #ea5361;
    border-radius: 10px;
    color: #fff;
    padding: 0.1em 0.5em;
    font-size: 1rem;
    margin-left: 0.5em;
}
.smf-text-control__control {
    width: 100%;
}
.smf-form .half {
    width: 50%;
}
.smf-radio-buttons-control__control {
    display: flex;
    gap: 3em;
    padding: 0 1em;
    align-items: center;
}

.smf-form .smf-radio-button-control {
    align-items: center;
    display: flex;
}
.smf-form .smf-radio-button-control__control {
    height: 23px;
    width: 23px;
    margin-top: calc(var(--_half-leading)*1.3em);
}
.smf-form .smf-checkbox-control__control {
    height: 23px;
    width: 23px;
}
.smf-form .third {
    width: 20%;
}
.smf-item__description {
    font-size: 1rem;
    margin-bottom: 0.5em;
}
input::placeholder,
textarea::placeholder {
  color: #ccc; 
}
.smf-label label {
    cursor: pointer;
}

.check {
    text-align: center;
    margin: 2em 0;
}
.smf-form .smf-checkbox-control__control:checked:before {
    content: none;
}
.smf-action {
    display: flex;
    justify-content: center;
    gap: 3em;
}
.smf-action .smf-button-control__control {
    display: block;
    border: 1px solid #fff;
    border-radius: 30px;
    padding: 0.8em 3em;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    margin: 2em auto;
}
.smf-action .smf-button-control__control:hover {
    background-color: #fff;
    background-image: unset;
    border: 1px solid var(--defaults-color);
}

.smf-button-control button[data-action="back"]{ 
    background: #e3e3e3 !important;
    color: #555 !important;
}
.smf-button-control button[data-action="back"]:hover {
    border: 1px solid #555 !important;
}
.smf-action .smf-button-control__control .smf-sending {
    right: 10px;
}
.smf-sending:before {
    height: 20px;
    width: 20px;
}

.smf-progress-tracker__item--complete[aria-current=true] .smf-progress-tracker__item__number {
    background-color: var(--defaults-color);
}
.smf-progress-tracker__item--complete[aria-current=true] .smf-progress-tracker__item__text {
    color: var(--defaults-color);
}
.smf-complete-content {
    position: relative;
    margin-top: 3em;
}
.smf-complete-content:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f00c";
    text-align: center;
    display: block;
    font-size: 4rem;
    border: 1px solid var(--defaults-color);
    border-radius: 50%;
    width: 100px;
    height: 100px;
    line-height: 100px;
    color: var(--defaults-color);
    margin: 0.5em auto;
}
.entry-content p.com-txt {
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    color: var(--defaults-color);
    margin-bottom: 3em;
}
.entry-content .smf-complete-content h5 {
    margin-top: 0;
}
.entry-content .smf-complete-content h5.tel:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.3em;
    content: "\f095";
}
.entry-content .smf-complete-content h5.mail:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.3em;
    content: "\f0e0";
}
.smf-item__label {
    font-weight: bold;
}

.privacy-box {
    width: 100%;
    height: 200px;
    overflow-y: scroll;
    border: 1px #999 solid;
    margin: 1em 0;
}
.privacy-box p {
    font-size: 1rem;
    padding: 0 2em;
}
.smf-checkboxes-control__control .smf-label {
    margin: 0.8em 0;
}
.smf-checkboxes-control__control .smf-label:not(:last-of-type) {
    border-bottom: 1px dashed #ccc;
    padding-bottom: 0.5em;
}

@media (min-width: 769px) { 
    .smf-form--business .smf-item__col--label {
        flex: 0 0 23em;
        max-width: 23em;
    }
    .smf-form--business .smf-item__col--controls {
        flex: 1 1 calc(100% - 23em);
        max-width: calc(100% - 23em);
    }

}



/* 保護者の方へ */
body.page-id-174 .site-content {
    background: #f1faf7;
}
body.page-id-174 .entry-header h1.entry-title {
    background: linear-gradient(
    270deg,
    #8bbae2,
    #92e5ec,
    #8ed5c0
  );
  background-size: 600% 600%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.page-id-174 .entry-header h1.entry-title:before {
    border-bottom: 2px solid var(--gd-color);
}
.entry-content h4.dh-question,
.entry-content h4.dt-question {
    font-weight: 600;
}
.entry-content h4.dh-question:before {
    background: var(--dh-color);
}
.entry-content h4.dt-question:before {
    background: var(--dt-color);
}

.entry-content p.dh-answer,
.entry-content p.dt-answer {
    font-weight: 400;
    font-size: 1rem;
    padding: 1em;
    line-height: 2;
    border-radius: 15px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}
.entry-content p.dh-answer {
    border: 1px solid var(--dh-color);
}
.entry-content p.dt-answer {
    border: 1px solid var(--dt-color);
}
.entry-content p.dh-line-txt,
.entry-content p.dt-line-txt {
    font-weight: bold;
    font-size: 1.3rem;
}
.entry-content p.dh-line-txt {
    color: var(--dh-color);
}
.entry-content p.dt-line-txt {
    color: var(--dt-color);
}
.dh-line-txt:before, 
.dh-line-txt:after {
    background: var(--dh-color);
}
.dt-line-txt:before, 
.dt-line-txt:after {
    background: var(--dt-color);
}
.entry-content p.message-card {
     background: #fbebed;
     clip-path: polygon(30px 0%, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0% 30px);
     border-top-right-radius: 20px;
     border-bottom-left-radius: 20px;
     padding: 1em 2em;
     margin: 0;
}
.entry-content p.dt-message-card {
     background: #e4f3fb;
}
body.page-id-174 .card:before {
    background: var(--defaults-gradient);
}
body.page-id-174 .wp-block-column.card h3.wp-block-heading {
    color: var(--defaults-color);
}

.wp-block-column.card .last-btn {
    margin-top: 2em;
}


/* 受験生のみなさまへ */
body.page-id-62 .entry-content h2.about-title {
     margin-top: 0;
}
body.page-id-62 .entry-content p.line-txt {
    font-size: 1.3rem;
    color: var(--oc-color);
    font-weight: 600;
    margin-bottom: 0;
}
body.page-id-62 .line-txt:before, 
body.page-id-62 .line-txt:after {
    background: var(--oc-color);
}

.entry-content p.no-link {
    background: #d3d3d3;
    border-radius: 30px;
    text-align: center;
    color: #fff;
    padding: 0.3em 0.5em;
}
.entry-content p.red strong {
    color: var(--red-color);
}


/* トピックス */

.entry-content .topics-list {
    max-width: 1116px;
    margin: 0 auto;
    padding: 3em 0 4em;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3em;
    display: grid;
}
.topics-item {
    padding: 1em;
    box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
.topics-item a {
    display: block;
}
.topics-item a img.attachment-slick-thumb {
    width: 300px;
    height: 226px;
    object-fit: cover; 
}
.entry-content .topics-item p {
    margin: 1em 0 0;
    padding: 0;
}
.page-template-page-all-topics .entry-content .topics-item h2.wp-block-post-title {
    margin-top: 0;
}
.entry-content .topics-item p.post-date {
    margin: 0.3em 0 0;
}
.topics-item .category-name p a {
    text-decoration: none;
}
.topics-pagination {
    display: flex;
    gap: 1em;
    max-width: 1116px;
    margin: 0 auto;
    justify-content: center;
    padding: 1em 0 5em;
    border-top: 1px solid #ccc;
    flex-wrap: wrap;
    align-items: center;
}
.topics-pagination a {
    text-decoration: none;
}
.topics-pagination .prev {
    border: none;
}



/* お知らせ */

.excerpt-header {
    margin: 1em 0;
    border-bottom: 2px dashed #ccc;
    padding-bottom: 1em;
}
.excerpt-header:last-of-type {
    margin: 1em 0 0;
    border-bottom: none;
    padding-bottom: 0;
}
.excerpt-wrap {
    display: flex;
    gap: 1em;
    align-items: center;
}
.excerpt-wrap h2.entry-title {
    font-size: 1.125rem;
}
.excerpt-wrap h2.entry-title a:hover {
    color: var(--defaults-color);
}
body.category-info article {
    border-bottom: 1px dashed #ccc;
    padding-bottom: 1em;
}
body.category-info article:last-of-type {
    border-bottom: none;
}
body.category-info .entry-content {
    padding: 2em;
}

/* ==========================================================================
    SINGLE
 ========================================================================== */

.bg-paper {
     background-color: #ffffff;
     background-image:  linear-gradient(#f2f2f2 1.3px, transparent 1.3px), linear-gradient(to right, #f2f2f2 1.3px, #ffffff 1.3px);
     background-size: 26px 26px;
     padding-bottom: 5em;
}
.single .site-content,
.error404 .site-content {
     background-image: url('../../../img/bg.png');
}
.single .entry-header {
    margin-top: 0;
}
.single.cat-oc-dh .entry-header,
.single.cat-oc-dt .entry-header {
    margin-top: 4em;
}
.bg-paper {
    padding-bottom: 3em;
}
.single .entry-content {
    max-width: 1366px;
    margin: 0 auto;
    background-color: #fff;
    padding: 3em 2em;
    border-radius: 20px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.055);
}
.single .entry-header h1.entry-title {
    font-size: 1.8rem;
}
.single .entry-header h1.entry-title:before {
    content: none;
}
.single .entry-header {
    margin-bottom: 2em;
}
.single .entry-content h2 {
    background: #DEEBE6;
    background: linear-gradient(90deg, rgba(222, 235, 230, 1) 0%, rgba(138, 193, 209, 1) 100%);
    letter-spacing: 0.15em;
    padding: 0.5em 0.5em 0.5em 0.8em;
    font-weight: 500;
    margin-top: 2.5em;
    border-radius: 20px 0 20px 0;
    line-height: 1.6;
}
.post-meta {
    max-width: 1366px;
    margin: 0 auto 1em;
    display: flex;
    gap: 1em;
    align-items: center;
}
.post-category {
    display: flex;
    gap: 1em;
}
.post-category a {
    color: #fff;
    border-radius: 5px;
    font-size: 1rem;
    padding: 0 0.5em;
    text-decoration: none;
    display: block;
}
.post-category a.dt {
    background: var(--dt-gradient);
}
.post-category a.dh {
    background: var(--dh-gradient);
}
.post-category a.info {
    background: var(--defaults-gradient);
}
.post-meta .post-date {
    font-size: 1.2rem;
    font-weight: bold;
}
.site-main .post-category-label {
    max-width: var(--responsive--alignwide-width);
    margin: 1.8em auto 1.5em;
    position: relative;
    font-weight: 800;
    letter-spacing: 0.2em;
    font-size: 2rem;
    background: linear-gradient(
    270deg,
    #009d85,
    #57CEBC,
    #33C6CF
  );
    background-size: 600% 600%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientFlow 16s ease infinite;
}
.post-category-label:before {
    position: absolute;
    border-bottom: 2px solid var(--defaults-color);
    bottom: -16px;
    left: 0;
    width: 70px;
    content: "";
}



/* 問い合せ */

body.page-id-9 .wp-block-column.card h3.wp-block-heading {
    color: var(--sc-color);
}
body.page-id-9 .card:before {
    background: var(--sc-gradient);
}

body.page-id-9 .card .wp-block-buttons:last-of-type .wp-block-button {
    margin-top: 2em;
}



 /* トピックスoc */
.wp-block-columns.topics-oc-box {
    flex-wrap: wrap!important;
    justify-content: center;
}
.wp-block-columns.topics-oc-box .event-box {
    flex-basis: unset;
    flex-grow: unset;
}
.wp-block-columns.topics-oc-box .event-box .dh-btn a,
.wp-block-columns.topics-oc-box .event-box .dt-btn a  {
    padding: 0.5em 1.2em;
    font-size: 1.2rem;
}


.error404 .site-content {
    padding-top: 4em;
}
.not-page-wrap {
    text-align: center;
}
.error404 main .not-page-wrap p.back {
    margin: 1em auto;
}
.error404 main .not-page-wrap p.back a {
    font-size: 1.2rem;
    font-weight: 500;
}

/* ==========================================================================
    FOOTER
 ========================================================================== */

.contact-wrap {
    padding: 3.5em 1em;
}
.contact-wrap ul {
    margin: 2em auto;
    list-style: none;
    display: flex;
    padding-left: 0;
    justify-content: center;
    align-items: center;
    gap: 3em;
    max-width: 1200px;
}
.contact-wrap ul li {
    flex: 1;
    margin-bottom: 0;
}
.contact-wrap ul li.btn {
    margin: 0;
}
.site-footer {
    background-color: #F2FFFE;
    padding: 1em 1em 3em;
}
.footer-wrap {
    max-width: 1200px;
    margin: 2em auto;
}
.footer-navigation,
#footer-visit-menu-list {
    display: flex;
    gap: 3em;
}
.footer-navigation {
    flex-wrap: wrap;
}
.footer-navigation-wrapper {
    gap: 3em;
}
.footer-navigation-wrapper > li > a,
ul.site-map02 li a,
#footer-visit-menu-list li a {
    background: #D4F3E9;
    text-decoration: none;
    border-radius: 20px;
    display: block;
    padding: 0.3em 1em;
    color: #333;
}
.footer-navigation-wrapper ul.sub-menu {
    padding-left: 1em;
}
.footer-navigation-wrapper ul.sub-menu li {
    display: block;
    margin-bottom: 0.5em;
}

.footer-navigation-wrapper ul.sub-menu li a {
    font-size: 0.8rem;
    padding: 0;
}
ul.site-map02,
#footer-visit-menu-list,
.sns-wrap ul {
    list-style: none;
    padding-left: 0;
}
ul.site-map02 li {
    margin-bottom: 2em;
}
#footer-visit-menu-list li a,
.address p {
    font-size: 1rem;
}
.site-info {
    display: flex;
    margin-top: 3em;
    gap: 4em;
    align-items: center;
    flex-wrap: wrap;
}
.tel-wrap {
    display: flex;
    gap: 2em;
    align-items: center;
    margin-top: 0.5em;
}
.tel-wrap a {
    text-decoration: none;
    color: #333;
}
.tel-wrap h2 {
    font-size: 2rem;
}
.tel-wrap h2 a {
    font-weight: bold;
}
.tel-wrap h2 a:hover i,
.map a:hover i {
    transform: unset;
}
.sns-wrap ul {
    display: flex;
    gap: 2em;
}
.map a {
    background: #D4F3E9;
    display: block;
    padding: 0.3em 1em;
    border-radius: 20px;
}
.map a i {
    color: #00B69B;
    font-size: 1.5rem;
}

.policy-menu ul {
    display: flex;
    gap: 2em;
    list-style: none;
    justify-content: center;
    padding: 2em 1em;
}
.policy-menu ul li a {
    font-size: 0.9rem;
}
#fixedTop {
    right: 20px;
    bottom: 15px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    font-size: 1em;
    text-align: center;
    position: fixed;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    transform: scale(0);
    text-decoration: none;
    z-index: 1;
}
#fixedTop a {
    color: #000;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.5em;
}
#fixedTop a span {
     font-weight: bold;
}
#fixedTop a:hover {
    opacity: 0.8;
    text-decoration: none;
}
#fixedTop a i {
    font-size: 1.3rem;
}
#fixedTop a:hover i {
    transform: unset;
}
#fixedTop.show {
    transform: scale(1);

}
.sp-contact-wrap li.ac-btn a {
    color: #fff;
}
.sp-contact-wrap li.ac-btn a:hover {
    color: #000;
}




@media screen and (min-width:601px) {
table.support-box td.page-link br,
table.support-box td.support-txt br {
    display: none;
}
}


@media screen and (max-width:1394px) {
.subject-container,
.oc-container {
    padding: 0 1em; 
}
}
@media screen and (max-width:1366px) {
.header-wrap,
.site-main .breadcrumb {
    padding: 0 1em;
}
.entry-content,
.single .entry-content {
    margin: 0 1em;
}
.visitor-wrap {
    padding: 2em 1em 0;
}
}
@media screen and (max-width:1280px) {
.wp-block-columns.topics-oc-box .event-box {
    padding: 1em 0.5em;
    flex: 1 1 360px;
    max-width: 360px;
}
body.single .entry-content p.line-txt {
    padding: 2em 0 0;
}
}
@media screen and (max-width:1226px) {
.footer-navigation-wrapper {
    width: 100%;
    justify-content: flex-start;
}
.footer-navigation-wrapper li {
    flex-grow: 1;
}
.site-map02 {
    display: flex;
    gap: 3em;
    width: 100%;
}
#footer-visit-menu-list {
    width: 100%;
}
ul.site-map02 li,
#footer-visit-menu-list li {
    flex: auto;
    text-align: center;
}
}
@media screen and (max-width:1199px) {
.wrap {
    padding: 0 1em;
}
.feat-wrap {
    flex-wrap: wrap;
}
.line-icn {
    left: 31vw;
}
.site-info {
    justify-content: center;
}
}
@media screen and (max-width:1168px) {
.feat-wrap .feat-card {
    width: 100%;
}
.feat-wrap .feat-card:last-child {
    margin-top: 2em;
}
.feat-wrap .feat-card h3 {
    margin: 0;
}
.feat-card p.dh-band, 
.feat-card p.dt-band {
    text-align: center;
}
}
@media screen and (max-width:1120px) {

.site-header {
    padding-top: 0.5em;
}
.site-branding img {
    max-width: 100%;
    width: 170px;
}
h1.site-title {
    letter-spacing: 0.1em;
}
.menu-icn-close {
    display: none;
}
.menu-button-container {
    padding: 0;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
}
.primary-navigation > .primary-menu-container {
    display: flex;
    flex-direction: column;
}
.primary-navigation-open .menu-icn-open,
.side-menu-wrap {
    display: none;
}
.primary-navigation-open .menu-icn-close,
.primary-navigation-open .menu-button-container #primary-mobile-menu .dropdown-icon.close {
    display: block;
}
.primary-navigation-open .primary-navigation > .primary-menu-container {
    padding: 4em 2.5em 7em;
}
ul#primary-menu-list {
    order: 2;
    padding-bottom: 0;
}
ul#visit-menu-list {
    order: 3;
    padding-bottom: 1em;
}
.sp-side-menu {
    display: block;
    order: 1;
    margin-bottom: 2em;
}
.primary-navigation .primary-menu-container > ul > .menu-item-has-children > a {
    padding-right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sp-side-menu-wrap ul,
.sp-contact-wrap ul {
    padding-left: 0;
    list-style: none;
    display: flex;
    gap: 2em;
    flex-wrap: wrap;
}
.primary-navigation .sp-side-menu-wrap ul li.oc-btn,
.sp-contact-wrap ul li.sc-btn {
    width: 100%;
}
.sp-contact-wrap ul li.sc-btn {
    flex: none;
}
.primary-navigation .sp-side-menu-wrap ul li.sc-btn, 
.primary-navigation .sp-side-menu-wrap ul li.btn,
.sp-contact-wrap ul li.btn,
.sp-contact-wrap ul li.ac-btn {
    width: calc(94% / 2);
}
.primary-navigation .sp-side-menu-wrap ul li.btn {
    margin: 0;
}
.primary-navigation .sp-side-menu-wrap ul li.btn a,
.sp-contact-wrap ul li.btn a {
    padding: 0.8em 1.5em;
}
.sub-menu,
ul.footer-menu > li > ul.sub-menu {
    display: none;
    transition: all 0.3s ease;
}

.sub-menu.active,
.sub-menu.active .sub-menu,
ul.footer-menu > li > ul.sub-menu.active,
#menu-item-2199,
.sp-contact-wrap {
    display: block;
}
.sub-menu.active {
    margin-left: 0;
}
.sub-menu.active .sub-menu {
    margin-top: 0.5em;
}
.menu-item-has-children {
    cursor: pointer;
}

.menu-item-has-children > a {
    /*pointer-events: auto;*/ 
}
li.menu-item-451 > a:after,
li.menu-item-458 > a:after,
li.menu-item-470 > a:after,
li.menu-item-459 > a:after,
li.menu-item-1598 > a:after,
li.menu-item-1603 > a:after,
li.menu-item-1611 > a:after,
li.menu-item-1618 > a:after  {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 0.3em;
    content: "\f055";
    font-size: 1.4rem;
    color: var(--defaults-color);
}
li.menu-item-1384 > a:after,
li.menu-item-1402 > a:after {
    display: inline-block;
}
li.menu-item-451.current > a:after,
li.menu-item-458.current > a:after,
li.menu-item-470.current > a:after,
li.menu-item-459.current > a:after,
li.menu-item-1598.current > a:after,
li.menu-item-1603.current > a:after,
li.menu-item-1611.current > a:after,
li.menu-item-1618.current > a:after   {
    content: "\f056";
}
.primary-navigation > div > .menu-wrapper > li {
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}
#menu-item-2199 {
    border-top: 1px solid #ccc;
    padding-top: 0.5em;
}
.primary-navigation .sub-menu {
    border: none;
}
.primary-navigation .menu-wrapper ul.sub-menu.active {
    padding: 1em;
}
.sp-contact-wrap {
    order: 4;
}
.sp-contact-wrap {
    padding: 0;
}
.sp-contact-wrap h2.en {
    font-size: 2.5rem;
}
.sp-contact-wrap ul {
    margin: 0;
}
.footer-navigation-wrapper > li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
}

@media screen and (max-width:1040px) {
.point-box-logo {
    width: 100%;
    text-align: center;
}
.entry-content,
.single .entry-content {
    padding: 2em 1em 4em;
}
}

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

}

@media screen and (max-width:768px) {
*[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator) {
     max-width: unset;
}
.site-main > * {
    margin-bottom: 1em;
}
.primary-navigation .sp-side-menu-wrap ul {
    gap: 1em;
    padding: 0;
}
.primary-navigation .sp-side-menu-wrap ul li {
    margin-bottom: 0;
}
.primary-navigation .sp-side-menu-wrap ul li.sc-btn, 
.primary-navigation .sp-side-menu-wrap ul li.btn,
.sp-contact-wrap ul li.btn, 
.sp-contact-wrap ul li.ac-btn {
    width: 100%;    
}
.bg {
    padding: 1em;
}
.page .site-content, 
.archive .site-content {
    padding-bottom: 3em;
}
.contact-wrap {
    padding: 2em 1em;
}
.contact-wrap ul {
    gap: 1em;
}
.news-wrap .more-btn {
    margin-left: auto;
    margin-right: auto;
    margin-top: 2em;
}
.top-box {
   flex-wrap: wrap;
   justify-content: center;
}

.top-dh-box, 
.top-dt-box {
    flex: auto;
    padding: 0 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.top-dh-box h3 span, 
.top-dt-box h3 span {
    display: inline-block;
    margin-left: 0.5em;
}
.news-wrap,
.contact-wrap ul {
    flex-wrap: wrap;
}
.visitor-wrap ul li {
    flex-grow: 1;
    width: 100%;
}
.line-icn {
    left: 24vw;
}
.contact-wrap ul li {
    width: 100%;
    flex: unset;
}
.footer-navigation-wrapper,
ul.site-map02, #footer-visit-menu-list, 
.sns-wrap ul {
    flex-wrap: wrap;
}
.footer-navigation-wrapper li {
    width: calc(93% / 2);
}
.footer-navigation-wrapper li > ul li {
    width: 100%;
}
.site-footer {
    padding: 1em;
}
.sc-section .info-box {
    max-width: 500px;
}
body.page-id-26 .bg-white .wp-block-group__inner-container {
    padding: 3em 0.5em;
}
ul.sc-btn li {
    width: calc(94% / 2);
}
.entry-content {
    padding: 2em 1em 4em;
    margin: 1em;
}
.entry-content ul.box-list {
    padding: 0;
}
.entry-content ul.box-list li p {
    width: 84%;
}
.entry-content ul.box-list li p.year {
    width: 16%;
}
.card-box {
    flex-wrap: wrap !important;
    gap: 2em;
}
.wp-block-columns .wp-block-column.card {
    flex-basis: unset;
}
/*.wp-block-columns .wp-block-column.card:last-child {
    margin-top: 2em;
}*/ 
.card-box .wp-block-column.card:last-child {
    margin-top: 1em;
}
.subject-container {
    margin-top: 2em;
}
.dh-section,
.sc-section {
    overflow: hidden;
}
.image-box {
    right: -233px;
}
.sc-section .image-box {
    right: 0;
}
.dt-section .image-box {
    right: -276px;
}
ul.dt-btn li, 
ul.dh-btn li {
    width: calc(90% / 2);
}
.bg-white .wp-block-group__inner-container {
    padding: 3em 1em 9em;
}
.bg-color .wp-block-group__inner-container {
    padding: 2em 1em 4em;
}
.bg-white .wp-block-group__inner-container.last, 
.bg-color .wp-block-group__inner-container.last, 
.page .bg-color.last, .page .bg-white.last, 
.page .last .wp-block-group__inner-container {
    padding-bottom: 1px;
}
.oc-box {
    margin: 0 auto 4em;
}
.entry-content p.event-link {
    padding: 0;
}
.oc-box .slick-slide p.event-link a,
p.event-link a {
    padding: 0.3em 0.5em;
    font-size: 1.1rem;
}
.slide-item {
    padding: 1em 0.5em;
}
.oc-post-slider.no-slick {
    gap: 1rem;
}
.visitor-wrap ul {
    gap: 2em;
}
.visitor-wrap ul li {
    margin-bottom: 0;
}
.footer-wrap {
    margin: 0 auto;
}
.footer-navigation-wrapper,
.footer-navigation, 
#footer-visit-menu-list,
.site-map02 {
    gap: 1.5em;
}
.footer-navigation {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.site-info {
    gap: 2em;
    margin-top: 1em;
}
.slick-next {
    right: 0;
}
.slick-prev {
    left: 0;
}
.wp-block-columns .wp-block-column.month-box {
    flex-basis: 19%;
}
.entry-content ul.wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 0 4em;
}
.teaching-photo,
.dh-answer-reverse-photo,
.dt-answer-reverse-photo {
    order: 1;
}
.teaching-txt,
.dh-answer-reverse,
.dt-answer-reverse {
    order: 2;
}
.message-box {
    gap: 0;
}
.message-box .wp-block-column:not(:last-child) {
    margin-bottom: 0;
}
.oc-message-box,
.dh-message-box,
.dt-message-box {
  margin-left: 0; 
  margin-top: 20px;
}
.oc-message-box:before,
.oc-message-box:after,
.dh-message-box:before,
.dh-message-box:after,
.dt-message-box:before,
.dt-message-box:after {
  content: ""; 
  position: absolute;
  top: 0; 
  left: 50%;
  translate: -50% -100%;
}
.oc-message-box:before,
.dh-message-box:before,
.dt-message-box:before {
   border-width: 0 12px 19px 12px;
  border-style: solid;
  border-color: transparent transparent #fff;
  z-index: 1; 
}
.oc-message-box:after,
.dh-message-box:after,
.dt-message-box:after {
  border-width: 0 14px 22px 14px;
  border-style: solid;
  z-index: 0; 
}
.oc-message-box:after {
  border-color: transparent transparent var(--oc-color); 
}
.dh-message-box:after {
  border-color: transparent transparent var(--oc-color); 
}
.dt-message-box:after {
  border-color: transparent transparent var(--dt-color); 
}
.dh-answer-reverse,
.dt-answer-reverse {
    margin-right: 0;
}
.dh-answer-reverse:before,
.dt-answer-reverse:before {
    right: unset;
   border-width: 0 12px 19px 12px;
    border-color: transparent transparent #fff;
}
.dh-answer-reverse:after {
    right: unset;
    border-width: 0 14px 22px 14px;
    border-color: transparent transparent var(--dh-color); 
}
.dt-answer-reverse:after {
    right: unset;
    border-width: 0 14px 22px 14px;
    border-color: transparent transparent var(--dt-color); 
}
.event-box {
    max-width: 315px;
}
.wp-block-columns .oc-message-box {
    margin-top: 0.5em;
}
:where(.wp-block-columns.is-layout-flex) {
    gap: 1em;
}
.wp-block-columns .wp-block-column:not(:last-child) {
    margin-bottom: 0;
}
.last-event-wrap {
    margin-top: 1em;
}
.entry-content .wp-block-list.program {
    padding-left: 1em;
}
.single .wp-block-buttons>.wp-block-button.wp-block-button__width-75,
.single .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
    width: 100%;
}
.wp-block-group .wp-block-group__inner-container > h4.oc-contact {
    margin-top: 1em;
}
.single.cat-oc-dh .entry-header, 
.single.cat-oc-dt .entry-header {
    margin-top: 2em;
}
.single .site-main .entry-content {
    margin-bottom: 2em;
}
.smf-radio-buttons-control__control {
    flex-wrap: wrap;
}
.wp-block-columns.topics-oc-box {
    gap: 2em;
}
.wp-block-columns.topics-oc-box .event-box {
    flex: 1 1 300px;
    max-width: 300px;
}
}

@media screen and (max-width:600px) {
body {
    font-size: 1rem;
}
h1.site-title {
    font-size: 0.8rem;
}
.site-branding img {
   width: 130px;
}
.menu-button-container {
   top: 10px;
   right: 15px;
}
.wrap {
    padding: 0 0.5em;
}
.bg {
    padding: 1em 0.5em;
}
.bg-paper {
    padding-bottom: 2em;
}
.site-header {
    padding-bottom: 0.8em;
}
.primary-navigation-open .primary-navigation > .primary-menu-container {
        padding: 4em 1em 7em;
}

.news-wrap ul li {
    display: block;
}
.primary-navigation .sp-side-menu-wrap ul li.sc-btn, 
.primary-navigation .sp-side-menu-wrap ul li.btn, 
.sp-contact-wrap ul li.btn, 
.sp-contact-wrap ul li.ac-btn {
    width: 100%;
}
.primary-navigation .sp-side-menu-wrap ul li.oc-btn a,
.primary-navigation .sp-side-menu-wrap ul li.sc-btn a, 
.primary-navigation .sp-side-menu-wrap ul li.btn a, 
.sp-contact-wrap ul li.btn a, 
.sp-contact-wrap ul li.ac-btn a,
.sp-contact-wrap ul li.sc-btn a {
    padding: 0.8em 1em;
    font-size: 1.2rem;
}


.sp-contact-wrap ul li,
.sp-contact-wrap ul li.btn {
    margin-bottom: 1em;
}
.news-wrap ul,
.news-wrap .more-btn {
    width: 100%;
}
.news-wrap .more-btn {
    text-align: center;
}
.more-btn a,
.more-topics a, 
.more-instagram a {
    font-size: 1.1rem;
    padding: 0.8em 1em;
}
.back a {
    padding: 0.3em 1.5em;
}
.more-topics a, 
.more-instagram a {
    width: 100%;
    text-align: center;
}
.site-main .breadcrumb {
    text-align: left;
}
.entry-content {
    padding: 2em 0.5em;
    margin: 1em 0.5em;
}
.entry-content ul, 
.entry-content ol {
    padding: 0 1em 0 2em;
}
.entry-content ul li > ul {
    padding-left: 1em;
}
.main-visual {
    display: none;
}
.sp-main-visual {
    display: block;
}
#metaslider-id-2542 .flexslider:not(.filmstrip) ul.flex-direction-nav a.flex-prev {
    right: 35px;
}
#metaslider-id-2542 .flexslider:not(.filmstrip) ul.flex-direction-nav a.flex-next {
    right: 0px;
}
#metaslider-id-2542 .flexslider:not(.filmstrip) ul.flex-direction-nav a {
    bottom: -10px;
}




/* フォント */

.entry-content p {
    padding: 0 0.5em;
}
.news-wrap h2 {
    font-size: 2.5rem;
}
h1.title {
    font-size: 2.3rem;
}
.entry-header h1.entry-title,
body.cat-oc-dh .entry-header h1.entry-title,
body.cat-oc-dt .entry-header h1.entry-title,
.site-main .post-category-label {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
h2,
.feat-card h3,
.sc-section h2,
body.page-template-page-dt .entry-content h2, 
body.page-template-page-dh .entry-content h2, 
body.page-template-page-college .entry-content h2,
body.page-id-64 .entry-content h2, 
body.page-id-62 .entry-content h2.about-title,
body.page-id-2657 .entry-content h2.about-title {
    font-size: 1.35rem;
}

body.page-id-64 .entry-content h2, 
body.page-id-62 .entry-content h2.about-title,
body.page-id-2657 .entry-content h2.about-title {
    line-height: 1.5;
}
.page .entry-content h2 {
    font-size: 1.35rem;
    letter-spacing: 0.1em;
}
h3,
.top-box h3 {
    font-size: 1.25rem;
}
h4 {
    font-size: 1.16rem;
}
.entry-content h4 {
    padding: 0.5em 0.5em 0.5em 1.5em;
}
.entry-content h4:before {
    left: 7px;
}
.entry-content h4:not(:first-of-type) {
    margin-top: 1em;
}
body.parent-pageid-456 .entry-content h5, 
body.parent-pageid-36 .entry-content h5,
.sc-card ul li {
    font-size: 1.1rem;
}
.feat-card {
    padding: 2em 1em;
}
.feat-card .point-num {
    font-size: 2rem;
    width: 55px;
    height: 55px;
}
.point-box {
    gap: 1em;
    padding: 1em 0;
}
.point-box p {
    font-size: 1rem;
    width: 90px;
    height: 90px;
}
.point-box-txt {
    display: block;
    text-align: center;
}
.point-box-txt p.band {
    font-size: 1.4rem;
    margin-bottom: 0.5em;
}
.point-box-txt img {
    margin-bottom: 0.5em;
}
h2.en {
    font-size: 2.5rem;
    line-height: 1.5;
}
.oc-wrap p.oc-txt, 
p.s-txt,
.bg-line p,
.bg-line h3,
ul.site-map02 li, 
#footer-visit-menu-list li {
    text-align: left;
}
.oc-next-date {
    padding: 1em 0 0;
    margin: 2em auto 3em;
    display: block;
    width: 95%;
    text-align: center;
}
.oc-post-slider.no-slick {
    flex-wrap: wrap;
}
.oc-post-slider.no-slick .slide-item {
    margin: 0 0 1em;
    max-width: 90%;
}
.top-btn,
p.dt-link-btn a, 
p.dh-link-btn a {
    width: 100%;
}
ul.dt-btn li a, 
p.dt-link-btn a, 
ul.dh-btn li a, 
p.dh-link-btn a, 
ul.sc-btn li a, 
.sc-btn a, 
p.event-link a, 
p.oc-btn-more a, 
.exam-btn a, 
.ad-btn a, 
.gd-btn a, 
.line-btn a, 
.ac-btn a, 
.oc-btn a, 
.dh-btn a, 
.dt-btn a,
.top-box .dh-link-btn a, 
.top-box .dt-link-btn a,
.wp-block-button .wp-block-button__link,
.btn a {
    padding: 0.8em;
    font-size: 1.1rem;
}
.point-box-txt p .feat-txt {
    font-size: 1.4rem;
}

.top-dh-wrap {
    padding: 1.5em 0.5em 11em;
}

.top-dh-box, 
.top-dt-box {
    padding: 0 0.5em;
}
.top-info h2 {
    font-size: 2.2rem;
}
.top-dh-box, 
.top-dt-box {
    align-items: flex-start;
}
.top-box .dh-link-btn, 
.top-box .dt-link-btn {
    align-self: center;
    width: 100%;
}
.oc-next-date h4 {
    padding-bottom: 0;
}
.top-dh-box h3 span, 
.top-dt-box h3 span {
    display: block;
    margin-left: 0;
}
.top-dt-wrap {
    padding: 3em 0.5em;
}
.visitor-wrap ul,
.contact-wrap ul,
.footer-navigation-wrapper,
.top-box,
.site-map02,
#footer-visit-menu-list {
    gap: 1em;
}
.more-topics {
    margin: 3em auto 0;
}
.line-icn {
   left: 0vw;
   top: -35px;
}
.bg-line {
    padding: 1em 0.5em;
}
.bg-line h3 {
    margin-bottom: 0;
}
.line-btn a,
.footer-navigation-wrapper li,
ul.site-map02 li {
    width: 100%;
}
.contact-wrap {
    padding: 2em 1em;
}
.no-widgets .site-footer {
    margin-top: 0;
}
.footer-navigation {
    margin-top: 0;
    gap: 1em;
}
ul.site-map02 li {
    margin-bottom: 1em;
}
.site-info {
    margin-top: 1em;
    gap: 1em;
}
.tel-wrap {
    gap: 1em;
    justify-content: center;
    flex-wrap: wrap;
}
.tel-wrap p.map {
    flex-grow: 1;
    text-align: center;
}
.sns-wrap {
    margin-top: 1em;
}
.footer-wrap {
    margin: 1em auto;
}
.policy-menu ul {
    display: block;
}
.policy-menu ul li {
    margin-bottom: 0.5em;
}
.subject-container {
    margin-top: 0;
}

.sc-section .info-box {
    padding: 1em 0.5em;
}
p.bold {
    margin: 0;
}
.image-box {
    position: static;
}
.sc-section {
    margin-bottom: 0;
}
body.page-id-26 .bg-white .wp-block-group__inner-container {
    padding: 1em 0.5em;
}
.page .entry-content h2 {
    padding: 0.3em 0.5em;
    margin: 2em 0 1em;
}
body.page-template-page-college .entry-content h2.about-title {
    padding: 0.5em 0.5em 0.8em;
}
ul.sc-btn li {
    width: 100%;
}
.singular .entry-header, 
.archive .entry-header,
.site-main .post-category-label {
    margin-top: 1em;
    margin-bottom: 2em;
}
.entry-content ul.box-list li {
    flex-wrap: wrap;
}
.entry-content ul.box-list li p,
.entry-content ul.box-list li p.year {
    width: 100%;
    margin: 0;
}
.wp-block-column.card h3.wp-block-heading {
    padding: 0.5em;
}
.card {
    padding: 1.5em 1em;
}
.card-box {
    gap: 3em;
}
.card-box .wp-block-column.card:last-child {
    margin-top: 0;
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 1em;
}
.info-box {
    padding: 0;
}
.bg-white .wp-block-group__inner-container {
    padding: 1em 0.5em 8em;
}
.bg-color .wp-block-group__inner-container {
    padding: 1em 1em 2em;
}
p.txt {
    width: 100%;
    text-align: left;
}
p.txt br,
span.point-txt br {
    display: none;
}
ul.dt-btn, 
ul.dh-btn, 
ul.sc-btn {
    margin: 2em 0 2em;
    padding: 0;
}
ul.dt-btn li, 
ul.dh-btn li {
    width: 100%;
}
.page .bg-color {
    margin-top: -5em;
}
.entry-content p.dt-link-btn, 
.entry-content p.dh-link-btn {
    padding: 0;
}
.wp-block-details {
    border-radius: 20px;
}
body.page-id-456 .wp-block-details,
body.page-id-36 .wp-block-details,
body.page-id-64 .wp-block-details {
    width: 100%;
}
.wp-block-details > p {
    padding: 0 1em 1em;
}
.page .contact-wrap,
.archive .contact-wrap,
.single .contact-wrap {
    display: none;
}
.page .sp-contact-wrap,
.archive .sp-contact-wrap,
.single .sp-contact-wrap  {
    display: block;
}
.page .entry-content h2.month {
    line-height: 1;
    padding: 0;
}
table:not(.table-box table, .has-fixed-layout) td,
table:not(.table-box table, .has-fixed-layout) th {
    display: block;
    border-top: none;
}
table:not(.table-box table, .has-fixed-layout) tr:first-child td:first-child,
table:not(.table-box table, .has-fixed-layout) tr:first-child th:first-child {
    border-top: 1px solid;
}
table:not(.table-box table, .has-fixed-layout) td:first-child {
    width: 100%;
}
.dh-line table td:first-child,
.dt-line table td:first-child {
    border-bottom: 1px solid;
}
span.point-num {
    width: 50px;
}
body.page-id-938 p.photo-txt,
body.page-id-40 p.photo-txt {
    padding: 0.5em;
}
.wp-block-image .alignright,
.wp-block-image .alignleft  {
    float: none;
    margin: 0 auto;
}
.slide-item {
    margin: 1em auto;
}
p.dh-more a,
p.dt-more a {
    display: block;
}
.oc-container {
    flex-wrap: wrap;
}
.oc-section .info-box {
    padding: 0;
    margin-right: 0;
    width: 100%;
    order: 2;
    margin-top: -4em;
}
h1.oc-title {
    text-align: left;
}
body.page-id-64 .entry-content h2.about-title,
body.page-id-62 .entry-content h2.about-title,
body.page-id-2657 .entry-content h2.about-title {
    margin-bottom: 0;
    padding-bottom: 0.5em;
}
.oc-section h2 span {
    display: block;
}
.last-event-wrap,
#footer-visit-menu-list {
    margin-top: 1em;
}
body.page-id-62 .entry-content p.line-txt,
.entry-content p.copy {
    font-size: 1.1rem;
    line-height: 1.5;
    text-align: center;
}
.entry-content p.copy {
    letter-spacing: 0.1em;
    padding: 0;
}
.pie-chart-wrap .box .text {
    padding: 0;
    margin: 0.5em 0 0;
    font-size: 1rem;
}
.pie-chart-wrap {
    gap: 0;
}
.pie-chart-wrap .box {
    height: 260px;
}
body.page-id-170 .entry-content h3 {
    display: flex;
    align-items: center;
    padding: 0.5em;
    gap: 0.5em;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
}
.tag-balloon {
    flex-basis: 33%;
    margin-left: 0;
}
.wp-block-columns.box .wp-block-image img {
    width: 150px;
}
.smf-action {
    gap: 0;
    flex-wrap: wrap;
}
.smf-action .smf-button-control__control {
    margin: 0 0 2em;
}
.smf-action .smf-button-control+.smf-button-control {
    margin-left: 0;
}
.excerpt-wrap {
    display: block;
}
.excerpt-wrap h2.entry-title {
    font-size: 1rem;
}
body.category-info .entry-content {
     padding: 1em 0.5em;
}
.excerpt-header {
    margin: 0;
}
.page .site-content, 
.archive .site-content {
    padding-bottom: 1em;
}
.single .entry-header h1.entry-title {
    font-size: 1.4rem;
}
.single .entry-content {
    padding: 2em 0.8em;
}
.post-meta {
    flex-wrap: wrap;
}
.single .entry-content h2 {
    font-size: 1.3rem;
}
.single .entry-content h3 {
    font-size: 1.2rem;
}
.single .entry-content h4 {
    font-size: 1.1rem;
}
.single .entry-content h3:first-of-type {
    margin: 0 0 1em;
}
.oc-box {
    margin: 0;
}
.wp-block-columns.topics-oc-box .event-box {
    max-width: 98%;
}
.wp-block-columns.topics-oc-box .event-box .dh-btn a, 
.wp-block-columns.topics-oc-box .event-box .dt-btn a {
    font-size: 1.1rem;
    padding: 0.8em;
}
body.page-template-page-college .entry-content {
    margin: 1em auto 0;
}
.wp-block-details summary {
    gap: 0.3em;
}
.single.cat-oc-dh .entry-header,
.single.cat-oc-dt .entry-header {
    margin: 0.5em;
}
body.cat-oc-dh .entry-header h1.entry-title,
body.cat-oc-dt .entry-header h1.entry-title {
    font-size: 1.8rem;
}
.entry-header h1.entry-title span.en {
    display: block;
    margin-left: 0;
}
body.cat-oc-dh .entry-content h2.pro-title, 
body.cat-oc-dt .entry-content h2.pro-title,
body.parent-pageid-2657 .entry-content h2.pro-title {
    font-size: 1.8rem;
}
.entry-content p.end {
    margin-bottom: 1em;
    letter-spacing: 0.05em;
}
.program li {
    padding-bottom: 1em;
}
.program li.lesson {
    padding: 1em 1em 1.2em 1.8em;
}
body.page-id-942 .line-txt, 
body.page-id-46 .line-txt {
    font-size: 1.3rem;
    line-height: 1.6;
    text-align: center;
}
body.page-id-942 .wp-block-columns.box .wp-block-image img,
body.page-id-46 .wp-block-columns.box .wp-block-image img {
    width: auto;
}
.primary-navigation > div > .menu-wrapper li > ul li {
    margin-bottom: 0;
}
.sp-contact-wrap {
    padding: 1em 0 2em;
}

}
