@charset "UTF-8";
/*!
Theme Name: up
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: up
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

up is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments
# up-educational-project
## up-educational-project foundation
	- base

--------------------------------------------------------------*/
.has-corporate-1-color {
	color: #094;
}

.has-corporate-1-background-color {
	background-color: #094;
}

.has-corporate-2-color {
	color: #cce8d0;
}

.has-corporate-2-background-color {
	background-color: #cce8d0;
}

.has-corporate-3-color {
	color: #e1efe8;
}

.has-corporate-3-background-color {
	background-color: #e1efe8;
}

.has-corporate-4-color {
	color: #f4f8f6;
}

.has-corporate-4-background-color {
	background-color: #f4f8f6;
}

.has-marigold-color {
	color: #ffb134;
}

.has-marigold-background-color {
	background-color: #ffb134;
}

.has-cream-yellow-color {
	color: #ffe489;
}

.has-cream-yellow-background-color {
	background-color: #ffe489;
}

.has-red-color {
	color: #d62533;
}

.has-red-background-color {
	background-color: #d62533;
}

.has-pink-white-color {
	color: #fff7f7;
}

.has-pink-white-background-color {
	background-color: #fff7f7;
}

.has-dark-gray-color {
	color: #333;
}

.has-dark-gray-background-color {
	background-color: #333;
}

.has-gray-color {
	color: #999;
}

.has-gray-background-color {
	background-color: #999;
}

.has-light-gray-1-color {
	color: #ddd;
}

.has-light-gray-1-background-color {
	background-color: #ddd;
}

.has-light-gray-2-color {
	color: #eaeaea;
}

.has-light-gray-2-background-color {
	background-color: #eaeaea;
}

.has-light-gray-3-color {
	color: #f2f2f2;
}

.has-light-gray-3-background-color {
	background-color: #f2f2f2;
}

.has-white-color {
	color: #fff;
}

.has-white-background-color {
	background-color: #fff;
}

.has-black-color {
	color: #000;
}

.has-black-background-color {
	background-color: #000;
}

/*--- 無効化(footer.phpで定義 ----------------------------------
@font-face {
	font-family: "Noto Serif JP";
	src: url("/wp-content/themes/up/fonts/NotoSerifJP-Light.otf") format("opentype");
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("/wp-content/themes/up/fonts/NotoSerifJP-Bold.otf") format("opentype");
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	src: url("/wp-content/themes/up/fonts/NotoSansJP-Light.otf") format("opentype");
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	src: url("/wp-content/themes/up/fonts/NotoSansJP-Regular.otf") format("opentype");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	src: url("/wp-content/themes/up/fonts/NotoSansJP-Bold.otf") format("opentype");
	font-weight: 700;
	font-display: swap;
}
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! 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;
	-webkit-text-size-adjust: 100%;
}

/* 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;
	height: 0;
	overflow: visible;
}

/**
 * 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, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 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;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * 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, monospace;
	font-size: 1em;
}

/**
 * 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;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	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;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

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

/**
 * 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;
	outline-offset: -2px;
}

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

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

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
/*	font-family: "Noto Sans JP", Arial, sans-serif;*/
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "Noto Sans CJK JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
}

h1,
h2,
h3,
h4 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "Noto Sans CJK JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif;
	font-weight: bold;
}

@media screen and (min-width: 768px) {
	body,
	button,
	input,
	select,
	optgroup,
	textarea {
		font-weight: 300;
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin: 0;
}

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

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #f4f8f6ee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #cce8d0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #eaeaea;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

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

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

figure {
	margin: 0;
}

table {
	margin: 0;
	width: 100%;
}

/* Links
--------------------------------------------- */
a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
	text-decoration: underline;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

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="range"]: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,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

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

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

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

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	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. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width: 100%;
	height: auto;
}

.entry-content .alignfull {
	margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
	width: calc(var(--vw, 1vw) * 100);
	min-width: 320px;
}

@media screen and (min-width: 768px) {
	.entry-content .alignfull {
		margin: 0 calc(50% - (1220px / 2));
		width: 1220px;
	}
}

@media screen and (min-width: 1220px) {
	.entry-content .alignfull {
		margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
		width: calc(var(--vw, 1vw) * 100);
	}
}

/*--------------------------------------------------------------
## breadcrumbs
--------------------------------------------------------------*/
#breadcrumbs {
	background-color: #e7e7e7;
	padding: 4px 15px;
	font-size: 12px;
	line-height: 1.4;
	color: #363636;
	margin: 0;
}

#breadcrumbs > span {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 5px;
	max-width: 1140px;
	margin: 0 auto;
}

#breadcrumbs > span > span a,
#breadcrumbs > span > span span {
	color: #363636;
	text-decoration: none;
}

/* 現在ページ（最終階層、リンクなし）はYoast標準出力の
   .breadcrumb_last クラスが付与される（研伸館の現行CSSで確認済み） */
#breadcrumbs > span > span.breadcrumb_last {
	font-size: 14px;
	font-weight: 500;
	color: #181818;
}

/*--------------------------------------------------------------
# up-educational-project
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## up-educational-project component
--------------------------------------------------------------*/
.head-h1__wrap {
	margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
	width: calc(var(--vw, 1vw) * 100);
	background-color: #eb651a;
}

h1,
.head-h1 {
	margin: 0;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	padding: 16px 15px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
}

@media screen and (min-width: 768px) {
	h1,
	.head-h1 {
		padding: 16px;
		font-size: 30px;
	}
}

h2 {
	position: relative;
	margin: 0 0 32px;
	padding-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #363636;
}

h2::before,
h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	height: 2px;
}

h2::before {
	left: 0;
	width: 80px;
	background-color: #eb651a;
}

h2::after {
	left: 80px;
	right: 0;
	background-color: #ccc;
}

.c-h2-sub {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #181818;
}

.c-h2-sub + h2 {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	h2 {
		margin-bottom: 40px;
		font-size: 24px;
	}
	.c-h2-sub {
		font-size: 16px;
	}
}

.c-h2-top {
	position: relative;
	margin: 0;
	padding-bottom: 16px;
	margin-bottom: 32px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	color: #363636;
	text-align: center;
}

.c-h2-top::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background-color: #eb651a;
}

.c-h2-top::before{
	content: none;
}

@media screen and (min-width: 768px) {
	.c-h2-top {
		font-size: 36px;
	}
	.c-h2-top::after {
		width: 120px;
	}
}

h3 {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: #eb651a;
}

@media screen and (min-width: 768px) {
	h3 {
		margin-bottom: 24px;
		font-size: 20px;
	}
}

h4 {
	margin: 0 0 16px;
	padding-left: 16px;
	border-left: 3px solid #eb651a;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #363636;
}

.wp-block-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.wp-block-list li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #363636;
}

.wp-block-list li::before {
	content: "";
	flex-shrink: 0;
	display: block;
	width: 6px;
	height: 6px;
	margin-top: 10px;
	border-radius: 50%;
	background-color: #eb651a;
}

.wp-block-list li > ul,
.wp-block-list li > ol {
	width: 100%;
	margin: 4px 0 0;
}

.c-end-message {
	text-align: center;
	font-size: 24px;
	margin-bottom:24px;
	color: #fff;
	background-color: #d62533;
	padding: 16px;
}

.c-text-decoration {
	display: inline-block;
	border-radius: 4px;
	color: #fff;
	font-weight: bold;
	font-size: 0.8em;
	padding: 0.1em 0.3em;
	vertical-align: text-bottom;
}

.c-text-decoration--skyblue {
	background-color: #48afe5;
	border: 1px solid #48afe5;
}

.c-text-decoration--yellow {
	background-color: #fdce50;
	border: 1px solid #fdce50;
}

.c-text-decoration--limegreen {
	background-color: #8ec31f;
	border: 1px solid #8ec31f;
}

.c-text-decoration--red {
	background-color: #d62533;
	border: 1px solid #d62533;
}

.c-text-decoration--corporate1-frame {
	background-color: #fff;
	color: #094;
	border: 1px solid #094;
}

.c-text-decoration--corporate1 {
	background-color: #094;
	border: 1px solid #094;
}

strong,
.u-strong,
strong-warning,
.u-strong-warning,
strong-maker,
.u-strong-maker {
	font-weight: bold !important;
}

strong-warning,
.u-strong-warning {
	color: #d62533 !important;
}

strong-maker,
.u-strong-maker {
	padding: 2px 8px !important;
	margin: 0 4px;
	background-color: #ffe489 !important;
}

.has-text-align-center {
	text-align: center !important;
}

.has-text-align-right {
	text-align: right !important;
}

.u-text-corporate-1 {
	color: #094 !important;
}

.u-text-corporate-2 {
	color: #cce8d0 !important;
}

.u-text-corporate-3 {
	color: #d9e8e1 !important;
}

.u-text-corporate-4 {
	color: #e1efe8 !important;
}

.u-text-corporate-5 {
	color: #f4f8f6 !important;
}

@media screen and (min-width: 768px) {
	strong-maker,
	.u-strong-maker {
		padding: 4px 4px !important;
	}
	.c-end-message {
		padding: 24px 0;
	}
}

ul,
ol {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

li ul,
li ol {
	margin: 8px 0 0 16px;
}

ol li::marker,
ul li::marker {
	content: none;
}

li {
	position: relative;
	margin: 8px 0 0;
}

li:first-child {
	margin-top: 0;
}

li > p:first-child {
	margin-top: 0;
}

dl {
	margin: 0;
}

dt,
dd {
	margin: 0;
}

li::before {
	content: "・";
	display: inline-block;
}

.is-style-note li::before {
	content: "※";
}

ol {
	counter-reset: item;
}

ol > li {
	list-style-type: none;
}

ol > li::before {
	counter-increment: item;
	content: counter(item) ".";
}

.is-style-note-number {
	counter-reset: item;
	list-style-type: none;
}

.is-style-note-number li::before {
	counter-increment: item 1;
	content: "※" counter(item);
}

.is-style-note-number ul,
.is-style-note-number ol {
	counter-reset: item;
}

.c-change-content {
	display: none;
	border: 1px solid #eaeaea;
	padding: 8px;
	margin-top: 8px;
}

.c-change-content.is-active {
	display: block;
}

.c-list-flow {
	padding-left: 0;
	counter-reset: item;
	list-style-type: none;
}

.c-list-flow__title {
	position: relative;
	padding: 24px 24px 24px 64px;
	font-weight: bold;
}

.c-list-flow__title p {
	font-weight: bold;
}

.c-list-flow__title p:first-child {
	margin-top: 0;
}

.c-list-flow__title ul:first-child,
.c-list-flow__title ol:first-child {
	margin-top: 0;
}

.c-list-flow__title ul:first-child li:first-child,
.c-list-flow__title ol:first-child li:first-child {
	margin-top: 0;
}

.c-list-flow__title::before {
	counter-increment: item 1;
	content: "0" counter(item);
	left: 21px;
	color: #094;
	font-size: 28px;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
}

.c-list-flow__content {
	padding: 0 24px 24px;
}

.c-list-flow__content p:first-child {
	margin-top: 0;
}

.c-list-flow__content ul:first-child,
.c-list-flow__content ol:first-child {
	margin-top: 0;
}

.c-list-flow__content ul:first-child li:first-child,
.c-list-flow__content ol:first-child li:first-child {
	margin-top: 0;
}

.c-list-flow__item {
	border: 1px solid #eaeaea;
	margin: 24px 0 0 0;
	position: relative;
}

.c-list-flow__item::before {
	content: none;
}

.c-list-flow__item::after {
	content: "";
	display: block;
	position: absolute;
	border-style: solid;
	border-width: 16px 18px 0 18px;
	border-color: #cce8d0 transparent transparent transparent;
	left: 50%;
	transform: translateX(-50%);
	bottom: -17px;
}

.c-list-flow--no-arrow .c-list-flow__item::after {
	content: none;
}

.c-list-flow__item {
	transition: ease-out 0.2s;
}

.c-list-flow__item:last-child::after {
	content: none;
}

.u-column {
	display: flex;
	flex-wrap: wrap;
	margin: -12px;
}

.u-column [class^="u-column-"] {
	margin: 12px;
}

.u-column__wrap {
	overflow: hidden;
}

.u-column--sp-row .u-column-2 {
	width: calc(50% - 12px * 2);
}

.u-column--sp-row .u-column-3 {
	width: calc(50% - 12px * 2);
}

.u-column--sp-row .u-column-3-2 {
	width: calc(50% - 12px * 2);
}

.u-column--sp-row .u-column-4 {
	width: calc(50% - 12px * 2);
}

.u-grid-1 {
	width: calc(8.33% - 12px * 2);
}

.u-grid-2 {
	width: calc(16.66% - 12px * 2);
}

.u-grid-3 {
	width: calc(25% - 12px * 2);
}

.u-grid-4 {
	width: calc(33.33% - 12px * 2);
}

.u-grid-5 {
	width: calc(41.66% - 12px * 2);
}

.u-grid-6 {
	width: calc(50% - 12px * 2);
}

.u-grid-7 {
	width: calc(58.33% - 12px * 2);
}

.u-grid-8 {
	width: calc(66.66% - 12px * 2);
}

.u-grid-9 {
	width: calc(75% - 12px * 2);
}

.u-grid-10 {
	width: calc(83.33% - 12px * 2);
}

.u-grid-11 {
	width: calc(91.66% - 12px * 2);
}

.u-grid-12 {
	width: calc(100% - 12px * 2);
}

.u-column-2 {
	width: calc(100% - 12px * 2);
}

.u-column-3 {
	width: calc(100% - 12px * 2);
}

.u-column-4 {
	width: calc(100% - 12px * 2);
}

.u-column-2 {
	width: calc(100% - 12px * 2);
}

.u-column-3 {
	width: calc(100% - 12px * 2);
}

.u-column-4 {
	width: calc(100% - 12px * 2);
}

/* カラムブロック 間隔（gap）
 * my-block-editor.js の独自パネル（カラムブロック専用）で選択した値に応じて付与されるクラス
 * WP標準の「間隔」コントロール（blockGap）はcore/columnsのみ無効化しているため、このクラスのみで制御する */
.wp-block-columns.is-gap-36 {
	gap: 36px;
}

.wp-block-columns.is-gap-24 {
	gap: 24px;
}

.wp-block-columns.is-gap-pc24sp10 {
	gap: 10px;
}

@media screen and (min-width: 768px) {
	.wp-block-columns.is-gap-pc24sp10 {
		gap: 24px;
	}
}

/* wp標準のカラムカスタマイズ
 * sp時 横幅100%
 * .is-style-sp-2-col 配下の時のみ width:50% */
.wp-block-columns {
	margin-bottom: 0;
}



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

.wp-block-columns .wp-block-column ul:first-child,
.wp-block-columns .wp-block-column ol:first-child {
	margin-top: 0;
}

.wp-block-columns .wp-block-column ul:first-child li:first-child,
.wp-block-columns .wp-block-column ol:first-child li:first-child {
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	.is-style-sp-2-col .wp-block-column:not(:only-child) {
		flex-basis: calc(50% - 12px) !important;
	}
	.is-style-sp-2-col .wp-block-column:nth-child(2n) {
		margin-top: 0;
		margin-left: 24px;
	}
	.is-style-sp-2-col .wp-block-column:nth-child(n + 2) {
		margin-top: 0;
	}
	.is-style-sp-2-col .wp-block-column:nth-child(n + 3) {
		margin-top: 24px;
	}
}
/* ▼SP時3カラム表示（2024.8.31追加） */
@media screen and (max-width: 768px) {
	.wp-block-columns.is-style-sp-3-col {
		align-items: baseline;
	}
	.wp-block-columns.is-style-sp-3-col .wp-block-column:not(:only-child) {
		flex-basis: calc(33.3% - 16px) !important;
	}
	.wp-block-columns.is-style-sp-3-col .wp-block-column:nth-child(-n+3) {
		margin-top: 0;
	}
	.wp-block-columns.is-style-sp-3-col .wp-block-column:nth-child(3n),
	.wp-block-columns.is-style-sp-3-col .wp-block-column:nth-child(3n+2) {
		margin-left: 24px;
	}
	/* .u-button-margin-narrow（2024.9.5追加） */
	.wp-block-columns.is-style-sp-3-col.u-button-margin-narrow .wp-block-column:not(:only-child) {
		flex-basis: calc(33.3% - 8px) !important;
	}
	.wp-block-columns.is-style-sp-3-col.u-button-margin-narrow .wp-block-column:nth-child(3n),
	.wp-block-columns.is-style-sp-3-col.u-button-margin-narrow .wp-block-column:nth-child(3n+2) {
		margin-left: 12px;
	}
}
/*@media screen and (max-width: 768px) {
	.wp-block-columns.is-style-sp-3-col {
		flex-wrap: nowrap;
		align-items: baseline;
	}
	.wp-block-columns.is-style-sp-3-col .wp-block-image {
		margin-top: 0;
	}
}*/

@media screen and (min-width: 768px) {
	.u-column [class^="u-column-"]:nth-child(n + 3) {
		display: block;
	}
	.u-column--sp-row .u-column-2 {
		width: calc(50% - 12px * 2);
	}
	.u-column--sp-row .u-column-3 {
		width: calc(33.33% - 12px * 2);
	}
	.u-column--sp-row .u-column-3-2 {
		width: calc(66.66% - 12px * 2);
	}
	.u-column--sp-row .u-column-4 {
		width: calc(25% - 12px * 2);
	}
	.u-column-2 {
		width: calc(50% - 12px * 2);
	}
	.u-column-3 {
		width: calc(33.33% - 12px * 2);
	}
	.u-column-4 {
		width: calc(25% - 12px * 2);
	}
}

a {
	color: #1889D3;
	text-decoration: none;
	transition: ease-out 0.2s;
}

a:hover {
	text-decoration: underline;
}

a[target="_blank"], a[href$=".pdf"] {
	padding-right: 0.2em;
}

a[target="_blank"]::before, a[href$=".pdf"]::before, a[target="_blank"]::after, a[href$=".pdf"]::after {
	display: inline-block;
	width: 1em;
	height: 0.8em;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}

a[target="_blank"]::after, a[href$=".pdf"]::after {
	content: "";
	margin-left: 0.1em;
}

.is-style-icon-left a[href$=".pdf"],
.is-style-icon-left a[target="_blank"] {
	padding-right: 0;
}

.is-style-icon-left a[href$=".pdf"]::before,
.is-style-icon-left a[target="_blank"]::before {
	content: "";
	margin-left: 0;
	margin-right: 0.1em;
}

.is-style-icon-left a[href$=".pdf"]::after,
.is-style-icon-left a[target="_blank"]::after {
	content: none;
	margin-right: 0;
}


a[href$=".pdf"]::before, a[href$=".pdf"]::after {
	width: 1.8em;
	height: 1.2em;
	vertical-align: text-bottom;
	background-image: url("/wp-content/themes/up/images/commons/icon-btn-pdf.png");
}

.c-link-circle-arrow > a,
.c-link-circle-arrow > span, .c-anchor-link > a {
	position: relative;
	padding-left: 24px;
	display: inline-block;
}

.c-link-circle-arrow > a::before,
.c-link-circle-arrow > span::before, .c-anchor-link > a::before {
	width: 16px;
	height: 16px;
	background-image: url("/wp-content/themes/up/images/commons/icon-circle-link.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	top: 52%;
	transform: translateY(-50%);
	position: absolute;
	content: "";
	display: inline-block;
	left: 4px;
}

.c-news {
	margin-top: 32px;
}

.c-news__item {
	display: flex;
	flex-direction: column;
	position: relative;
	padding-bottom: 16px;
}

.c-news__item:nth-child(n + 2) {
	margin-top: 8px;
}

.c-news__item::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #ddd, #ddd 3px, transparent 3px, transparent 6px);
	background-size: 6px 1px;
	background-repeat: repeat-x;
}

.c-news__date {
	font-size: 16px;
	font-weight: bold;
	display: inline-block;
	margin-top: 0;
}

.c-news__tag {
	margin: 0 0 0 8px;
	display: inline-block;
	padding: 4px 8px;
	font-size: 10px;
	background-color: #f4f8f6;
}

.c-news__tag--new {
	font-size: 12px;
	padding: 2px 8px;
	color: #fff;
	background-color: #d62533;
	border-radius: 15px;
}

.c-news .c-news__link {
	margin-top: 8px;
}

.c-news .c-news__link::after {
	content: none;
}

/* 2024.4.4 add start */
.c-news.is-new {
	display: block!important;
}

.c-news:nth-of-type(n+5) {
	display: none;
}
.c-news__more {
	text-align: center;
	margin-top: 20px;
}

.c-news__more-button {
	position: relative;
	display: inline-block;
	padding: 0;
	padding-left: 25px;
	padding-right: 25px;
	color: #000;
	font-size: 16px;
	line-height: 1.6;
	text-decoration: underline;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	overflow-anchor: none;
	appearance: none;
	outline: none;
}

.c-news__more-button::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	display: inline-block;
	width: 17px;
	height: 9.5px;
	background-image: url(/wp-content/themes/up/images/commons/upanddown-arrow.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transform: translateY(-50%);
}

.c-news__more-button.is-show::after {
	transform: rotateZ(180deg);
	margin-top: -6px;
}
/* 2024.4.4 add end */

.c-important_news {
	display: flex;
	align-items: center;
	max-width: 1080px;
	margin: 0 auto;
	padding-top: 8px;
	padding-bottom: 16px;
}

.c-important_news__wrap {
	margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
	width: calc(var(--vw, 1vw) * 100);
	background-color: #fff7f7;
}

.c-important_news__title {
	display: none;
}

.c-important_news__text {
	display: none;
}

.c-important_news__icon {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url("/wp-content/themes/up/images/commons/icon-exclamation.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 4px;
}

.c-important_news__item {
	display: flex;
	flex-direction: column;
	align-items: start;
	width: 100%;
	padding-left: 48px;
	position: relative;
}

.c-important_news__item::before {
	position: absolute;
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-image: url("/wp-content/themes/up/images/commons/icon-exclamation.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	top: 50%;
	transform: translateY(-50%);
	left: 16px;
}

.c-important_news__item:nth-child(n + 2) {
	padding-top: 8px;
}

.c-important_news__item dt {
	font-weight: bold;
}

.c-important_news__title, .c-important_news__item,
.c-important_news__item a {
	color: #d62533;
}

.c-important_news__item a::after {
	content: none;
}

.c-sns-icon {
	margin-top: 0;
	display: inline-block;
	width: 50px;
	height: 50px;
}

.c-sns-icon a::before,
.c-sns-icon a::after {
	content: none;
}

.c-sns-icon + .c-sns-icon {
	margin-left: 16px;
}

.c-link-circle-arrow + .c-link-circle-arrow {
	margin-top: 16px;
}

.c-link-circle-arrow > a,
.c-link-circle-arrow > span {
	color: #094;
}

.c-link-circle-arrow > a::after,
.c-link-circle-arrow > span::after {
	content: none;
}

.c-anchor-link > a {
	color: #094;
}

.c-anchor-link > a::before {
	background-image: url("/wp-content/themes/up/images/commons/icon-circle-link--bottom.png");
}

.c-anchor-top {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	background-color: #eb651a;
}

.c-anchor-top::before {
	position: absolute;
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.c-anchor-top__wrap {
	position: fixed;
	right: 0;
	bottom: 0;
	width: 72px;
	height: 70px;
	padding: 2px 2px 0;
	display: none;
	background-color: #fff;
	z-index: 10;
}

.c-anchor-top__wrap.is-footer {
	position: absolute;
	top: -70px;
}

.c-list-box {
	padding-left: 0;
	margin-top: 24px;
}

.c-list-box .c-anchor-link,
.c-list-box .c-link-circle-arrow {
	display: inline-block;
	margin-right: 24px;
	margin-top: 0;
}

.c-list-box--column {
	padding: 24px;
	display: flex;
	flex-direction: column;
	border: 1px solid #eaeaea;
}

.c-list-box--column .c-anchor-link:nth-child(n + 2) {
	margin-top: 24px;
	margin-right: auto;
}

.c-list-box__item {
	width: 100%;
	border: 1px solid #ddd;
	margin-top: 0;
	display: flex;
	align-items: center;
}

.c-list-box__item:nth-child(n + 2) {
	border-top: none;
}

.c-list-box__item::before {
	content: none;
}

.c-list-box__item a:hover {
	text-decoration: none;
	background-color: #ddd;
}

.c-link-list {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding-left: 0;
	gap: 20px;
}

.c-link-list--spacer .c-link-list {
	flex-direction: row;
	flex-wrap: wrap;
	text-align: center;
}

.c-link-list--spacer .c-link-list__item {
	width: calc(50% - 2px);
}

.c-link-list--spacer .c-link-list__item:nth-child(n + 2) {
	margin-left: 4px;
}

.c-link-list--spacer .c-link-list__item:nth-child(n + 3) {
	margin-top: 4px;
}

.c-link-list--spacer .c-link-list__item:nth-child(2n + 1) {
	margin-left: 0;
}

.c-link-list__item {
	width: 100%;
	margin-top: 0;
	display: flex;
	align-items: center;
	background-color: #fff;
}

.c-link-list__item:nth-child(n + 2) {
	border-top: none;
}

.c-link-list__item::before {
	content: none;
}

.c-link-list__item a:hover {
	text-decoration: none;
	background-color: #FFF2EA;
}

.c-link-list__item .c-anchor-link,
.c-link-list__item .c-link-arrow {
	margin-top: 0;
	width: 100%;
}

.c-link-list__item .c-anchor-link > a,
.c-link-list__item .c-link-arrow > a {
	padding: 16px 32px 16px 16px;
	display: block;
	width: 100%;
	position: relative;
}

.c-link-list__item .c-anchor-link > a::before,
.c-link-list__item .c-link-arrow > a::before {
	left: auto;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}

.c-link-list__item .c-anchor-link > a {
	padding: 16px 32px 16px 16px;
	display: block;
	width: 100%;
	position: relative;
}

.c-link-list__item .c-anchor-link > a::before {
	left: auto;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}

.c-link-list__item .c-link-arrow {
	position: relative;
}

.c-link-list__item .c-link-arrow::after {
	content: "";
	position: absolute;
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid;
	border-color: #094 #094 transparent transparent;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	right: 16px;
}

.c-link-list--anchor {
	flex-direction: row;
	flex-wrap: wrap;
}

.c-link-list--anchor .c-link-list__item {
	width: 50%;
}

.c-link-list--anchor .c-link-list__item:nth-child(2) {
}

.c-link-list--anchor .c-link-list__item:nth-child(n + 3) {
	border-top: none;
}

.c-link-list--anchor .c-link-list__item:nth-child(even) {
	border-left: none;
}

.c-navigation {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

ul.page-numbers {
	display: flex;
}

ul.page-numbers > li {
	margin-top: 0;
}

ul.page-numbers > li::before {
	content: none;
}

ul.page-numbers > li:nth-child(n + 2) > * {
	margin-left: 4px;
}

li > .page-numbers {
	width: 35px;
	height: 35px;
	background-color: #fff;
	color: #EB651A;
	font-size: 16px;
	border: 1px solid #EB651A;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}

li > .page-numbers:hover {
	text-decoration: none;
	background-color: #FCFAEE;
}

li > .page-numbers.current {
	border-color: #EB651A;
	background-color: #FCFAEE;
	color: #EB651A;
	font-weight: bold;
}

li > .page-numbers.dots {
	border: none;
}

li > .page-numbers.prev, li > .page-numbers.next {
	position: relative;
	background-color: #EB651A;
    color: #fff;
}

li > .page-numbers.prev::before, li > .page-numbers.next::before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	top: 50%;
}

li > .page-numbers.prev::before {
	left: 60%;
	transform: translate(-50%, -50%) rotate(-135deg);
}

li > .page-numbers.next::before {
	transform: translate(-50%, -50%) rotate(45deg);
	left: 40%;
}

a[href^="tel:"] {
	vertical-align: middle;
	font-size: 30px !important;
	font-weight: bold;
	padding: 4px 0;
	color: #333333 !important;
}

a[href^="tel:"]:hover {
	text-decoration: none;
}

.c-contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 24px;
}

.c-contact__tel {
	margin: 0 auto;
}

.c-contact__tel a {
	text-align: center;
	margin: 0 auto;
	padding: 0;
	display: inline-block;
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
}

.c-contact__tel a::before {
	content: "";
	display: inline-block;
	width: 1.5em;
	height: 0.9em;
	background-image: url(/wp-content/themes/up/images/commons/icon-freedial.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 4px;
	vertical-align: top;
}

.c-contact__info {
	text-align: center;
	margin-top: 12px;
}

.c-link-box {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}

.c-link-box__link {
	margin-top: 24px;
	display: block;
	width: 100%;
}

.c-link-box__link:hover {
	text-decoration: none;
}

.c-link-box__link:hover .c-link-circle-arrow a,
.c-link-box__link:hover .c-link-circle-arrow span {
	text-decoration: underline;
}

.c-link-box .c-link-box__link::before,
.c-link-box .c-link-box__link::after {
	content: none;
}

.c-link-box .wp-block-image {
	margin: 0;
	height: 160px;
	width: 100%;
	display: flex;
}

.c-link-box .wp-block-image img {
	width: 100%;
}

.c-link-box .c-link-circle-arrow,
.c-link-box .c-text {
	margin-top: 8px;
}

.c-link-box .c-text {
	color: #333;
}

.c-article-box {
	margin-top: 24px;
	position: relative;
	padding-bottom: 16px;
}

.c-article-box::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	/* 点線→実線に変更。2026.8.19修正 */
	background-color: #ddd;
}

.c-article-box:last-child {
	padding-bottom: 0;
}

.c-article-box:last-child::after {
	content: none;
}

.c-article-box__link {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.c-article-box__link:hover {
	text-decoration: none;
}

.c-article-box__link:hover .c-link-circle-arrow a,
.c-article-box__link:hover .c-link-circle-arrow span {
	text-decoration: underline;
}

.c-article-box__image {
	margin: 0;
	width: 100%;
}

.c-article-box .wp-block-image {
	margin: 0 auto;
	max-width: 344px;
	max-height: 258px;
}

.c-article-box__content {
	margin-top: 16px;
	display: flex;
	flex-direction: column;
}

.c-article-box__title {
	color: #333;
	font-size: 20px;
	font-weight: bold;
	margin-top: 0;
}

.c-article-box__tag {
	display: inline-block;
	border-radius: 4px;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	padding: 4px 16px;
	margin-top: 16px;
}

.c-article-box__tag--kou1 {
	background-color: #48afe5;
	border: 1px solid #48afe5;
}

.c-article-box__tag--kou2 {
	background-color: #fdce50;
	border: 1px solid #fdce50;
}

.c-article-box__tag--kou3 {
	background-color: #8ec31f;
	border: 1px solid #8ec31f;
}

.c-article-box__tag--place {
	background-color: #fff;
	color: #094;
	border: 1px solid #094;
}

.c-article-box__tag--other {
	background-color: #094;
	border: 1px solid #094;
}

.c-article-box__event {
	margin-top: 16px;
}

.c-article-box__event p {
	color: #333;
}

.c-article-box__event p:first-child {
	margin-top: 0;
}

.c-article-box .c-text {
	margin-top: 8px;
	color: #333;
}

.c-article-box .c-link-circle-arrow {
	margin-top: 8px;
}

/* ------------------------------------------------------------
   イベント一覧（lazyblock/latest-events）：4件以上で縦スクロール化
   3件以下は既存の縦並びリストのまま変更しない。
   スクロールバー自体は既存の .c-scroll-box--vertical をそのまま利用する
   （main.js内の疑似スクロールバー生成処理がドラッグ操作にも対応済み）。
   max-heightは実測値（PC/SPとも1カード176px＋margin-top 24px）から
   カード3件分＝(176+24)×3=600pxで算出。2026.8.19追加
   ------------------------------------------------------------ */
.c-article-box__scroll.c-scroll-box--vertical {
	max-height: 600px;
}

@media screen and (min-width: 768px) {
	.c-sns-icon {
		width: 30px;
		height: 30px;
	}
	.c-news__item:nth-child(n + 2) {
		margin-top: 16px;
	}
	/* 2024.4.4 add start */
	.c-news__more {
	    max-width: calc(170px * 3 + 8px);
	}
	.c-news__more-button {
		cursor: pointer;
		transition: opacity 0.3s;
	}
	.c-news__more-button:hover {
		opacity: 0.4;
	}
	/* 2024.4.4 add end */
	.c-important_news {
		padding-top: 0;
		padding-bottom: 0;
	}
	.c-important_news__wrap {
		width: 1220px;
		margin: 0 calc(50% - (1220px / 2));
	}
	.c-important_news__title {
		margin-top: 0;
		font-weight: bold;
		display: flex;
		align-items: center;
		flex-shrink: 0;
		padding: 32px 40px 32px 0;
		font-size: 14px;
	}
	.c-important_news__text {
		display: inline;
	}
	.c-important_news__item {
		flex-direction: row;
		align-items: center;
		padding-left: 0;
	}
	.c-important_news__item::before {
		content: none;
	}
	.c-important_news__item dd {
		margin-left: 16px;
	}
	.c-important_news__item:nth-child(n + 2) {
		margin-top: 8px;
	}
	a[href^="tel:"] {
		color: #333;
		font-size: 18px;
	}
	a[href^="tel:"]::before {
		transform: translateY(6px);
	}
	.c-contact__tel a {
		font-size: 32px;
		color: #094;
	}
	.c-anchor-top__wrap {
		width: 68px;
		height: 68px;
	}
	.c-anchor-top__wrap.is-footer {
		position: absolute;
		top: -68px;
	}
	.c-link-list {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.c-link-list--spacer .c-link-list__item {
		width: calc(25% - 3px);
	}
	.c-link-list--spacer .c-link-list__item:nth-child(n + 2) {
		margin-left: 4px;
	}
	.c-link-list--spacer .c-link-list__item:nth-child(n + 3) {
		margin-top: 0;
	}
	.c-link-list--spacer .c-link-list__item:nth-child(n + 5) {
		margin-top: 4px;
	}
	.c-link-list--spacer .c-link-list__item:nth-child(4n + 1) {
		margin-left: 0;
	}
	.c-link-list__item {
		width: 25%;
	}
	.c-link-list__item:nth-child(n + 2) {
		border-left: none;
	}
	.c-link-list__item:nth-child(n + 5) {
		border-top: none;
	}
	.c-link-list--anchor .c-link-list__item {
		width: 25%;
	}
	.c-link-list--anchor .c-link-list__item:nth-child(n + 2) {
	}
	.c-link-box {
		flex-direction: row;
		justify-content: start;
	}
	.c-link-box__link {
		width: 32%;
	}
	.c-link-box__link:nth-child(n + 2) {
		margin-left: 2%;
	}
	.c-link-box__link:nth-child(3n + 1) {
		margin-left: 0;
	}
	.c-article-box {
		margin-top: 24px;
	}
	.c-article-box__link {
		flex-direction: row;
	}
	.c-article-box__image {
		max-width: 344px;
		width: 100%;
		flex-shrink: 0;
		margin-right: 24px;
	}
	.c-article-box__content {
		margin-top: 0;
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: auto;
	}
}

@media screen and (min-width: 1220px) {
	.c-important_news__wrap {
		margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
		width: calc(var(--vw, 1vw) * 100);
	}
}

.c-banner {
	margin-top: 20px;
}

.c-banner__item {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	justify-content: center;
}

.c-banner__item:nth-child(n + 2) {
	margin-top: 20px;
}

.c-banner__item:nth-child(n + 2)::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #ddd, #ddd 3px, transparent 3px, transparent 6px);
	background-size: 6px 1px;
	background-repeat: repeat-x;
}

.c-banner .c-banner__item-wrap {
	display: flex;
	flex-direction: column;
}

.c-banner .c-banner__item-wrap .c-banner__item {
	margin-top: 0;
}

.c-banner .c-banner__item-wrap .c-banner__item:nth-child(n + 2)::after {
	content: none;
}

.c-banner .c-banner__link {
	display: inline-block;
	max-width: 252px;
	width: calc(50% - 12px);
	margin-right: 24px;
	margin-top: 24px;
	padding-right: 0;
}

.c-banner .c-banner__link:nth-child(2n) {
	margin-right: 0;
}

.c-banner .c-banner__link:nth-child(n + 3) {
	margin-top: 24px;
}

.c-banner .c-banner__link::after {
	content: none;
}

@media screen and (min-width: 768px) {
	.c-banner {
		margin-top: -20px;
	}
	.c-banner__item {
		justify-content: start;
	}
	.c-banner__item-wrap {
		flex-direction: row;
	}
	.c-banner .c-banner__item-wrap {
		flex-direction: row;
	}
	.c-banner .c-banner__link {
		max-width: 252px;
		width: 100%;
		margin-top: 24px;
		margin-right: 24px;
	}
	.c-banner .c-banner__link:nth-child(2n) {
		margin-right: 24px;
	}
	.c-banner .c-banner__link:nth-child(3n) {
		margin-right: 0;
	}
}

.wp-block-buttons{
	gap: 24px;
}

.wp-block-buttons .wp-block-button {
	display: flex;
	/* justify-content: center; */
	margin: 0;
	/* max-width: 296px; */
	width: 100%;
}


.wp-block-button .wp-block-button__link {
	width: 100%;
	font-size: 15px;
	font-weight: bold;
	text-decoration: none;
	padding: 24px 32px 24px 24px;
	text-align: center;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #094;
	color: #fff;
	position: relative;
	word-break: break-word;
	border: none;
}

.wp-block-button .wp-block-button__link::after {
	content: "";
	position: absolute;
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	right: 16px;
	background-image: none;
}

.wp-block-button .wp-block-button__link:hover {
	text-decoration: none;
	background-color: #00833a;
}

.is-style-conversion .wp-block-button__link {
	background-color: #ffb134;
}

.is-style-conversion .wp-block-button__link:hover {
	background-color: #eb9915;
}

.is-style-secondary .wp-block-button__link {
	background-color: #fff;
	color: #333;
	border: 2px solid #ddd;
}

.is-style-secondary .wp-block-button__link:hover {
	color: #094;
	background-color: #fff;
	border: 2px solid #094;
}

.is-style-secondary .wp-block-button__link::after {
	border-color: #094 #094 transparent transparent;
}

@media screen and (min-width: 768px) {
	.wp-block-button .wp-block-button__link {
		padding: 24px 40px 24px 24px;
	}
	.wp-block-button .wp-block-button__link::after {
		right: 24px;
	}
}

.c-box {
	padding: 16px;
}

.c-box__title {
	margin-top: 16px;
	font-size: 18px;
	font-weight: bold;
}

.c-box--strong {
	border: 3px solid #094;
	background-color: #fff;
}

.c-box--caution {
	border: 1px solid #ffa700;
	background-color: #fffaea;
}

.c-box--attention {
	border: 1px solid #d62533;
	background-color: #fff7f7;
}

.c-box.wp-block-group {
	margin-top: 16px;
}

.c-box p:first-child {
	margin-top: 0;
}

.c-box > p:first-child {
	margin-top: 0;
}

.c-box ul:first-child,
.c-box ol:first-child {
	margin-top: 0;
}

.c-box ul:first-child li:first-child,
.c-box ol:first-child li:first-child {
	margin-top: 0;
}

.wp-block-columns .wp-block-column .wp-block-group,
.wp-block-group .wp-block-group__inner-container .wp-block-group {
	width: 100%;
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}

/* 横スクロール用（表組み・画像などの既存 c-scroll-box）
   モバイルではタッチスクロール中にネイティブの透過スクロールバーへ切り替わり
   スクロール後に自動で消えてしまうため、CSSでの常時表示はできない。
   常時表示させるため、JS（main.js）でスクロール位置に同期する疑似スクロールバー
   （.c-scroll-box__bar / .c-scroll-box__bar-thumb）を生成し、ネイティブ側は非表示にする */
.c-scroll-box {
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.c-scroll-box::-webkit-scrollbar {
	display: none;
}

.c-scroll-box__bar {
	position: relative;
	width: 100%;
	height: 8px;
	margin-top: 4px;
	background-color: #f1f1f1;
	border-radius: 20px;
	overflow: hidden;
	cursor: pointer;
	/* バーのタップ操作中にページ自体がスクロールしてしまわないようにする。2026.8.19追加 */
	touch-action: none;
}

.c-scroll-box__bar-thumb {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	background-color: #cccccc;
	border-radius: 20px;
	cursor: grab;
}

/* バーをドラッグしてスクロールできる仕様に対応（main.js）。2026.8.19追加 */
.c-scroll-box__bar.is-dragging,
.c-scroll-box__bar.is-dragging .c-scroll-box__bar-thumb {
	cursor: grabbing;
}

/* 縦スクロール用（c-scroll-box と組み合わせて使用: class="c-scroll-box c-scroll-box--vertical"） */
/* NOTE: 2026.8.19修正：モバイルはタッチスクロール後にネイティブスクロールバーが自動で
   消えてしまい常時表示にできないため、横スクロール用（.c-scroll-box）と同様に
   JS（main.js）が生成する疑似スクロールバーで常時表示させる方式に統一した。
   ネイティブのスクロールバーは非表示にする（二重表示防止）。 */
.c-scroll-box--vertical {
	overflow-x: hidden;
	overflow-y: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
	/* 右側に生成される疑似バー分の余白を確保する */
	padding-right: 16px;
}

.c-scroll-box--vertical::-webkit-scrollbar {
	display: none;
}

/* 疑似バーを縦スクロール用ボックスの右側に固定表示するためのラッパー。
   main.js が .c-scroll-box--vertical を this.wrap() でこの要素に包んでから
   .c-scroll-box__bar を挿入する。2026.8.19追加 */
.c-scroll-box__vertical-wrap {
	position: relative;
}

.c-scroll-box__vertical-wrap > .c-scroll-box__bar {
	position: absolute;
	top: 0;
	right: 0;
	width: 4px;
	height: 100%;
	margin-top: 0;
}

.c-scroll-box__vertical-wrap > .c-scroll-box__bar .c-scroll-box__bar-thumb {
	width: 100%;
	height: auto;
}

.c-scroll-box__info {
	margin-top: 8px;
}

/* 学年別対象コースの流れ（c-course-matrix）専用：
   表全体が画面内に収まる幅（1440px以上）ではスクロール自体を無効化し、
   疑似スクロールバー（JSが生成する .c-scroll-box__bar）も非表示にする */
@media screen and (min-width: 1440px) {
	.c-scroll-box--course-matrix {
		overflow-x: visible;
	}
	.c-scroll-box--course-matrix + .c-scroll-box__bar {
		display: none !important;
	}
}

.c-content-box {
	display: flex;
	flex-direction: column;
}

.c-content-box__title {
	width: 100%;
	font-weight: bold;
	font-size: 28px;
	text-align: center;
	padding-bottom: 0;
/*	font-family: "Noto Sans JP", Arial, sans-serif;*/
	font-family: "Noto Sans JP", "Noto Sans CJK JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif;
	margin: 0 auto;
	line-height: 1.6;
}

.c-content-box__title::before, .c-content-box__title::after {
	content: none;
}

.c-content-box__content {
	width: 100%;
}

.c-content-box + .c-content-box {
	margin-top: 48px;
}

.c-topics {
	margin-top: 32px;
	border: 12px solid #f4f8f6;
	padding: 20px;
	display: flex;
	flex-direction: column;
}

.c-topics__content {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
}

.c-topics__category {
	color: #094;
	font-weight: bold;
	font-size: 24px;
	margin-top: 0;
}

.c-topics__category-text {
	margin-top: 16px;
}

.c-topics__title {
	margin: 8px 0 0;
	font-weight: bold;
	font-size: 24px;
}

.c-topics__text {
	margin-top: 16px;
}

.c-topics__image {
	width: 100%;
	margin-top: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.c-topics__image .wp-block-image {
	margin-top: 0;
}

.c-successful {
	margin-top: 32px;
	display: flex;
	flex-wrap: wrap;
}

.c-successful__item {
	width: calc(50% - 2px);
	display: flex;
	flex-direction: column;
	padding: 32px 8px;
	border: 1px solid #ddd;
	background-color: #fff;
	border-radius: 8px;
	align-items: center;
}

.c-successful__item:nth-child(even) {
	margin-left: 4px;
}

.c-successful__item:nth-child(n + 3) {
	margin-top: 4px;
}

.c-successful__title {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	color: #094;
}

.c-successful__school {
	font-size: 20px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 24px;
}

.c-successful__successful-applicant {
	display: flex;
	color: #094;
	align-items: flex-end;
	justify-content: center;
	font-size: 18px;
	font-weight: bold;
	margin-top: auto;
}

.c-successful__total {
	writing-mode: vertical-rl;
	font-size: 16px;
	letter-spacing: 0.3em;
}

.c-successful__number {
	line-height: 1;
	font-size: 42px;
	font-family: "Arial";
}

.c-conversion {
	margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
	width: calc(var(--vw, 1vw) * 100);
	background-color: #094;
	padding: 16px;
}

.c-conversion__area {
	padding: 20px 16px;
	max-width: 1080px;
	margin: 0 auto;
	background-color: #fff;
}

.c-conversion__btns {
	display: flex;
	flex-direction: column;
}

.c-conversion__trial-btn .wp-block-buttons {
	display: flex;
	flex-wrap: nowrap;
}

.c-conversion__trial-btn .wp-block-button:nth-child(n + 2) {
	margin-left: 8px;
}

.c-conversion .wp-block-buttons {
	margin: 0;
}

.c-conversion .wp-block-buttons .wp-block-button {
	/* max-width: none; */
}

.c-conversion__conversion-btn .wp-block-buttons {
	margin-top: 8px;
}

.c-conversion .wp-block-button__link {
	display: flex;
	flex-direction: column;
}

.c-conversion .wp-block-button__link img {
	margin-bottom: 12px;
}

.c-conversion__text {
	margin-top: 20px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}

.c-conversion__info {
	text-align: center;
	margin-top: 12px;
}

.c-conversion__info-area {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.c-conversion .c-conversion__tel {
	margin: 0 auto;
	display: flex;
	align-items: center;
}

.c-conversion .c-conversion__tel a {
	text-align: center;
	margin: 16px auto 0;
	padding: 0;
	display: inline-block;
	font-size: 32px;
	font-weight: bold;
	color: #094;
	line-height: 1;
}

.c-conversion .c-conversion__tel a::before {
	content: "";
	display: inline-block;
	width: 1.5em;
	height: 0.9em;
	background-image: url("/wp-content/themes/up/images/commons/icon-freedial.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 4px;
}

@media screen and (min-width: 768px) {
	.c-box {
		padding: 24px;
		margin-bottom: 24px;
	}
	.c-box--strong {
		border-width: 4px;
	}
	.c-content-box {
		flex-direction: row;
	}
	.c-content-box__title {
		max-width: 276px;
		text-align: left;
	}
	.c-content-box + .c-content-box {
		margin-top: 80px;
	}
	.c-topics {
		padding: 24px;
		flex-direction: row;
	}
	.c-topics__content {
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: auto;
	}
	.c-topics__text {
		margin-top: 8px;
	}
	.c-topics__image {
		flex-shrink: 0;
		max-width: 344px;
		width: 100%;
		margin-top: 0;
		margin-left: 24px;
	}
	.c-topics__image .wp-block-image {
		margin-top: 0;
	}
	.c-conversion {
		width: 1220px;
		margin: 0 calc(50% - (1220px / 2));
		padding: 16px;
	}
	.c-conversion__btns {
		flex-direction: row;
	}
	.c-conversion__trial-btn {
		width: 100%;
	}
	.c-conversion__conversion-btn {
		width: 100%;
	}
	.c-conversion__conversion-btn .wp-block-buttons {
		margin-top: 0;
		margin-left: 24px;
	}
	.c-conversion .wp-block-buttons {
		height: 100%;
	}
	.c-conversion__info-area {
		flex-direction: row;
		justify-content: center;
	}
	.c-conversion .c-conversion__tel {
		margin: 0;
	}
	.c-conversion .c-conversion__tel a {
		font-size: 40px;
		margin-left: 24px;
		margin-right: 0;
	}
	.c-scroll-box__info {
		display: none;
	}
	.c-successful__item {
		width: calc(25% - 3px);
		display: flex;
		flex-direction: column;
		padding: 40px 6px;
	}
	.c-successful__item:nth-child(even) {
		margin-left: 4px;
	}
	.c-successful__item:nth-child(n + 2) {
		margin-top: 0;
		margin-left: 4px;
	}
	.c-successful__item:nth-child(n + 5) {
		margin-top: 4px;
	}
	.c-successful__item:nth-child(4n + 1) {
		margin-left: 0%;
	}
	.c-successful__title {
		font-size: 20px;
	}
	.c-successful__school {
		margin-top: 0;
		font-size: 28px;
	}
	.c-successful__successful-applicant {
		font-size: 24px;
		font-weight: bold;
	}
	.c-successful__total {
		font-size: 20px;
	}
	.c-successful__number {
		font-size: 58px;
	}
	.c-successful--col-3 .c-successful__item {
		width: calc(33.3% - 3px);
	}
	.c-successful--col-3 .c-successful__item:nth-child(even) {
		margin-left: 4px;
	}
	.c-successful--col-3 .c-successful__item:nth-child(n + 3) {
		margin-top: 0;
		margin-left: 4px;
	}
	.c-successful--col-3 .c-successful__item:nth-child(n + 4) {
		margin-top: 4px;
	}
	.c-successful--col-3 .c-successful__item:nth-child(3n + 1) {
		margin-left: 0%;
	}
}

@media screen and (min-width: 1220px) {
	.c-conversion {
		margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
		width: calc(var(--vw, 1vw) * 100);
	}
}

.l-footer > .c-conversion {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.l-footer > .c-conversion {
  	margin: 0 auto;
		width: 100%;
	}
}


[class^="c-table-col-"] {
	width: 100%;
}

[class^="c-table-col-"] > * {
	width: 100%;
}

.c-table-col-2 th {
	width: 30%;
}

.c-table-col-2 td {
	width: 70%;
}

.c-table-col-2--sp-column {
	display: flex;
	flex-direction: column;
}

.c-table-col-2--sp-column th {
	width: 100%;
}

.c-table-col-2--sp-column td {
	width: 100%;
}

.c-col-table {
	display: flex;
	flex-direction: column;
	margin: 32px 0 0;
}

.c-col-table__tr {
	display: flex;
	flex-direction: column;
}

.c-col-table__tr-inner {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.c-col-table__tr + .c-col-table__tr .c-col-table__th {
	border-top: 0;
}

.c-col-table__th + .c-col-table__td {
	border-top: 0;
}

.c-col-table__tr-inner + .c-col-table__tr-inner .c-col-table__th {
	border-top: 0;
}

.c-col-table__th, .c-col-table__td {
	border: 1px solid #eaeaea;
	padding: 16px;
	width: 100%;
}

.c-col-table__th {
	background-color: #f4f8f6;
	font-weight: bold;
	text-align: center;
}


@media screen and (min-width: 768px) {
	.c-col-table__tr {
		flex-direction: row;
	}
	.c-col-table__tr + .c-col-table__tr .c-col-table__th {
		border-top: 0;
	}
	.c-col-table__th + .c-col-table__td {
		border-top: 0;
	}
	.c-col-table__tr:first-child .c-col-table__tr-inner + .c-col-table__tr-inner .c-col-table__th {
		border-top: 1px solid #eaeaea;
	}
	.c-col-table__tr-inner + .c-col-table__tr-inner .c-col-table__th,
	.c-col-table__tr-inner + .c-col-table__tr-inner .c-col-table__td {
		border-left: 0;
	}
	.c-scroll-table {
		width: 100%;
		overflow: auto;
	}
	.c-table-col-2 th {
		text-align: left;
	}
	.c-table-col-2--sp-column {
		display: table-row;
	}
	.c-table-col-2--sp-column th {
		width: 30%;
	}
	.c-table-col-2--sp-column td {
		width: 70%;
	}
	.c-table-col-3 td,
	.c-table-col-3 th {
		width: 33.33%;
	}
	.c-table-col-4 td,
	.c-table-col-4 th {
		width: auto;
	}
}

@media screen and (max-width: 767px) {
	.c-table-col-3 {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.c-table-col-3 td,
	.c-table-col-3 + .c-table-col-3 th {
		border-top: none;
	}
	.c-table-col-4 {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.c-table-col-4 td,
	.c-table-col-4 + .c-table-col-4 th {
		border-top: none;
	}
	.c-table-col-4 td:first-child {
		background-color: #f4f8f6;
	}
	.c-table-col-4:first-child td:first-child {
		border-top: 1px solid #eaeaea;
	}
}

/*--------------------------------------------------------------
## up-educational-project layouts
--------------------------------------------------------------*/
html.is-open {
	overflow: hidden;
}

html.is-open body {
	overflow: visible;
}

.l-header {
	position: sticky;
	background-color: #fff;
	z-index: 9999;
	top: 0;
	border-bottom: 1px solid #ddd;
	height: 70px;
	align-items: center;
  width: 100%;
}

.c-header__inner {
	display: flex;
	align-items: center;
	width: 100%;
}

.c-header__inner {
	display: flex;
	justify-content: space-between;
}

.c-header__logo {
	padding: 0;
	margin: 8px auto 8px 16px;
}

.c-header__logo-link {
	display: block;
  width: 240px;
}
.c-header__logo-link img{
	display: block;
}

.c-header-content {
	max-width: 192px;
	width: 100%;
}

.c-header-content__top {
	margin-top: 16px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.c-header-content__bottom {
	margin-top: 24px;
	margin-bottom: 16px;
}

.c-header-content--sp {
	display: flex;
}

.c-header-content--pc {
	display: none;
}

.c-header__contact {
	display: flex;
}

.c-header__btn {
	width: 58px;
	height: 58px;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 10px;
}

.c-header__btn:hover {
	text-decoration: none;
}

.c-header__btn--document {
	background-color: #094;
}

.c-header__btn--document:hover {
	background-color: #00833a;
}

.c-header__btn--experience {
	margin-left: 4px;
	background-color: #ffb134;
}

.c-header__btn--experience:hover {
	background-color: #eb9915;
}

.c-header-menu {
	display: flex;
	flex-direction: column;
}

.c-header-menu__btn {
	width: 50px;
	margin-top: 0;
	margin-left: 8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.c-header-menu__icon {
	margin: 0;
	position: relative;
	width: 22px;
	height: 17px;
	margin-bottom: 8px;
	cursor: pointer;
}

.is-open .c-header-menu__icon-line {
	background-color: inherit;
}

.is-open .c-header-menu__icon-line::before {
	top: 4px;
	transform: rotate(45deg);
}

.is-open .c-header-menu__icon-line::after {
	top: 4px;
	transform: rotate(-45deg);
}

.c-header-menu__icon-line, .c-header-menu__icon-line::before, .c-header-menu__icon-line::after {
	transition: 0.2s;
	position: absolute;
	content: "";
	display: block;
	width: 22px;
	height: 3px;
	background-color: #094;
}

.c-header-menu__icon-line {
	top: 50%;
	transform: translateY(-50%);
}

.c-header-menu__icon-line::before {
	top: -8px;
}

.c-header-menu__icon-line::after {
	top: 8px;
}

.c-header-menu__text {
	font-size: 10px;
}

.is-open .c-header-menu__text--close {
	display: none;
}

.c-header-menu__text--open {
	display: none;
}

.is-open .c-header-menu__text--open {
	display: inline;
}

.c-header-menu__item {
	font-weight: bold;
	display: block;
	color: #333;
}

.c-header-menu__item:hover, .c-header-menu__item.is-active {
	text-decoration: none;
	color: #094;
}

.c-header-menu--sp {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	z-index: 9999;
	width: 100%;
	overflow-y: scroll;
	height: calc(100% - 70px);
	display: flex;
	top: 70px;
	flex-direction: column;
	transition: visibility 0.2s ease, opacity 0.2s ease;
	background-color: inherit;
}

.c-header-menu--sp .wp-block-buttons {
	margin: 0;
	padding: 24px 0;
	background-color: #ddd;
	justify-content: center;
}
.c-header-menu--sp .wp-block-buttons .wp-block-button{
margin: 0 auto!important;
}

.c-header-menu--sp.is-open {
	visibility: visible;
	opacity: 1;
}

.c-header-menu__inner {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	opacity: 0.9;
	height: 100%;
}

.c-header-menu--sp .c-header-menu__item {
	margin: 0 16px;
	padding: 16px 8px;
	border-bottom: 1px solid #ddd;
}

.c-header-menu--sp .c-header-menu__item:hover, .c-header-menu--sp .c-header-menu__item.is-active {
	text-decoration: none;
	color: #094;
}

.c-header-content .c-header-menu {
	flex-direction: row;
	justify-content: space-between;
}

.c-header__login-btn {
	max-width: 210px;
	width: 100%;
	padding: 10px;
	background-color: #094;
	color: #fff;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: space-around;
	border-radius: 6px;
	font-weight: bold;
}

.c-header__login-btn:hover {
	text-decoration: none;
	background-color: #00833a;
}

.c-header__text {
	margin-top: 4px;
}

.c-header__info .c-header__tel {
	font-size: 26px;
	font-weight: bold;
	color: #094;
	line-height: 1;
	padding: 0;
}

.c-header__info .c-header__tel::before {
	content: "";
	display: inline-block;
	width: 49px;
	height: 28px;
	background-image: url("/wp-content/themes/up/images/commons/icon-freedial.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 4px;
}

@media screen and (min-width: 768px) {
	.l-header {
		height: auto;
	}
	.c-header__inner {
		max-width: 1220px;
		width: 100%;
		padding: 0 16px;
		margin: 0 calc(50% - (1220px / 2));
	}
	.c-header__logo {
		margin: 0;
		max-width: none;
		width: auto;
	}
	.c-header__logo-link {
		max-width: 280px;
	}
	.c-header-menu--sp.is-open {
		visibility: hidden;
		opacity: 0;
	}
	.c-header-content {
		max-width: 800px;
		flex-direction: column;
	}
	.c-header-content--sp {
		display: none;
	}
	.c-header-content--pc {
		display: flex;
	}
}

@media screen and (min-width: 1220px) {
	.l-header {
		width: 100%;
		margin: 0 auto;
	}
}

.wp-block-group {
	margin: 0 16px;
}

.entry-content {
  padding: 40px 15px;
  margin-top: 0;
}

.entry-content > .alignfull {
	padding: 16px;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	html {
		overflow-x: clip;
	}
	body {
		overflow-x: clip;
	}
}

@media screen and (min-width: 768px) {
	/* main,
	.main-content,
	.wp-block-group {
		margin: 0 auto;
		width: 1140px;
	} */
	/* body {
		min-width: 1220px;
		margin: 0 auto;
	} */
  .entry-content {
    max-width: 1170px;
    padding: 40px 15px 80px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1220px) {
	html {
		overflow-x: hidden;
	}
}

.l-footer {
	position: relative;
	background-color: #f8f8f8;
}

.l-footer .c-list-box {
	margin-top: 0;
}

.l-footer .c-list-box .c-link-circle-arrow {
	margin-top: 16px;
	display: inline-block;
}

.l-footer .c-banner {
	margin-top: 10px;
	padding-bottom: 24px;
	border-bottom: 1px solid #ddd;
}

.l-footer .c-banner__item {
	justify-content: start;
	padding-top: 8px;
}

.l-footer .c-banner__item:nth-child(n + 2)::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #ddd, #ddd 3px, transparent 3px, transparent 6px);
	background-size: 6px 1px;
	background-repeat: repeat-x;
	position: absolute;
}

.l-footer .c-banner__link {
	display: block;
	display: inline-block;
	width: auto;
	margin-top: 16px;
	margin-right: 24px;
	flex-shrink: 0;
}

.l-footer .c-banner__link:nth-child(2n) {
	margin-top: 16px;
	margin-right: 24px;
}

.l-footer .c-banner__link:nth-child(2n + 1) {
	margin-top: 16px;
	margin-right: 24px;
}

.c-footer__inner {
	padding: 24px 16px;
}

.c-footer__inner .c-footer__logo {
	display: block;
	margin-top: 33px;
	text-align: center;
	padding-right: 0;
}

.c-footer__inner .c-footer__logo::after {
	content: none;
}

.c-footer__copyright {
	margin-top: 4px;
	text-align: center;
	color: #999;
/* 2024.5.9 chg start */
/*	font-size: 12px;*/
	font-size: 10px;
/* 2024.5.9 chg end */
}
/* 2024.5.9 add start */
img.benesse_logo {
	max-height: 24px;
}
/* 2024.5.9 add end */

@media screen and (min-width: 768px) {
	.c-footer__inner {
		padding: 34px 24px 24px;
		max-width: 1220px;
		margin: 0 auto;
	}
	.l-footer {
		width: 100%;
		margin: 0;
	}
	.l-footer .c-banner {
		margin-top: 10px;
		padding-bottom: 24px;
		border-bottom: 1px solid #ddd;
	}
	.l-footer .c-banner__item {
		padding-top: 0;
	}
	.l-footer .c-banner__item:nth-child(n + 2)::after {
		content: none;
	}
	.l-footer .c-banner__item-wrap {
		flex-direction: row;
	}
	.l-footer .c-banner__item-wrap .l-footer .c-banner__item {
		margin-top: 0;
		background-color: red !important;
	}
	.l-footer .c-banner__item-wrap .l-footer .c-banner__item:nth-child(n + 2)::after {
		content: none;
	}
	.l-footer .c-banner__link:nth-child(2n) {
		margin-right: 24px;
	}
}

@media screen and (min-width: 1220px) {
	.l-footer {
		width: 100%;
		margin: 0 auto;
	}
}

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


.alignfull.c-section {
	padding-top: 0;
	padding-bottom: 24px;
}

.alignfull.c-section:nth-child(n + 2) {
	padding-top: 24px;
}

.alignfull.c-section:last-child {
	padding-bottom: 0;
}

.c-section__inner {
	margin: 0 auto;
	max-width: 1080px;
	padding: 0 16px;
}

.c-section__title {
	text-align: center;
	font-weight: bold;
	font-size: 28px;
	padding-bottom: 0;
/*	font-family: "Noto Sans JP", Arial, sans-serif;*/
	font-family: "Noto Sans JP", "Noto Sans CJK JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif;
	margin: 0 auto;
	line-height: 1.6;
}

.c-section__title::before, .c-section__title::after {
	content: none;
}

@media screen and (min-width: 768px) {
	.alignfull.c-section {
		padding-top: 0;
		padding-bottom: 40px;
	}
	.alignfull.c-section:nth-child(n + 2) {
		padding-top: 40px;
	}
	.alignfull.c-section:last-child {
		padding-bottom: 0;
	}
	.c-section__inner {
		padding: 0;
	}
}

/**
 * HamburgerMenu 
 * 
 * Remove limit of 7 items
 * 2023.4.24
 */
/*-- HamburgerMenu: important item ----------*/
.c-header-menu__item.c-header_menu__important_item{
	background:linear-gradient(90deg, transparent 0%, #fbe5e8 5%, #fbe5e8 95%,transparent 100%); 
	color: #d62533; 
	text-shadow: 1px 1px 0 #fff;
	margin: 0 calc(16px - 16px);
	padding: 16px calc(8px + 16px);
}
/*-- HamburgerMenu: scrollable --------------*/
.c-header-menu__inner{overflow-x:hidden;}
@keyframes up-menu-arrow-fadeout {
	0% {opacity: 1;}
	100% {opacity: 0;}
}
.up-menu-forward::after, .up-menu-backward::before{
	display: block;
	position: absolute;
	content: "";
	left: calc((100% - 16px) / 2);
	width: 16px;
	height: 16px;
	border: 4px solid;
	border-color: transparent #094 #094 transparent;
	box-shadow: 1px 1px 0.7px 0.7px #fff;
	animation: up-menu-arrow-fadeout 1s ease-in forwards;
	animation-iteration-count: 3;
}
.up-menu-forward::after{
	bottom: calc(120px + 16px);
	transform: rotate(45deg);
}
.up-menu-backward::before{
	top: 16px;
	transform: rotate(225deg);
}
.up-menu-forward.up-stop::after, .up-menu-backward.up-stop::before{
	content: none;
}
/*-- End HamburgerMenu ----------------------*/

/*--------------------------------------------------------------
## up-educational-project media
--------------------------------------------------------------*/
/* figure {
	margin: 24px 0 0 0;
}

.wp-block-image {
	margin: 24px 0 0;
	text-align: center;
} */

.wp-block-image a[href$=".pdf"]::before, .wp-block-image a[href$=".pdf"]::after,
.wp-block-image a[target="_blank"]::before,
.wp-block-image a[target="_blank"]::after {
	content: none;
}

.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
	margin: 8px 0;
}

.wp-block-media-text {
	margin: 8px 0;
}

.c-scroll-box > .wp-block-image {
	width: 100%;
}

img {
	max-height: 100%;
	object-fit: contain;
	border-style: none;
	vertical-align: bottom;
}

.c-map {
	max-width: 100%;
	margin-top: 24px;
	position: relative;
}

.c-map::after {
	content: "";
	display: block;
	padding-top: 380px;
}

.c-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.c-map--tour::after {
	padding-top: 75%;
}

.c-map + .c-text {
	margin-top: 8px;
}

.wp-block-embed-youtube .wp-block-embed__wrapper {
	position: relative;
}

.wp-block-embed-youtube .wp-block-embed__wrapper::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		margin: 0;
	}
}

@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		padding: 0;
	}
}

/*--------------------------------------------------------------
## up-educational-project form
--------------------------------------------------------------*/
.c-search-box {
	display: flex;
	flex-direction: column;
	background-color: #f4f8f6;
	padding: 32px 16px;
}

.c-search-box__wrap {
	padding: 0;
}

.c-search-box__section {
	margin-top: 24px;
}

.c-search-box .c-search-box__section:first-of-type {
	margin-top: 0;
}

.c-search-box__title {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

.c-search-box__item {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ddd;
	cursor: pointer;
}

.c-search-box__item--col-2 {
	border-bottom: none;
}

.c-search-box__item:nth-child(even) {
	border-left: 0;
}

.c-search-box__item:nth-child(n + 3) {
	border-top: 0;
}

.c-search-box__item-wrap {
	margin-top: 16px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.c-search-box__item-wrap + .c-search-box__item-wrap {
	margin-top: 0;
}

.c-search-box__checkbox {
	display: none;
}

.c-search-box__checkbox-parts {
	position: relative;
	padding: 16px 40px 16px 16px;
	background-color: #fff;
	display: block;
	width: 100%;
	height: 100%;
	transition: ease-out 0.2s;
}

.c-search-box__checkbox-parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 16px;
	width: 24px;
	height: 24px;
	background-color: #eaeaea;
	border-radius: 50%;
	transform: translateY(-50%);
}

.c-search-box__checkbox-parts:hover {
	background-color: #f2f2f2;
}

.c-search-box__checkbox:checked + .c-search-box__checkbox-parts {
	background-color: #f2f2f2;
}

.c-search-box__checkbox:checked + .c-search-box__checkbox-parts::before {
	background-color: #094;
}

.c-search-box__checkbox:checked + .c-search-box__checkbox-parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 48%;
	right: 24px;
	width: 8px;
	height: 12px;
	transform: translateY(-50%) rotate(40deg);
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

.c-search-box .wp-block-button__link {
	transition: ease-out 0.2s;
}

.c-search-box .wp-block-button__link:disabled {
	background-color: #eaeaea;
	color: #999;
}

.c-search-box .wp-block-button__link::after {
	content: none;
}

@media screen and (min-width: 768px) {
	.c-search-box {
		padding: 32px 40px;
	}
	.c-search-box__section--col-4 .c-search-box__item {
		width: 25%;
	}
	.c-search-box__section--col-4 .c-search-box__item--col-2 {
		width: 50%;
	}
	.c-search-box__section--col-4 .c-search-box__item:nth-child(3n + 1) {
		border-left: none;
	}
	.c-search-box__section--col-4 .c-search-box__item:nth-child(4n + 1) {
		border-left: 1px solid #ddd;
		border-top: none;
	}
	.c-search-box__section--col-4 .c-search-box__item:nth-child(1) {
		border-top: 1px solid #ddd;
	}
	.c-search-box__section--col-4 .c-search-box__item:nth-child(4) {
		border-top: 1px solid #ddd;
	}
	.c-search-box__item {
		width: 33.33%;
	}
	.c-search-box__item--col-2 {
		width: 50%;
		border-bottom: none;
	}
	.c-search-box__item:nth-child(n + 2) {
		border-left: none;
	}
	.c-search-box__item:nth-child(3n + 1) {
		border-left: 1px solid #ddd;
	}
	.c-search-box__item:nth-child(n + 3) {
		border-top: 1px solid #ddd;
	}
	.c-search-box__item:nth-child(n + 4) {
		border-top: none;
	}
}
@media screen and (max-width: 767px) {
	.c-search-box__item{
		justify-content: start !important;
	}
}
/*--------------------------------------------------------------
## up-educational-project utilities
--------------------------------------------------------------*/
.u-hidden-pc {
	display: block !important;
}

.u-hidden-sp {
	display: none !important;
}

.u-hidden-tr-pc {
	display: table-row !important;
}

.u-hidden-tr-sp {
	display: none !important;
}

@media screen and (min-width: 768px) {
	.u-hidden-pc {
		display: none !important;
	}
	.u-hidden-sp {
		display: block !important;
	}
	.u-hidden-tr-pc {
		display: none !important;
	}
	.u-hidden-tr-sp {
		display: table-row !important;
	}
}

.u-bg-corporate1 {
	background-color: #094;
}

.u-bg-corporate2 {
	background-color: #cce8d0;
}

.u-bg-corporate3 {
	background-color: #d9e8e1;
}

.u-bg-corporate4 {
	background-color: #e1efe8;
}

.u-bg-corporate5 {
	background-color: #f4f8f6;
}

.u-bg-white {
	background-color: #fff;
}

.u-mt-0 {
	margin-top: 0 !important;
}

.u-mr-0 {
	margin-right: 0 !important;
}

.u-mb-0 {
	margin-bottom: 0 !important;
}

.u-ml-0 {
	margin-left: 0 !important;
}

.is-style-pc80sp60 {
	height: 60px !important;
}

.is-style-pc40sp40 {
	height: 40px !important;
}

.is-style-pc36sp36 {
	height: 36px !important;
}

.is-style-pc24sp24 {
	height: 24px !important;
}

.is-style-pc36sp32 {
	height: 32px !important;
}

.is-style-pc16sp16 {
	height: 16px !important;
}

.is-style-pc20sp16 {
	height: 16px !important;
}

@media screen and (min-width: 768px) {
	.is-style-pc80sp60 {
		height: 80px !important;
	}

	.is-style-pc40sp40 {
		height: 40px !important;
	}

	.is-style-pc36sp36 {
		height: 36px !important;
	}

	.is-style-pc24sp24 {
		height: 24px !important;
	}

	.is-style-pc36sp32 {
		height: 36px !important;
	}

	.is-style-pc16sp16 {
		height: 16px !important;
	}

	.is-style-pc20sp16 {
		height: 20px !important;
	}
}

@media screen and (max-width: 767px) {
	.u-button-margin-narrow {
		margin-top: 24px;
	}
	.u-button-margin-narrow .wp-block-buttons {
		margin-top: 0;
		margin-bottom: 0;
	}
}


/**
 * 画像ラベル（2024.8.31追加）
 */
.entry-content .u-img-label{position:relative;}
.entry-content .u-img-label:not(.alignwide):not(.alignfull){width: fit-content;margin-left: auto; margin-right:auto;}
.entry-content .u-img-label.alignleft{margin-left: 0;}
.entry-content .u-img-label.alignright{margin-right: 0;}
.entry-content .u-img-label a{padding:0;}
.u-img-label::before{position:absolute;content:' ';white-space: pre-wrap;padding: 0 .5em 0 .5em;pointer-events:none;background-color:#094;background-color: var(--wp--preset--color--corporate-1);}

/* 位置 */
.u-img-label.u-img-label-pos-top::before,
.u-img-label.u-img-label-pos-t::before{top:0;}
.u-img-label.u-img-label-pos-right::before,
.u-img-label.u-img-label-pos-r::before{right:0;}
.u-img-label.u-img-label-pos-left::before,
.u-img-label.u-img-label-pos-l::before{left:0;}
.u-img-label.u-img-label-pos-bottom::before,
.u-img-label.u-img-label-pos-b::before{bottom:0;}
.u-img-label.u-img-label-pos-tr::before,
.u-img-label.u-img-label-pos-rt::before{top:0; right:0;}
.u-img-label.u-img-label-pos-tl::before,
.u-img-label.u-img-label-pos-lt::before{top:0; left:0;}
.u-img-label.u-img-label-pos-br::before,
.u-img-label.u-img-label-pos-rb::before{right:0; bottom:0;}
.u-img-label.u-img-label-pos-bl::before,
.u-img-label.u-img-label-pos-lb::before{left:0;bottom:0;}

/* リボン（上/右/下/左） */
.u-img-label.u-img-label-style-ribbon-top::before,
.u-img-label.u-img-label-style-ribbon-t::before{padding: .5em .5em 0 .5em;clip-path: polygon(0 0, 50% .5em, 100% 0%, 100% 100%, 0% 100%);}
.u-img-label.u-img-label-style-ribbon-right::before,
.u-img-label.u-img-label-style-ribbon-r::before{padding: 0 .75em 0 .5em;clip-path: polygon(0 0, 100% 0%, calc(100% - .5em) 50%, 100% 100%, 0% 100%);}
.u-img-label.u-img-label-style-ribbon-bottom::before,
.u-img-label.u-img-label-style-ribbon-b::before{padding: 0 .5em .5em .5em;clip-path: polygon(0 0, 100% 0%, 100% 100%, 50% calc(100% - .5em), 0% 100%);}
.u-img-label.u-img-label-style-ribbon-left::before,
.u-img-label.u-img-label-style-ribbon-l::before{padding: 0 .5em 0 .75em;clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%, .5em 50%);}

/* カット（右上/左上/左下/右下） */
.u-img-label.u-img-label-style-cut-tr::before,
.u-img-label.u-img-label-style-cut-rt::before{padding: 0 .75em 0 .5em;clip-path: polygon(0 0, calc(100% - .5em) 0%, 100% 100%, 0% 100%);}
.u-img-label.u-img-label-style-cut-tl::before,
.u-img-label.u-img-label-style-cut-lt::before{padding: 0 .5em 0 .75em;clip-path: polygon(.5em 0, 100% 0%, 100% 100%, 0% 100%);}
.u-img-label.u-img-label-style-cut-bl::before,
.u-img-label.u-img-label-style-cut-lb::before{padding: 0 .5em 0 .75em;clip-path: polygon(0 0, 100% 0%, 100% 100%, .5em 100%);}
.u-img-label.u-img-label-style-cut-br::before,
.u-img-label.u-img-label-style-cut-rb::before{padding: 0 .75em 0 .5em;clip-path: polygon(0 0, 100% 0%, calc(100% - .5em) 100%, 0% 100%);}

/* ===== ヘッダー基本（PC: 76px / コンテンツ幅 1140px） ===== */
.l-header {
	z-index: 100;
	background-color: #fff;
}


@media screen and (max-width: 782px) {
	.admin-bar .l-header {
		top: 0;
		width: 100%;
	}
}

.c-header__wrap {
	display: flex;
	align-items: center;
	justify-content: space-around;
	height: 76px;
	gap: 78px;
	padding: 0 70px 0 70px; /* (1280 - 1140) / 2 = 70px */
	border-bottom: 1px solid #ccc;
  /* min-width: 1140px; */
}

/* ===== ロゴエリア ===== */
.c-header__logo-area {
	display: flex;
	align-items: center;
	gap: 16px;
}
@media screen and (max-width: 1210px) {
	.c-header__logo-area {
		flex-wrap: wrap;
    width: 160px;
	}
}
.c-header__logo-link {
	display: block;
	line-height: 0;
}

.c-header__logo-link::after {
	content: none; /* 外部リンクアイコン打ち消し */
}

.c-header__logo-img {
	display: block;
	height: auto;
}

.c-header__logo-img--rakushin {
	width: 240px;
}

.c-header__logo-img--ps {
	width: 240px;
}

/* ===== ナビ＋ハンバーガー右エリア ===== */
.c-header__right {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative; /* ドロワーの位置基準 */
}

.c-header__nav {
	display: flex;
	align-items: center;
	height: 100%;
}

.c-header__nav-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 160px;
	height: 100%;
	padding: 0 30px;
	border-right: 1px solid #ccc;
	color: #363636;
	text-decoration: none;
	transition: background-color 0.2s;
}

.c-header__nav-item:hover {
	background-color: #f2f2f2;
	text-decoration: none;
	color: #363636;
}

.c-header__nav-item::after {
	content: none; /* 外部リンクアイコン打ち消し */
}

.c-header__nav-icon {
	display: block;
	object-fit: contain;
	flex-shrink: 0;
}

.c-header__nav-text {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	white-space: nowrap;
}

.c-header__nav-item--noto .c-header__nav-text {
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-weight: 700;
}

/* ===== ハンバーガーボタン ===== */
.c-header__hamburger {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 86px;
	height: 76px;
	background-color: #eb651a;
	border: none;
	border-bottom: 1px solid #ccc;
	cursor: pointer;
	padding: 0;
	color: #fff;
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.2;
	transition: opacity 0.2s;
	border-radius: unset;
}

.c-header__hamburger:hover {
	opacity: 0.85;
}

.c-header__hamburger-icon {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 49px;
	position: relative;
	height: 25px;
	justify-content: center;
}

.c-header__hamburger-line {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	transition: transform 0.2s, opacity 0.2s;
}

.c-header__hamburger-line:nth-child(1) { top: 0; }
.c-header__hamburger-line:nth-child(2) { top: 50%; transform: translateY(-50%); }
.c-header__hamburger-line:nth-child(3) { bottom: 0; }

/* is-open 時: ✕ に変形 */
.c-header__hamburger.is-open .c-header__hamburger-line:nth-child(1) {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.c-header__hamburger.is-open .c-header__hamburger-line:nth-child(2) {
	opacity: 0;
}

.c-header__hamburger.is-open .c-header__hamburger-line:nth-child(3) {
	bottom: auto;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}

.c-header__hamburger-text {
	/* テキストはデフォルト表示（メニュー） */
}

/* ===== ドロワーメニュー ===== */
.c-header__drawer {
	display: none;
	position: absolute;
	top: 100%; /* c-header__right の高さ（＝ヘッダー高さ）分だけ下に開く */
	right: 0;  /* ボタン右端に揃える */
	width: 375px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-top: none;
	z-index: 99;
}

.c-header__drawer.is-open {
	display: block;
}

.c-mb32{
	margin-bottom: 32px;
}
/* ドロワー内ナビリスト */
.c-header__drawer-nav {
	padding: 0 15px 16px;
}

.c-header__drawer-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.c-header__drawer-list li {
	margin: 0;
}

.c-header__drawer-list li::before {
	content: none;
}

.c-header__drawer-list li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	padding: 8px;
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 16px;
	font-weight: bold;
	color: #363636;
	text-decoration: none;
	line-height: 1.6;
	border-bottom: 1px solid #ccc;
	background-color: #fff;
	transition: background-color 0.2s;
}

.c-header__drawer-list li a::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-image: url("/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg");
	background-repeat: no-repeat;
	background-size: contain;
	flex-shrink: 0;
	margin-left: 8px;
}

.c-header__drawer-list li a:hover {
	text-decoration: none;
	background-color: #f2f2f2;
}

.c-header__drawer-link-text {
	flex: 1;
}

/* ドロワー CTAボタン */
.c-header__drawer-btns {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
}

.c-header__drawer-btns--mypage {
	padding-top: 0;
}

.c-header__drawer-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 54px;
	padding: 16px 16px 16px 32px;
	border-radius: 8px;
	text-decoration: none;
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	transition: opacity 0.2s;
}

.c-header__drawer-btn:hover {
	opacity: 0.85;
	text-decoration: none;
	color: #fff;
}

.c-header__drawer-btn::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-image: url("/wp-content/themes/up/images/commons/icon-arrow-right-white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	flex-shrink: 0;
}

.c-header__drawer-btn--cv {
	background-color: #f1610b;
}

.c-header__drawer-btn--material {
	background-color: #8BC43F;
}

.c-header__drawer-btn--mypage {
	height: 48px;
	padding: 8px 16px;
	background-color: #fff;
	border: 1px solid #eb651a;
	color: #eb651a;
	font-size: 14px;
	justify-content: center;
	position: relative;
}

.c-header__drawer-btn--mypage:hover {
	color: #eb651a;
}

.c-header__drawer-btn--mypage::after {
	background-image: url("/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg");
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}

.c-header__drawer-btn-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 1;
}

/* ドロワー 電話番号（申し送り対応：2026.8.19追加。表示スタイルはCVエリア
   （search_school.php等の is-style-info-item-phone：アイコン30px＋文字30px、
   および受付時間テキスト：13px・#363636）を踏襲し、ドロワー幅(375px)に収まるよう
   中央寄せの2行構成に再構成。2026.8.19更新 */
.c-header__drawer-tel {
	padding: 0 16px;
}

.c-header__drawer-tel-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-decoration: none;
	color: #181818;
}

.c-header__drawer-tel-link:hover {
	text-decoration: none;
	color: #181818;
}

.c-header__drawer-tel-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.c-header__drawer-tel-icon {
	flex-shrink: 0;
	width: 30px;
	height: 30px;
}

.c-header__drawer-tel-number {
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
}

.c-header__drawer-tel-hours {
	font-size: 13px;
	line-height: 1.4;
	color: #363636;
}

/* ドロワー開閉時もページ操作を維持するため、ベースCSSの overflow 制御を解除 */
html.is-open {
	overflow: auto;
}

/* ===== SP（max-width: 767px） ===== */
@media screen and (max-width: 867px) {

	.c-header__wrap {
		height: 62px;
		padding: 0 0 0 8px;
		gap: 10px;
	}

	/* ロゴ: SP時 縦並び・小サイズ */
	.c-header__logo-area {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		width: 126px;
		flex-shrink: 0;
		justify-content: center;
	}

	.c-header__logo-img--rakushin {
		width: 120px;
		height: 16px;
	}

	.c-header__logo-img--ps {
		width: 120px;
		height: 16.5px;
	}

	.c-header__right {
		flex: 1;
		min-width: 0;
		height: 100%;
		position: static; /* PC の position: relative をリセット。ドロワーは l-header 基準になる */
	}

	.c-header__nav {
		flex: 1;
		height: 100%;
		min-width: 0;
	}

	.c-header__nav-item {
		flex: 1;
		width: auto;
		padding: 0 10px;
		flex-direction: column;
		gap: 2px; 
	}

	.c-header__nav-text {
		font-size: 10px;
		line-height: 1.4;
	}

	.c-header__nav-icon {
		width: 20px;
		height: 20px;
	}

	/* ハンバーガー: SP */
	.c-header__hamburger {
		width: 58px;
		height: 62px;
		border-bottom-width: 0;
		gap: 5px;
		font-size: 10px;
		font-weight: 500;
		line-height: 1.4;
	}

	.c-header__hamburger-icon {
		width: 20px;
		height: 18.5px;
		gap: 6.7px;
	}

	/* l-header の高さを c-header__wrap に合わせて余白を除去 */
	.l-header {
		height: auto;
	}

	/* ドロワー: SP 全幅 */
	.c-header__drawer {
		top: 62px;
		right: 0;
		left: 0;
		width: 100%;
		/* コンテンツ量がSPの画面高さを超える場合に上下スクロールできなかった不具合の対応。
		   max-heightの制約が無く、はみ出た項目（マイページボタン等）に到達できなかった。2026.8.19
		   NOTE: 100vhはモバイル実機（iOS Safari/Android Chrome）でアドレスバーの
		   表示/非表示により実際の表示領域と一致せず、ドロワー下部がブラウザUIと重なる／
		   はみ出るレイアウト崩れの原因になっていた（PCでのウィンドウリサイズ検証では再現しない）。
		   100dvh（動的ビューポート単位）に対応ブラウザでは切り替える。非対応ブラウザ向けに
		   100vhを先に指定し、フォールバックとして残す。2026.8.19追加 */
		max-height: calc(100vh - 62px);
		max-height: calc(100dvh - 62px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.c-header__drawer-list li a {
		font-size: 14px;
	}
}
/* ===== SP（max-width: 370px） ===== */
@media screen and (max-width: 370px) {

	.c-header__wrap {
		gap: 0;
	}
	.c-header__nav-item{
    	padding: 0;
	}
}
/* ============================================================
   フッター新デザイン
   add 20260713
   ============================================================ */

/* --- SNSエリア --- */
.c-footer__sns {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px 0;
	border-bottom: 1px solid #ddd;
}

.c-footer__sns-label {
	font-size: 13px;
	font-weight: bold;
	color: #333;
	margin: 0 0 16px;
}

.c-footer__sns-icons {
	display: flex;
	align-items: center;
	gap: 16px;
}

a.c-footer__sns-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	overflow: hidden;
	padding-right: 0;
}

a.c-footer__sns-link::after {
	content: none;
	background-image: none;
	display: none;
}

.c-footer__sns-link img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	margin: 0;
}

/* --- フッターナビ: circle-arrow を Figma グレー矢印スタイルに上書き --- */
.l-footer .c-list-box .c-link-circle-arrow > a {
	color: #333;
}

.l-footer .c-list-box .c-link-circle-arrow > a::before {
	background-image: url("/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg");
	width: 10px;
	height: 14px;
}

/* --- 免責事項テキスト --- */
.c-footer__disclaimer {
	font-size: 11px;
	color: #666;
	line-height: 1.7;
	margin-top: 12px;
	margin-bottom: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

/* --- フッターナビ（旧 c-footer__nav / 現在は c-list-box を使用） --- */
.c-footer__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid #ddd;
	gap: 0;
}

a.c-footer__nav-link {
	font-size: 12px;
	color: #333;
	text-decoration: none;
	padding: 4px 10px 4px 0;
	white-space: nowrap;
}

a.c-footer__nav-link::after {
	content: none;
	background-image: none;
	display: none;
}

.c-footer__nav-link:hover {
	text-decoration: underline;
	color: #009944;
}

.c-footer__nav-link:not(:last-child) {
	padding-right: 10px;
	margin-right: 10px;
	border-right: 1px solid #ddd;
}


/* --- SP（max-width: 767px） --- */
@media screen and (max-width: 767px) {
	/* フッターナビ: 2カラムグリッド */
	.l-footer .c-list-box {
		display: grid;
		grid-template-columns: 1fr 1fr;
		row-gap: 8px;
	}

	.l-footer .c-list-box .c-link-circle-arrow {
		margin-top: 0;
	}
}

/* --- PC（min-width: 768px） --- */
@media screen and (min-width: 768px) {
	.c-footer__nav-link {
		font-size: 13px;
	}
}

/* ------------------------------------------------------------
   Block Pattern: btn-material（無料体験会ボタン）
   ------------------------------------------------------------ */
.btn-material {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding-top: 16px;
	padding-bottom: 16px;
	border-radius: 8px;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease;
}

.btn-material::before,
.btn-material::after {
	content: none !important;
	display: none !important;
}

.btn-material:hover {
	text-decoration: none;
}

.btn-material__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 1 0 0;
	min-width: 0;
}

.btn-material__text {
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	color: #eb651a;
	flex: 1 0 0;
	min-width: 0;
}

.btn-material__icon {
	display: block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	position: relative;
}

.btn-material__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* type: small */
.btn-material--small {
	width: 170px;
	border: 1px solid #eb651a;
	background-color: #ffffff;
	padding-left: 24px;
	padding-right: 8px;
}

/* type: medium */
.btn-material--medium {
	width: 364px;
	border: 2px solid #eb651a;
	background-color: #ffffff;
	padding-left: 24px;
	padding-right: 8px;
}

/* state: hover */
.btn-material--small:hover,
.btn-material--medium:hover {
	background-color: #fff2ea;
	border-width: 1px;
}

/* state: disable */
.btn-material--disable {
	background-color: #cccccc;
	border: none;
	cursor: default;
	pointer-events: none;
	padding-left: 32px;
	padding-right: 16px;
}

.btn-material--disable .btn-material__text {
	color: #363636;
	font-weight: 700;
	white-space: nowrap;
	flex: 0 0 auto;
}

.btn-material--disable .btn-material__icon {
	width: 16px;
	height: 16px;
}

/* SP */
@media screen and (max-width: 767px) {
	.btn-material--small {
		width: 165px;
	}
	.btn-material--medium {
		width: 345px;
		border-width: 1px;
	}
}

/* --- core/button: is-style-btn-material-* （サイドバーでスタイル切り替え用） --- */

/* 共通ベーススタイル・WPデフォルトのボタンスタイルをリセット */
.wp-block-button.is-style-btn-material-small .wp-block-button__link,
.wp-block-button.is-style-btn-material-medium .wp-block-button__link,
.wp-block-button.is-style-btn-material-disable .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 16px;
	padding-bottom: 16px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease;
}

/* PDFアイコン（::after）: small / medium */
.wp-block-button.is-style-btn-material-small .wp-block-button__link::after,
.wp-block-button.is-style-btn-material-medium .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 8px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-pdf.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* type: small */
.wp-block-button.is-style-btn-material-small {
	max-width: 170px;
}
.wp-block-button.is-style-btn-material-small .wp-block-button__link {
	width: 100%;
	border: 1px solid #eb651a !important;
	background-color: #ffffff !important;
	color: #eb651a !important;
	font-weight: 700;
	padding-left: 24px;
	padding-right: 28px;
}

/* type: medium */
.wp-block-button.is-style-btn-material-medium {
	max-width: 364px;
}
.wp-block-button.is-style-btn-material-medium .wp-block-button__link {
	width: 100%;
	border: 1px solid #eb651a !important;
	background-color: #ffffff !important;
	color: #eb651a !important;
	font-weight: 700;
	padding-left: 24px;
	padding-right: 28px;
}

/* hover */
.wp-block-button.is-style-btn-material-small .wp-block-button__link:hover,
.wp-block-button.is-style-btn-material-medium .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	border-width: 1px !important;
	text-decoration: none;
}

/* state: disable */
.wp-block-button.is-style-btn-material-disable {
	max-width: 364px;
}
.wp-block-button.is-style-btn-material-disable .wp-block-button__link {
	width: 100%;
	background-color: #cccccc !important;
	border: none !important;
	color: #363636 !important;
	font-weight: 700;
	white-space: nowrap;
	cursor: default;
	pointer-events: none;
	padding-left: 32px;
	padding-right: 16px;
}

/* 矢印アイコン（::after）: disable */
.wp-block-button.is-style-btn-material-disable .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-material-disable {
		max-width: 100%;
	}
	.wp-block-button.is-style-btn-material-small {
		max-width: 165px;
	}
	.wp-block-button.is-style-btn-material-medium {
		/* max-width: 345px; */
		max-width: 100%;
	}
	.wp-block-button.is-style-btn-material-medium .wp-block-button__link {
		border-width: 1px !important;
	}
}

/* ============================================================
   core/button: is-style-btn-conversion-* （BtnConversion）
   ============================================================ */

/* 共通ベーススタイル */
.wp-block-button.is-style-btn-conversion-large .wp-block-button__link,
.wp-block-button.is-style-btn-conversion-small .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	color: #ffffff !important;
	background-color: #F1610B !important;
	border: none !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

/* 左アイコン（::before）: テキストと隣接して flex 子要素として配置 */
.wp-block-button.is-style-btn-conversion-large .wp-block-button__link::before,
.wp-block-button.is-style-btn-conversion-small .wp-block-button__link::before {
	content: "" !important;
	display: block !important;
	position: static !important;
	transform: none !important;
	border: none !important;
	border-color: transparent !important;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-taiken.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* 右矢印アイコン（::after）*/
.wp-block-button.is-style-btn-conversion-large .wp-block-button__link::after,
.wp-block-button.is-style-btn-conversion-small .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* size: large */
.wp-block-button.is-style-btn-conversion-large {
	max-width: 520px;
}
.wp-block-button.is-style-btn-conversion-large .wp-block-button__link {
	width: 100%;
}

/* size: small */
.wp-block-button.is-style-btn-conversion-small {
	max-width: 226px;
}
.wp-block-button.is-style-btn-conversion-small .wp-block-button__link {
	width: 100%;
}

/* hover */
.wp-block-button.is-style-btn-conversion-large .wp-block-button__link:hover,
.wp-block-button.is-style-btn-conversion-small .wp-block-button__link:hover {
	background-color: #E3550B !important;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-conversion-large {
		/* max-width: 345px; */
		max-width: 100%;
	}
	.wp-block-button.is-style-btn-conversion-small {
		max-width: 226px;
	}
}

/* ============================================================
   core/button: is-style-btn-siryo-* （BtnSiryo）
   ============================================================ */

/* 共通ベーススタイル: large / small */
.wp-block-button.is-style-btn-siryo-large .wp-block-button__link,
.wp-block-button.is-style-btn-siryo-small .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	color: #ffffff !important;
	background-color: #8BC43F !important;
	border: none !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

/* 左アイコン（::before）: large / small */
.wp-block-button.is-style-btn-siryo-large .wp-block-button__link::before,
.wp-block-button.is-style-btn-siryo-small .wp-block-button__link::before {
	content: "" !important;
	display: block !important;
	position: static !important;
	transform: none !important;
	border: none !important;
	border-color: transparent !important;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-siryo.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* 右矢印アイコン（::after）: large / small */
.wp-block-button.is-style-btn-siryo-large .wp-block-button__link::after,
.wp-block-button.is-style-btn-siryo-small .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* size: large */
.wp-block-button.is-style-btn-siryo-large {
	max-width: 520px;
}
.wp-block-button.is-style-btn-siryo-large .wp-block-button__link {
	width: 100%;
}

/* size: small */
.wp-block-button.is-style-btn-siryo-small {
	max-width: 226px;
}
.wp-block-button.is-style-btn-siryo-small .wp-block-button__link {
	width: 100%;
}

/* hover: large / small */
.wp-block-button.is-style-btn-siryo-large .wp-block-button__link:hover,
.wp-block-button.is-style-btn-siryo-small .wp-block-button__link:hover {
	background-color: #629919 !important;
	text-decoration: none;
}

/* type: search（アイコンなし・センタリング） */
.wp-block-button.is-style-btn-siryo-search {
	max-width: 364px;
}
.wp-block-button.is-style-btn-siryo-search .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 16px 24px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	color: #ffffff !important;
	background-color: #8BC43F !important;
	border: none !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

.wp-block-button.is-style-btn-siryo-search .wp-block-button__link::before,
.wp-block-button.is-style-btn-siryo-search .wp-block-button__link::after {
	content: none !important;
	display: none !important;
}

.wp-block-button.is-style-btn-siryo-search .wp-block-button__link:hover {
	background-color: #629919 !important;
	text-decoration: none;
}

.wp-full{
	width: 354px;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-siryo-large {
		/* max-width: 345px; */
		max-width: 100%;
	}
	.wp-block-buttons .wp-block-button{
		justify-content: center;
	}
	.wp-block-button.is-style-btn-siryo-small {
		max-width: 200px;
	}
	.wp-block-button.is-style-btn-siryo-search {
		/* max-width: 345px; */
		max-width: 100%;
	}
}

/* ============================================================
   core/button: is-style-btn-outline-green （BtnOutline グリーン　中）
   ============================================================ */

.wp-block-button.is-style-btn-outline-green-medium {
	max-width: 364px;
}
.wp-block-button.is-style-btn-outline-green-medium .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
	color: #EB651A !important;
	background-color: #ffffff !important;
	border: 1px solid #EB651A !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

/* 左アイコンなし */
.wp-block-button.is-style-btn-outline-green-medium .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

/* 右矢印アイコン（::after）*/
.wp-block-button.is-style-btn-outline-green-medium .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* hover */
.wp-block-button.is-style-btn-outline-green-medium .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-outline-green-medium {
		max-width: 100%;
	}
}

/* ============================================================
   core/button: is-style-btn-outline-green （BtnOutline グリーン　大）
   ============================================================ */

.wp-block-button.is-style-btn-outline-green-large {
	max-width: 520px;
}
.wp-block-button.is-style-btn-outline-green-large .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
	color: #EB651A !important;
	background-color: #ffffff !important;
	border: 1px solid #EB651A !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

/* 左アイコンなし */
.wp-block-button.is-style-btn-outline-green-large .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

/* 右矢印アイコン（::after）*/
.wp-block-button.is-style-btn-outline-green-large .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* hover */
.wp-block-button.is-style-btn-outline-green-large .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-outline-green-large {
		max-width: 100%;
	}
}

/* ============================================================
   core/button: is-style-btn-location （BtnLocation / 校舎カードボタン）
   ============================================================ */

.wp-block-button.is-style-btn-location {
	max-width: 267px;
}
.wp-block-button.is-style-btn-location .wp-block-button__link {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	padding: 16px 36px 16px 24px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-weight: 700 !important;
	line-height: 1.4;
	color: #EB651A !important;
	background-color: #ffffff !important;
	border: 1px solid #EB651A !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
	min-height: 60px;
}

/* 駅名（小テキスト / 1行目：em タグ）*/
.wp-block-button.is-style-btn-location .wp-block-button__link em {
	display: block;
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	color: #EB651A;
	margin-bottom: 4px;
}

/* 校舎名（大テキスト / 2行目：strong タグ）*/
.wp-block-button.is-style-btn-location .wp-block-button__link strong {
	display: block;
	font-size: 18px;
	font-weight: 700 !important;
	color: #EB651A;
}

/* 左アイコンなし */
.wp-block-button.is-style-btn-location .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

/* 右矢印アイコン（::after）*/
.wp-block-button.is-style-btn-location .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* hover */
.wp-block-button.is-style-btn-location .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-location {
		/* max-width: 345px; */
		max-width: 100%;
	}
	.wp-block-button.is-style-btn-location .wp-block-button__link {
		min-height: 60px;
		padding: 16px 36px 16px 24px;
	}
	.wp-block-button.is-style-btn-location .wp-block-button__link em {
		font-size: 11px;
	}
	.wp-block-button.is-style-btn-location .wp-block-button__link strong {
		font-size: 16px;
	}
}

/* ============================================================
   core/button: is-style-btn-outline-contact / header / small
   ============================================================ */

/* --- contact（デフォルトと同一スタイル・全幅） --- */
.wp-block-button.is-style-btn-outline-contact {
	max-width: 354px;
}
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-outline-contact {
		max-width: unset;
	}
}
.wp-block-button.is-style-btn-outline-contact .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 16px 36px 16px 32px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	color: #EB651A !important;
	background-color: #ffffff !important;
	border: 1px solid #EB651A !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

.wp-btn-contact-wrap, .wp-btn-anchor-wrap{
	justify-content: flex-start;
	max-width: 296px;
}

.is-style-btn-outline-contact{
	justify-content: center;
}

.wp-block-button.is-style-btn-outline-contact .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

.wp-block-button.is-style-btn-outline-contact .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.wp-block-button.is-style-btn-outline-contact .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	text-decoration: none;
}

/* --- header（226px固定・コンパクト） --- */
.wp-block-button.is-style-btn-outline-header {
	max-width: 226px;
}
.wp-block-button.is-style-btn-outline-header .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 8px 24px 8px 24px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 700;
	color: #EB651A !important;
	background-color: #ffffff !important;
	border: 1px solid #EB651A !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

.wp-block-button.is-style-btn-outline-header .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

.wp-block-button.is-style-btn-outline-header .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 8px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.wp-block-button.is-style-btn-outline-header .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	text-decoration: none;
}

/* --- small（160px固定・詳しく見る） --- */
.wp-block-button.is-style-btn-outline-small {
	max-width: 160px;
}
.wp-block-button.is-style-btn-outline-small .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 8px 24px 8px 24px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	color: #EB651A !important;
	background-color: #ffffff !important;
	border: 1px solid #EB651A !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

.wp-block-button.is-style-btn-outline-small .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

.wp-block-button.is-style-btn-outline-small .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 8px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.wp-block-button.is-style-btn-outline-small .wp-block-button__link:hover {
	background-color: #fff2ea !important;
	text-decoration: none;
}

/* ============================================================
   core/button: is-style-btn-default-medium （デフォルト（背景あり中））
   ============================================================ */

.wp-block-button.is-style-btn-default-medium {
	max-width: 364px;
}
.wp-block-button.is-style-btn-default-medium .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
	color: #FFF !important;
	background-color: #EB651A !important;
	/* border: 1px solid #EB651A !important; */
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

/* 左アイコンなし */
.wp-block-button.is-style-btn-default-medium .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

/* 右矢印アイコン（::after）*/
.wp-block-button.is-style-btn-default-medium .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-arrow-right-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* hover */
.wp-block-button.is-style-btn-default-medium .wp-block-button__link:hover {
	background-color: #E3550B !important;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-default-medium {
		max-width: 100%;
	}
}

/* ============================================================
   core/button: is-style-btn-default-large （デフォルト（背景あり大））
   ============================================================ */

.wp-block-button.is-style-btn-default-large {
	max-width: 520px;
}
.wp-block-button.is-style-btn-default-large .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
	color: #FFF !important;
	background-color: #EB651A !important;
	/* border: 1px solid #EB651A !important; */
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

/* 左アイコンなし */
.wp-block-button.is-style-btn-default-large .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

/* 右矢印アイコン（::after）*/
.wp-block-button.is-style-btn-default-large .wp-block-button__link::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: none !important;
	border-color: transparent !important;
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-arrow-right-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* hover */
.wp-block-button.is-style-btn-default-large .wp-block-button__link:hover {
	background-color: #E3550B !important;
	text-decoration: none;
}

/* SP */
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-default-large {
		max-width: 100%;
	}
}


/* ===== イベントモーダル (.c-event-modal) ===== */
.c-event-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1000;
	align-items: center;
	justify-content: center;
}

.c-event-modal.is-open {
	display: flex;
}

html.is-event-modal-open {
	overflow: hidden;
}

.c-event-modal__overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.5);
	cursor: pointer;
}

.c-event-modal__panel {
	position: relative;
	z-index: 1;
	background-color: #fff;
	border-radius: 8px;
	width: min(600px, calc(100vw - 32px));
	max-height: calc(100vh - 64px);
	overflow-y: auto;
	padding: 40px 32px 32px;
}

@media screen and (max-width: 767px) {
	.c-event-modal__panel {
		padding: 40px 16px 24px;
	}
}

.c-event-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 24px;
	color: #333;
	line-height: 1;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.c-event-modal__title {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: #181818;
	margin: 0 0 24px;
	padding-right: 32px;
}

@media screen and (max-width: 767px) {
	.c-event-modal__title {
		font-size: 16px;
		margin: 0 0 16px;
	}
}

.c-event-modal__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* タグラベル */
.c-event-modal__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.c-event-modal__tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 2px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}

.c-event-modal__tag--grade {
	background-color: #e1efe8;
	color: #094;
}

/* 遷移ボタン */
.c-event-modal__action {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.c-event-modal__action-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 40px;
	width: 100%;
	border: 1px solid transparent; /* --outlineの枠線分で高さがズレないよう透明枠線を確保 */
	background-color: #009944;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	border-radius: 4px;
	text-decoration: none;
	line-height: 1.4;
	transition: opacity 0.2s;
}

.c-event-modal__action-btn::after {
	content: "";
	display: inline-block;
	/* icon-arrow-right-white.svgは16x16の正方形キャンバスの中に矢印が余白付きで
	   描かれているため、--outline用のicon-arrow-right-orange.svg（8x14キャンバス
	   いっぱいに描かれている）と見た目のサイズを揃えるにはボックスも16x16にする
	   必要がある。2026.8.7修正。 */
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-arrow-right-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

.c-event-modal__action-btn:hover {
	opacity: 0.85;
	color: #fff;
	text-decoration: none;
}

/* 校舎詳細選択モーダル（洛西進学教室／洛進パーソナル）のボタンは、校舎一覧カードの
   タグ（.c-school-card__tag／--personal）と同じ配色に合わせる。2026.8.6追加。 */
.c-event-modal__action-btn--filled {
	background-color: #ff8500;
}

.c-event-modal__action-btn--outline {
	background-color: #fff;
	border: 1px solid #ff8500;
	color: #ff8500;
}

.c-event-modal__action-btn--outline::after {
	/* icon-arrow-right-orange.svgはキャンバスいっぱいに矢印が描かれているため、
	   本来の8x14相当のサイズに戻す（基底クラスの16x16のままだと逆に大きくなりすぎる）。 */
	width: 7px;
	height: 12px;
	background-image: url('/wp-content/themes/up/images/commons/icon-arrow-right-orange.svg');
}

.c-event-modal__action-btn--outline:hover {
	color: #ff8500;
}

@media screen and (max-width: 767px) {
	.c-event-modal__action-btn {
		font-size: 15px;
		padding: 14px 24px;
	}
}

/*--------------------------------------------------------------
# 本文テキスト バリエーション
--------------------------------------------------------------*/
.is-style-p-bold {
	font-weight: bold !important;
}

.is-style-p-color-corporate {
	color: #eb651a !important;
	font-weight: bold !important;
}

/*--------------------------------------------------------------
# 注釈テキスト バリエーション
--------------------------------------------------------------*/
.is-style-p-note-warning {
	color: #d62533 !important;
}

/*--------------------------------------------------------------
# 情報アイコンリスト（c-info-list）
--------------------------------------------------------------*/

/* 各情報項目：共通レイアウト（右パネル「スタイル」で切り替え） */
.is-style-info-item-school,
.is-style-info-item-school2,
.is-style-info-item-calender,
.is-style-info-item-document,
.is-style-info-item-book,
.is-style-info-item-flag,
.is-style-info-item-humen,
.is-style-info-item-write,
.is-style-info-item-phone {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 8px !important;
	font-size: 30px;
	font-style: normal;
	line-height: 1.6;
	justify-content: flex-start;
}

/* コンテナ内の最初の項目は上マージンなし */
.c-info-list > :first-child {
	margin-top: 0 !important;
}
.is-style-info-item-phone::after{
	content: unset !important;
}
/* アイコン共通ベース（currentColor でアイコン色を文字色に連動） */
.is-style-info-item-school::before,
.is-style-info-item-school2::before,
.is-style-info-item-calender::before,
.is-style-info-item-document::before,
.is-style-info-item-book::before,
.is-style-info-item-flag::before,
.is-style-info-item-humen::before,
.is-style-info-item-write::before,
.is-style-info-item-phone::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

/* アイコン画像（右パネル「スタイル」で切り替え） */
.is-style-info-item-school::before   { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-school.svg');   mask-image: url('/wp-content/themes/up/images/commons/icon-txt-school.svg'); }
.is-style-info-item-school2::before  { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-school2.svg');  mask-image: url('/wp-content/themes/up/images/commons/icon-txt-school2.svg'); }
.is-style-info-item-calender::before { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-calender.svg'); mask-image: url('/wp-content/themes/up/images/commons/icon-txt-calender.svg'); }
.is-style-info-item-document::before { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-document.svg'); mask-image: url('/wp-content/themes/up/images/commons/icon-txt-document.svg'); }
.is-style-info-item-book::before     { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-book.svg');     mask-image: url('/wp-content/themes/up/images/commons/icon-txt-book.svg'); }
.is-style-info-item-flag::before     { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-flag.svg');     mask-image: url('/wp-content/themes/up/images/commons/icon-txt-flag.svg'); }
.is-style-info-item-humen::before    { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-humen.svg');    mask-image: url('/wp-content/themes/up/images/commons/icon-txt-humen.svg'); }
.is-style-info-item-write::before    { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-write.svg');    mask-image: url('/wp-content/themes/up/images/commons/icon-txt-write.svg'); }
.is-style-info-item-phone::before    { -webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-phone.svg');    mask-image: url('/wp-content/themes/up/images/commons/icon-txt-phone.svg'); }

/* 右端タブアイコン（icon-link-tab.svg / 外部リンクを新しいタブで開く表示）*/


/* グレーアウト状態（右パネル「情報項目 グレーアウト」から適用） */
.is-style-info-item-disabled {
	color: #bbb !important;
}

.is-style-info-item-phone::before {
    width: 30px;
    height: 30px;
}
p .is-style-info-item-phone{
	align-items: center;
    gap: 0;
}

/*--------------------------------------------------------------
# 矢印テキストリンク バリエーション
--------------------------------------------------------------*/

/* 共通：リンクの色（デフォルト下線なし） */
.is-style-link-arrow > a,
.is-style-link-arrow-sm > a {
	color: #1889D3;
	text-decoration: none;
}

/* ホバー時に下線 */
.is-style-link-arrow > a:hover,
.is-style-link-arrow-sm > a:hover {
	text-decoration: underline;
	text-underline-position: from-font;
}

/* 矢印リンク アンダーライン（Figma: Link1 M hover / 常時下線 + 矢印アイコン） */
.is-style-link-arrow-border > a {
	color: #1889D3;
	text-decoration: underline;
	text-underline-position: from-font;
}

/* 矢印アイコン M（Figma: 16px枠 w7.647 × h13.333px、gap 4px） */
.is-style-link-arrow > a::after,
.is-style-link-arrow-border > a::after {
	content: "";
	display: inline-block;
	width: 1em;
    height: 1.5em;
	background-color: currentColor;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-link-arrow.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-link-arrow.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	vertical-align: middle;
	margin-left: 4px;
	position: relative;
	top: -2px;
}

/* 矢印アイコン S（Figma: 14px枠 w6.691 × h11.667px、gap 4px） */
.is-style-link-arrow-sm > a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 12px;
	background-color: currentColor;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-link-arrow.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-link-arrow.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	vertical-align: middle;
	margin-left: 4px;
}

/* 小サイズ（Figma S: 14px / line-height 1.6） */
.is-style-link-arrow-sm {
	font-size: 14px;
}

@media screen and (max-width: 767px) {
	.is-style-link-arrow-sm {
		font-size: 13px;
	}
}

/*--------------------------------------------------------------
# テキストリンク バリエーション
--------------------------------------------------------------*/

/* 共通：色・常時下線 */
.is-style-text-link > a,
.is-style-text-link-sm > a,
.is-style-text-link-note > a {
	color: #1889D3;
	text-decoration: underline;
	text-underline-position: from-font;
}


/* S サイズ（Figma S: 14px / line-height 1.6） */
.is-style-text-link-sm {
	font-size: 14px;
}

/* icon_minus（Figma S: 常時表示の横線 h1.4px × w11.667px、gap 2px） */
.is-style-text-link-sm::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 2px;
	background-color: #1889D3;
	vertical-align: middle;
	margin-left: 2px;
}

/* annotation（Figma: 12px / line-height 1.4 / YuGothic W3） */
.is-style-text-link-note {
	font-size: 12px;
	line-height: 1.4;
	font-weight: 300;
}

@media screen and (max-width: 767px) {
	.is-style-text-link-sm {
		font-size: 13px;
	}
	.is-style-text-link-note {
		font-size: 11px;
	}
}

/*--------------------------------------------------------------
# 外部リンク
--------------------------------------------------------------*/

/* 色・下線（Figma body_S: 14px / Medium / #1889D3） */
.is-style-link-external > a {
	color: #1889D3;
	font-size: 14px;
	text-decoration: underline;
	text-underline-position: from-font;
}

/* 外部リンクアイコン（Figma Masked Icon: 20px、mask-image で色追従） */
.is-style-link-external > a::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-link-external.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-link-external.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	vertical-align: middle;
	margin-left: 2px;
}

/*--------------------------------------------------------------
# 箇条書き
--------------------------------------------------------------*/

/* M サイズ（16px）・アイテム間 gap 4px */
.c-list-ul.wp-block-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 16px;
	font-family: 'YuGothic', 'Yu Gothic', sans-serif;
	font-weight: 500;
	color: #363636;
	line-height: 1.6;
	text-align: left !important;
	align-items: flex-start;
	width: 100%;
}

.c-list-ul.wp-block-list > li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding-left: 0;
	text-align: left;
	width: 100%;
}

/* 黒丸 bullet（Figma: icon 16×26px 内に配置） */
.c-list-ul.wp-block-list > li::before {
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #363636;
	flex-shrink: 0;
	margin-top: calc((1em * 1.6 - 4px) / 2); /* フォントサイズに追従して垂直中央 */
}

/* S サイズ（14px） */
.c-list-ul.c-list-ul--sm.wp-block-list {
	font-size: 14px;
}

@media screen and (max-width: 767px) {
	.c-list-ul.wp-block-list { font-size: 15px; }
	.c-list-ul.c-list-ul--sm.wp-block-list { font-size: 13px; }
}

/*--------------------------------------------------------------
# ポイントリスト
--------------------------------------------------------------*/

/* コンテナ（クリーム背景・flex縦並び）*/
.c-point-list.wp-block-group {
	background-color: #fcfaee;
	padding: 16px 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left !important;
	align-items: flex-start;
	width: 100%;
}

/* タイトル（バリアント3 のみ / オレンジ・Bold）*/
.c-point-list__title {
	color: #eb651a;
	font-family: 'YuGothic', 'Yu Gothic', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	padding-bottom: 8px;
	border-bottom: 1px solid #fcfaee; /* Figma に合わせ背景色と同色の罫線 */
	margin: 0 !important;
}

/* リスト */
.c-point-list__items.wp-block-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 16px;
	font-family: 'YuGothic', 'Yu Gothic', sans-serif;
	font-weight: 500;
	color: #363636;
	line-height: 1.6;
	text-align: left !important;
	align-items: flex-start;
	width: 100%;
}

.c-point-list__items.wp-block-list > li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding-left: 0;
	text-align: left;
	width: 100%;
}

/* オレンジ丸 bullet（Figma: icon 12×26px 内に配置） */
.c-point-list__items.wp-block-list > li::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #eb651a;
	flex-shrink: 0;
	margin-top: calc((1em * 1.6 - 8px) / 2); /* フォントサイズに追従して垂直中央 */
}

@media screen and (max-width: 767px) {
	.c-point-list.wp-block-group { padding: 15px; gap: 12px; }
	.c-point-list__items.wp-block-list { font-size: 15px; }
}

/*--------------------------------------------------------------
# ポイントリスト（背景なし）（Figma: ListPoint node-1629-4704）
--------------------------------------------------------------*/

.c-list-point-plain.wp-block-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	font-size: 16px;
	font-family: 'YuGothic', 'Yu Gothic', sans-serif;
	font-weight: 500;
	color: #363636;
	line-height: 1.6;
	text-align: left !important;
	width: 100%;
}

.c-list-point-plain.wp-block-list > li {
	/* display: flex; */
	align-items: flex-start;
	/* gap: 8px; */
	padding-left: 14px;
	text-align: left;
	width: 100%;
	display: inline-block;
}

.c-list-point-plain.wp-block-list > li::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #eb651a;
	flex-shrink: 0;
	/* margin-top: calc((1em * 1.6 - 10px) / 2); フォントサイズに追従して垂直中央 */
	display: inline-block;
    left: 0;
    position: absolute;
    top: -1px;
    bottom: 0;
    margin: auto 0;
}

@media screen and (max-width: 767px) {
	.c-list-point-plain.wp-block-list { font-size: 15px; }
	.c-list-point-plain.wp-block-list > li::before{
		margin-top: calc((1em * 1.6 - 10px) / 2);
		display: inline-block;
		left: 0;
		position: absolute;
		top: 0;
		bottom: 0;
	}
}

/* ------------------------------------------------------------
   1. 緊急のお知らせ（lazyblock/notice）
   ------------------------------------------------------------ */
.c-notice {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"label date"
		"text text";
	gap: 8px;
	width: 100%;
	padding: 10px 20px;
	background-color: #fff5f5;
	color: #d62533;
	text-decoration: none;
}

a.c-notice:hover {
	opacity: 0.7;
	text-decoration: none;
}

.c-notice__label {
	grid-area: label;
	margin: 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	color: #d62533;
}

.c-notice__body {
	display: contents;
}

.c-notice__date {
	grid-area: date;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	text-align: right;
}

.c-notice__text {
	grid-area: text;
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}

.wp-block-lazyblock-notice{
	margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
	width: calc(var(--vw, 1vw) * 100);
	background-color: #fff5f5;
}

@media screen and (min-width: 768px) {
	.c-notice {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 20px;
		height: 42px;
		background-color: #fff5f5;
		max-width: 1140px;
        margin: 0 auto;
		padding: 10px 15px;
	}
	.c-notice__label {
		flex-shrink: 0;
		width: 130px;
		font-size: 18px;	
	}
	.c-notice__body {
		display: flex;
		flex: 1 0 0;
		flex-direction: row;
		align-items: center;
		gap: 12px;
	}
	.c-notice__date {
		flex-shrink: 0;
		text-align: center;
		white-space: nowrap;
		font-size: 16px;
	}
	.c-notice__text {
		flex: 1 0 0;
		font-size: 14px;
	}
	.wp-block-lazyblock-notice{
		margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
		width: calc(var(--vw, 1vw) * 100);
	}
}

/* ------------------------------------------------------------
   アコーディオン開閉アイコン（+ / −）
   ------------------------------------------------------------ */
.c-accordion__icon,
.c-accordion-course__icon,
.c-accordion-step__icon {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 16px;
	height: 16px;
}

.c-accordion__icon::before,
.c-accordion__icon::after,
.c-accordion-course__icon::before,
.c-accordion-course__icon::after,
.c-accordion-step__icon::before,
.c-accordion-step__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13.333px;
	height: 1.6px;
	background-color: #eb651a;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.c-accordion__icon::after,
.c-accordion-course__icon::after,
.c-accordion-step__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.is-open .c-accordion__icon::after,
.is-open .c-accordion-course__icon::after,
.is-open .c-accordion-step__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

/* ------------------------------------------------------------
   汎用アコーディオン（lazyblock/accordion）
   ------------------------------------------------------------ */
.c-accordion__list .wp-block-lazyblock-accordion:not(:first-child),
.c-accordion__list .wp-block-lazyblock-accordion-course:not(:first-child){
	margin-top: 20px;
}
.c-accordion {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

.c-accordion__item {
	position: relative;
	background-color: #fff;
	border: 1px solid #777;
}

.c-accordion__item::before {
	content: none;
}

.c-accordion__item + .c-accordion__item {
	margin-top: 20px;
}

.c-accordion__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 15px;
	cursor: pointer;
}

.c-accordion__title {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
}

.c-accordion__body {
	display: none;
	padding: 8px 15px 24px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

@media screen and (min-width: 768px) {
	.c-accordion__head {
		padding: 16px 24px;
	}
	.c-accordion__body {
		padding: 8px 24px 24px;
	}
}

/* ------------------------------------------------------------
   コース絞り込みアコーディオン（lazyblock/accordion-course）
   ------------------------------------------------------------ */
.c-accordion-course {
	list-style: none;
	padding: 0;
	margin: 16px 0 0;
}

.c-accordion-course__item {
	position: relative;
	background-color: #fff;
	border: 1px solid #777;
}

.c-accordion-course__item::before {
	content: none;
}

.c-accordion-course__item + .c-accordion-course__item {
	margin-top: 20px;
}

.c-accordion-course__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 15px;
	cursor: pointer;
}

.c-accordion-course__head-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 4px;
	flex: 1 1 0;
	min-width: 0;
}

.c-accordion-course__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	width: 100%;
}

.c-accordion-course__grade {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	height: 20px;
	padding: 0 8px;
	background-color: #fcfaee;
	border-radius: 2px;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 500;
	color: #eb651a;
	white-space: nowrap;
}

.c-accordion-course__label {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
}

.c-accordion-course__title {
	font-size: 20px;
	line-height: 1.6;
	font-weight: bold;
	color: #eb651a;
	width: 100%;
}

.c-accordion-course__body {
	display: none;
	padding: 8px 15px 24px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

@media screen and (min-width: 768px) {
	.c-accordion-course__head {
		padding: 16px 24px;
	}
	.c-accordion-course__body {
		padding: 8px 24px 24px;
	}
}

/* ------------------------------------------------------------
   ステップ番号アコーディオン（lazyblock/accordion-step）
   ------------------------------------------------------------ */
.c-accordion-step {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
	counter-reset: accordion-step-item;
}

.c-accordion-step .wp-block-lazyblock-accordion-step:not(:first-child){
	margin-top: 20px;
}

.c-accordion-step__item {
	position: relative;
	background-color: #fff;
	border: 1px solid #777;
}

.c-accordion-step__item::before {
	content: none;
}

.c-accordion-step__item + .c-accordion-step__item {
	margin-top: 20px;
}

.c-accordion-step__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 16px 15px;
	cursor: pointer;
}

.c-accordion-step__head-body {
	display: flex;
	align-items: center;
	flex: 1 1 0;
	min-width: 0;
}

.c-accordion-step__number {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
	color: #eb651a;
}

.c-accordion-step__number::before {
	counter-increment: accordion-step-item;
	content: counter(accordion-step-item) ". ";
}

.c-accordion-step__title {
	flex: 1 1 0;
	min-width: 0;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
}

.c-accordion-step__body {
	display: none;
	padding: 8px 15px 24px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

@media screen and (min-width: 768px) {
	.c-accordion-step__head {
		padding: 16px 16px 16px 24px;
	}
	.c-accordion-step__body {
		padding: 8px 24px 24px;
	}
}

/* ------------------------------------------------------------
   Q&Aアコーディオン／FAQ（Yoast構造化データブロック / yoast/faq-block）
   ------------------------------------------------------------ */
.schema-faq {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

.schema-faq-section {
	position: relative;
	background-color: #fff;
	border: 1px solid #777;
	cursor: pointer;
}

.schema-faq-section:nth-child(n + 2) {
	margin-top: 20px;
}

.schema-faq-question,
.schema-faq-answer {
	position: relative;
	display: block;
}

.schema-faq-question {
	padding: 15px 39px 15px 47px;
	font-size: 16px;
	line-height: 1.6;
	color: #363636;
}

.schema-faq-section .schema-faq-question {
	font-weight: 500;
}

.schema-faq-question::before {
	position: absolute;
	content: "Q.";
	top: 15px;
	left: 15px;
	/* width: 32px;
	height: 32px; */
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	color: #eb651a;
}

.schema-faq-question::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 13.333px;
	height: 13.333px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center;
	background-image:
		linear-gradient(#eb651a, #eb651a),
		linear-gradient(#eb651a, #eb651a);
	background-size:
		13.333px 1.6px,
		1.6px 13.333px;
}

.schema-faq-section.is-open .schema-faq-question::after {
	background-size:
		13.333px 1.6px,
		0 0;
}

.schema-faq-answer {
	display: none;
	margin: 0 24px;
	padding: 16px 0 16px 23px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
  background-image: linear-gradient(to right, #c3c3c3 50%, transparent 50%);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  background-position: top left;
}

.schema-faq-answer::before {
	position: absolute;
	content: "A";
	top: 16px;
	left: 0;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 300;
	text-align: center;
	color: #EB651A;
}

@media screen and (min-width: 768px) {
	.schema-faq-question {
		padding: 16px 47px 16px 56px;
	}
	.schema-faq-question::before {
    top: 16px;
    left: 22px;
	}
	.schema-faq-question::after {
		right: 16px;
	}
	.schema-faq-answer {
		padding: 16px 0 16px 22px;
    margin: 0 24px;
	}
	.schema-faq-answer::before {
    top: 14px;
    font-weight: bold;
	}
}

/* ------------------------------------------------------------
   インラインリンクアコーディオン（lazyblock/accordion-text）
   ------------------------------------------------------------ */
.c-accordion-text {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.c-accordion-text__item {
	display: block;
}

.c-accordion-text__trigger {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	cursor: pointer;
}

.c-accordion-text__trigger-label {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 500;
	color: #eb651a;
	text-decoration: underline;
	text-underline-position: from-font;
}

.c-accordion-text__icon {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 14px;
	height: 14px;
}

.c-accordion-text__icon::before,
.c-accordion-text__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11.667px;
	height: 1.4px;
	background-color: #eb651a;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.c-accordion-text__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.is-open > .c-accordion-text__trigger .c-accordion-text__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.c-accordion-text__content {
	display: none;
	margin-top: 8px;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
}

/* ------------------------------------------------------------
   画像カルーセル（lazyblock/carousel）
   ------------------------------------------------------------ */
.c-carousel {
	position: relative;
	width: 100%;
	/* display: grid; */
	grid-template-columns: auto 1fr auto;
	grid-template-areas:
		"content content content"
		"prev pagination next";
	align-items: center;
	column-gap: 8px;
	row-gap: 16px;
}

.c-carousel__content {
	overflow: hidden;
	width: 100%;
	max-width: 315px;
	margin: 0 auto;
	grid-area: content;
}

.c-carousel .c-carousel__wrap {
	display: flex;
	align-items: center;
}

.c-carousel .c-carousel__slide {
	flex-shrink: 0;
	width: 315px;
	/* height: 221px; */
	height: auto;
}

.c-carousel__bottom{
	display: flex;
    justify-content: center;
	margin-top: 16px;
    gap: 8px;
}

.c-carousel__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-carousel .c-carousel__nav-btn {
	position: static;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10px;
	height: 10px;
	margin: 0;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.c-carousel .c-carousel__nav-btn::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	margin-left: 0;
	border-top: 1px solid #eb651a;
	border-right: 1px solid #eb651a;
	transform: rotate(45deg);
}

.c-carousel .c-carousel__nav-btn--prev {
	grid-area: prev;
	justify-self: start;
}

.c-carousel .c-carousel__nav-btn--prev::after {
	margin-left: 0;
	transform: rotate(-135deg);
}

.c-carousel .c-carousel__pagination {
	grid-area: pagination;
	justify-self: center;
	width: auto;
	top: 0;
}

.c-carousel .c-carousel__nav-btn--next {
	grid-area: next;
	justify-self: end;
}

.c-carousel .c-carousel__nav-btn.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
}

.c-carousel__pagination {
	margin-top: 0;
	text-align: center;
  position: relative!important;
  display: flex;
  justify-content: center;
  width: 100%;
}

.c-carousel .c-carousel__pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin: 0 4px;
	background-color: #dedede;
	border-radius: 50%;
	opacity: 1;
}

.c-carousel .c-carousel__pagination .swiper-pagination-bullet-active {
	background-color: #eb651a;
}

@media screen and (min-width: 768px) {
	.c-carousel .c-carousel__slide {
		width: 320px;
		/* height: 224px; */
		height: auto;
	}
	.c-carousel__content {
		max-width: 1140px;
		margin: 0 auto;
	}
	.c-carousel__slide a:hover{
		opacity: 0.7;
	}
}
@media screen and (max-width: 767px) {
	.c-carousel__content{
		max-width: 100%;
	}
	.c-carousel .c-carousel__slide{
		width: 100%;
		height: 100%;
	}
}
@media screen and (min-width: 768px) {
	.c-carousel--cols-1 .c-carousel__slide,
	.c-carousel--cols-2 .c-carousel__slide,
	.c-carousel--cols-3 .c-carousel__slide,
	.c-carousel--cols-4 .c-carousel__slide {
		width: 258px;
	}
	.c-carousel--cols-1 .c-carousel__content,
	.c-carousel--cols-2 .c-carousel__content,
	.c-carousel--cols-3 .c-carousel__content,
	.c-carousel--cols-4 .c-carousel__content {
		max-width: var(--rcs-carousel-content-width, 1140px);
	}
	.c-carousel--cols-1 .c-carousel__img,
	.c-carousel--cols-2 .c-carousel__img,
	.c-carousel--cols-3 .c-carousel__img,
	.c-carousel--cols-4 .c-carousel__img {
		object-fit: contain;
	}
	.c-carousel--static-pc .c-carousel__nav-btn,
	.c-carousel--static-pc .c-carousel__pagination {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.c-carousel--cols-1 .c-carousel__slide,
	.c-carousel--cols-2 .c-carousel__slide,
	.c-carousel--cols-3 .c-carousel__slide,
	.c-carousel--cols-4 .c-carousel__slide {
		height: auto;
	}
	.c-carousel--cols-1 .c-carousel__img,
	.c-carousel--cols-2 .c-carousel__img,
	.c-carousel--cols-3 .c-carousel__img,
	.c-carousel--cols-4 .c-carousel__img {
		object-fit: contain;
	}
}
/* ------------------------------------------------------------
   保護者の声カード（lazyblock/voice-item）
   ------------------------------------------------------------ */
/* リピーター化により、ブロック自身が .c-voice-item-list を描画するため
   .wp-block-group__inner-container 経由のセレクタは廃止 */
.c-voice-item-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.c-voice-item-list .c-voice-item {
	width: auto;
	flex: 0 1 552px;
}

.c-voice-item {
	background-color: #fcfaee;
	padding: 20px 15px;
	width: 100%;
	max-width: 552px;
}

.c-voice-item__top {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	border-bottom: 1px solid #eee3c8;
	padding-bottom: 20px;
	margin-bottom: 16px;
}

.c-voice-item__img {
	flex-shrink: 0;
	width: 90px;
	height: 90px;
	border-radius: 100%;
	overflow: hidden;
}

.c-voice-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-voice-item__title-area {
	flex: 1 1 0;
	min-width: 0;
}

.c-voice-item__title {
	margin: 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	color: #363636;
}

.c-voice-item__meta {
	margin: 4px 0 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #666;
}

.c-voice-item__content-wrap {
	position: relative;
	height: 132px;
	overflow: hidden;
	border-bottom: 1px solid #fcfaee;
	transition: height 0.3s ease-out;
}

.c-voice-item__content-wrap.is-open {
	height: auto;
}

.c-voice-item__content {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #363636;
	padding-bottom: 68px;
}

.c-voice-item__buttons {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
}

.c-voice-item__btn-more,
.c-voice-item__btn-close {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	border: 0;
	background: none;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	color: #eb651a;
	padding: 0;
	cursor: pointer;
}

.c-voice-item__btn-more {
	height: 64px;
	background: linear-gradient(to bottom, rgba(252, 255, 253, 0.2) 0%, #fcfaee 55%);
}

.c-voice-item__btn-close {
	display: none;
	height: 64px;
	padding-bottom: 20px;
	background-color: #fcfaee;
}

.is-open .c-voice-item__btn-more {
	display: none;
}

.is-open .c-voice-item__btn-close {
	display: flex;
}

.c-voice-item__icon {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 16px;
	height: 16px;
}

.c-voice-item__icon::before,
.c-voice-item__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13.333px;
	height: 1.6px;
	background-color: #eb651a;
	transform: translate(-50%, -50%);
}

.c-voice-item__icon--more::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.c-voice-item__icon--close::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

@media screen and (min-width: 768px) {
	.c-voice-item {
		padding: 24px 24px 25px 24px;
		width: 552px;
	}
	.c-voice-item__img {
		width: 100px;
		height: 100px;
	}
	.c-voice-item__title {
		font-size: 18px;
	}
	.c-voice-item__content-wrap {
		height: 141px;
	}
	.c-voice-item__btn-more {
		height: 80px;
	}
}

/* ------------------------------------------------------------
   合格者ボイスカード（lazyblock/voicecard）
   ------------------------------------------------------------ */
.c-voicecard {
	position: relative;
	width: 100%;
	/* max-width: 288px; */
	background-color: #fff;
	border: 1px solid #c3c3c3;
	border-radius: 8px;
}

.c-voicecard__content-wrap {
	position: relative;
	height: 320px;
	padding: 24px;
	overflow: hidden;
	transition: height 0.3s ease-out;
}

.c-voicecard__content-wrap.is-open {
	height: auto;
}

.c-voicecard__top {
	display: flex;
	gap: 15px;
	align-items: flex-start;
}

.c-voicecard__img {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
}

.c-voicecard__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-voicecard__name-area {
	flex: 1 1 0;
	min-width: 0;
}

.c-voicecard__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	max-width: 145px;
	padding-bottom: 6px;
}

@media screen and (min-width: 768px) {
	.c-voicecard__labels {
		max-width: none;
	}
}
@media screen and (max-width: 767px) {
	.c-voicecard__labels {
		flex-wrap: nowrap;
	}
}
.c-voicecard__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
	background-color: #fff;
	border: 1px solid #333;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	color: #333;
	white-space: nowrap;
}

.c-voicecard__school {
	margin: 0;
	padding-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.1;
	color: #eb651a;
}

.c-voicecard__name-row {
	display: flex;
	align-items: baseline;
	/* gap: 8px; */
	color: #333;
}

.c-voicecard__name {
	font-size: 16px;
	font-weight: 500;
}

.c-voicecard__honorific {
	font-size: 12px;
	font-weight: 500;
}

.c-voicecard__elementary {
	flex: 1 1 0;
	min-width: 0;
	font-size: 12px;
	font-weight: 500;
	margin-left: 8px;
}

.c-voicecard__text-area {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
	padding-bottom: 56px;
}

.c-voicecard__text-area p:first-child {
	margin-top: 0;
}

.c-voicecard__buttons {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
}

.c-voicecard__btn-more,
.c-voicecard__btn-close {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	border: 0;
	background: none;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	color: #eb651a;
	padding: 0;
	cursor: pointer;
  border-radius: 8px;
}

.c-voicecard__btn-more {
	height: 86px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0%, #fff 80%);
	}

.c-voicecard__btn-close {
	display: none;
	height: 48px;
	padding-bottom: 16px;
	background-color: #fff;
}

.is-open .c-voicecard__btn-more {
	display: none;
}

.is-open .c-voicecard__btn-close {
	display: flex;
}

.c-voicecard__icon {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 16px;
	height: 16px;
}

.c-voicecard__icon::before,
.c-voicecard__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13.333px;
	height: 1.6px;
	background-color: #eb651a;
	transform: translate(-50%, -50%);
}

.c-voicecard__icon--more::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.c-voicecard__icon--close::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

@media screen and (min-width: 768px) {
	.c-voicecard {
		max-width: 356px;
	}
	.c-voicecard__text-area {
		font-size: 16px;
	}
}

/* リピーター化により、ブロック自身が .c-voicecard-list（カード一覧の外枠）を描画する。
   列数・gapの正式仕様はFigma未確認のため暫定値。カラム設計.pdfとの照合が必要 */
.c-voicecard-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.c-voicecard-list .c-voicecard {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.c-voicecard-list .c-voicecard {
		width: auto;
		flex: 0 1 356px;
	}
}

/* ------------------------------------------------------------
   講師一覧カード（lazyblock/teacher-card）
   ------------------------------------------------------------ */
.c-teacher-card-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.c-teacher-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	padding: 20px;
	background-color: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 8px;
}

@media screen and (min-width: 768px) {
	.c-teacher-card {
		width: auto;
		flex: 0 1 364px;
	}
}

.c-teacher-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 12px;
	width: 100%;
}

.c-teacher-card__photo {
	overflow: hidden;
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	border-radius: 80px;
	background-color: #fff;
}

.c-teacher-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-teacher-card__info {
	display: flex;
	flex: 1 0 0;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.c-teacher-card__labels {
	display: flex;
	align-items: flex-start;
	gap: 4px;
}

.c-teacher-card__label {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
	background-color: #fff;
	border: 1px solid #333;
	color: #333;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.c-teacher-card__furigana {
	/* ふりがなが教科ラベルとセットに見えてしまうため、本名側に寄せる。2026.8.19 */
	margin-top: 5px;
    margin-bottom: -5px;
	color: #363636;
	font-size: 12px;
	line-height: 1.4;
}

.c-teacher-card__name {
	color: #eb651a;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
}

.c-teacher-card__university {
	color: #363636;
	font-size: 12px;
	line-height: 1.4;
}

.c-teacher-card__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	height: 48px;
	padding: 8px 8px 8px 24px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.c-teacher-card__btn:hover {
	background-color: #fdf1ea;
	text-decoration: none;
}

.c-teacher-card__btn-text {
	flex: 1 0 0;
	color: #eb651a;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.c-teacher-card__btn-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

/* ------------------------------------------------------------
   カードグリッドの動的ページネーション（.js-c-paged-grid）
   ------------------------------------------------------------ */
.c-paged-grid__pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
    max-width: 944px;
    margin: 80px auto 0;
	padding-top: 16px;
	border-top: 1px solid #c3c3c3;
}

.c-paged-grid__pager-link {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 40px;
	padding: 0;
	background: none;
	border: none;
	color: #eb651a;
	font-size: 14px;
	line-height: 1.6;
	cursor: pointer;
}

.c-paged-grid__pager-link.is-disabled {
	color: #666;
	cursor: default;
	pointer-events: none;
}

.c-paged-grid__pager-divider {
	flex-shrink: 0;
	width: 1px;
	height: 16px;
	background-color: #c3c3c3;
}

.c-paged-grid__pager-icon {
	display: inline-block;
	flex-shrink: 0;
	width: 7px;
	height: 12px;
	background-color: currentColor;
	-webkit-mask: url("/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg") center / contain no-repeat;
	mask: url("/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg") center / contain no-repeat;
}

.c-paged-grid__pager-link--prev .c-paged-grid__pager-icon {
	transform: scaleX(-1);
}

.c-paged-grid{
	gap: 36px;
}
@media screen and (max-width: 767px) {
	.c-paged-grid{
		gap: 36px;
		grid-template-columns: 1fr !important;
	}
}

/* ------------------------------------------------------------
   申込STEPカード（lazyblock/step）
   ------------------------------------------------------------ */
.c-step-list {
	counter-reset: step-item;
}

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

.c-step-list .wp-block-lazyblock-step:not(:first-child){
	margin-top: 64px;
}

.c-step-list .wp-block-lazyblock-step:not(:last-child)::after{
	content: "";
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -44px;
	width: 24px;
	height: 24px;
    background-image: url(/wp-content/themes/up/images/commons/acc_icon_arrow_down.svg);
}

.c-step {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	padding: 24px 15px;
	background-color: #fff;
	border: 1px solid #e7e7e7;
}

.c-step + .c-step {
	margin-top: 24px;
}

.c-step__title {
	display: flex;
	align-items: center;
	width: 100%;
}

.c-step__number {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
	color: #eb651a;
}

.c-step__number::before {
	counter-increment: step-item;
	content: counter(step-item) ". ";
}

.c-step__title-text {
	flex: 1 1 0;
	min-width: 0;
	font-size: 18px;
	line-height: 1.6;
	font-weight: bold;
	color: #363636;
}

.c-step__content {
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
}

.c-step__content > .lazyblock-inner-blocks > *:first-child {
    margin-top: 24px;
}

.c-step__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	height: 48px;
	padding: 8px 8px 8px 24px;
	background-color: #f1610b;
	border-radius: 8px;
	text-decoration: none;
}

.c-step__btn:hover {
	opacity: 0.8;
	text-decoration: none;
}

.c-step__btn-text {
	flex: 1 1 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: #fff;
}

.c-step__btn-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
}

.c-step__btn-icon::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	margin-left: -2px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
/* ------------------------------------------------------------
   申込STEPカード（タグ付き・2カラム用）
   ------------------------------------------------------------ */
.c-step__title-flags {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 0;
	min-width: 0;
}

.c-step-list .c-step-columns {
	counter-increment: step-item;
}

.c-step-list .c-step-columns,
.c-step-list .c-step-columns > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.c-step-list .c-step-columns:not(:first-child) {
	margin-top: 64px;
}

.c-step-columns .wp-block-lazyblock-step-tag {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
}

.c-step-columns .c-step__number::before {
	counter-increment: step-item 0;
}

.c-step-list .c-step-columns:not(:last-child) .wp-block-lazyblock-step-tag::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -44px;
	width: 24px;
	height: 24px;
	background-image: url(/wp-content/themes/up/images/commons/acc_icon_arrow_down.svg);
}

.c-step-list .wp-block-lazyblock-step:has(+ .c-step-columns)::after {
	left: 25%;
}

.c-step-list .wp-block-lazyblock-step:has(+ .c-step-columns)::before {
	content: "";
	display: block;
	position: absolute;
	left: 75%;
	transform: translateX(-50%);
	bottom: -44px;
	width: 24px;
	height: 24px;
	background-image: url(/wp-content/themes/up/images/commons/acc_icon_arrow_down.svg);
}

/* カード1枚目とカード2枚目の間だけ「または」テキストに差し替える（2枚目→次のstepの矢印はそのまま） */
.c-step-list .c-step-columns:not(:last-child) .wp-block-lazyblock-step-tag:first-child {
	margin-bottom: 45px;
}

.c-step-list .c-step-columns:not(:last-child) .wp-block-lazyblock-step-tag:first-child::after {
	content: "または";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -37px;
	transform: translateX(-50%);
	width: auto;
	height: auto;
	background-image: none;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: #333;
	white-space: nowrap;
}

.c-step-columns .c-tag-lesson{
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	.c-step-list .wp-block-lazyblock-step:has(+ .c-step-columns)::after {
		left: 50%;
	}
	.c-step-list .wp-block-lazyblock-step:has(+ .c-step-columns)::before {
		content: none;
	}

	.c-step-list .c-step-columns,
	.c-step-list .c-step-columns > .wp-block-group__inner-container {
		gap: 0;
	}

	.c-step__title {
		flex-wrap: wrap;
	}
	.c-step__title-flags {
		display: contents;
	}
	.c-step__title-flags .c-step__title-text {
		flex: 1 1 100%;
		width: 100%;
		margin-top: 8px;
	}
	.c-step-columns .c-step__title-text{
		font-size: 16px;
	}
}

@media screen and (min-width: 768px) {
	.c-step {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 0;
		padding: 24px;
	}
	.c-step__title,
	.c-step__content {
		width: 100%;
	}
	.c-step__btn {
		width: 348px;
	}
	.c-step-columns {
		align-items: stretch;
	}
	.c-step-list .c-step-columns,
	.c-step-list .c-step-columns > .wp-block-group__inner-container {
		flex-direction: row;
		gap: 24px;
	}
	.c-step-columns .wp-block-lazyblock-step-tag {
		display: flex;
		width: auto;
	}
	.c-step-columns .c-step {
		flex: 1 1 auto;
		width: 100%;
		align-content: flex-start;
	}
	.c-step-list .c-step-columns:not(:last-child) .wp-block-lazyblock-step-tag:first-child {
		margin-bottom: 0;
	}
	.c-step-list .c-step-columns:not(:last-child) .wp-block-lazyblock-step-tag:first-child::after {
		content: "";
		bottom: -44px;
		width: 24px;
		height: 24px;
		background-image: url(/wp-content/themes/up/images/commons/acc_icon_arrow_down.svg);
	}
}

/* ------------------------------------------------------------
   タブ（lazyblock/tab）
   ------------------------------------------------------------ */
.c-tab__wrap {
	margin-top: 32px;
}

.c-tab__content {
	display: none;
	width: 100%;
}

.c-tab__content.is-active {
	display: block;
}

.c-tab {
	display: flex;
	flex-direction: row;
  flex-wrap: wrap;
	width: 100%;
	padding-left: 0;
	margin-top: 0;
	padding-bottom: 40px;
}

.c-tab__item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 64px;
	padding: 16px 0;
	border-bottom: 1px solid #c3c3c3;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #333;
	text-align: center;
	cursor: pointer;
	transition: ease-out 0.2s;
	margin-top: 0;
}

.c-tab__item::before {
	content: none;
}

.c-tab__item.is-active {
	border-bottom: 4px solid #eb651a;
	color: #eb651a;
	padding-bottom: 13px;
}

.c-tab__item:hover {
	color: #eb651a;
	background-color: #f2f2f2;
}

@media screen and (min-width: 768px) {
	.c-tab {
		padding-bottom: 40px;
	}
	.c-tab__item {
		flex: none;
		width: 380px;
		font-size: 18px;
		line-height: 1.6;
		flex: 1 1 0;
	}
}

/* ------------------------------------------------------------
   12-2.ボタンタブ
   ------------------------------------------------------------ */
.c-tab--pill {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	padding-left: 0;
	padding-bottom: 20px;
	margin-top: 0;
}

.c-tab--pill .c-tab__item {
	flex: none;
	width: calc((100% / 3) - 7px);
	min-height: 48px;
	height: auto;
	min-width: 0;
	padding: 8px;
	margin-top: 0;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #eb651a;
	text-align: center;
}

.c-tab--pill .c-tab__item.is-active {
	background-color: #fff2ea;
	border: 1px solid #eb651a;
	padding: 8px;
}

.c-tab--pill .c-tab__item:hover {
	background-color: #fff2ea;
	color: #eb651a;
}

@media screen and (min-width: 768px) {
	.c-tab--pill{
		gap: 12px;
	}
	.c-tab--pill .c-tab__item {
		flex: none;
		width: 135px;
		font-size: 16px;
		line-height: 1.4;
	}
}


/* ------------------------------------------------------------
   モジュール: アンカーリンク（.c-anchor-link）
   ------------------------------------------------------------ */

/* 旧デザイン（左側の丸アイコン）を打ち消す */
.c-anchor-link > a::before {
    content: none;
}

.c-anchor-link{
  margin: 0;
}

.c-anchor-link > a {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 16px 24px 16px 0;
    border-bottom: 1px solid #333;
    font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #333;
    text-align: center;
    box-sizing: border-box;
}

.c-anchor-link > a:hover {
    text-decoration: none;
	opacity: .7;
}

.c-anchor-link > a::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    display: block;
    width: 16px;
    height: 16px;
    background-image: url("/wp-content/themes/up/images/commons/icon-arrow-right-orange.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 7.6px 13.3px;
}

.c-anchor-link > a:hover::after{
	top: 55%;
}


@media screen and (min-width: 768px) {
  .c-anchor-link{
    max-width: 364px;
    /* width: 100%; */
	width: calc((100% - 16px) / 3);
  }
  .c-anchor-list{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* ------------------------------------------------------------
   タグ
   ------------------------------------------------------------ */
.c-tag__wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.c-tag {
	max-width: 132px;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	padding: 2px 8px!important;
	text-align: center;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
	border-radius: 2px;
	display: inline-flex;
    align-items: center;
    justify-content: center;
}

.c-tag--grede {
	font-size: 12px;
	width: auto;
}

.c-tag--blue {
	background-color: #daebfb;
	color: #004693;
}

.c-tag--org {
	background-color: #fbe7da;
	color: #b92b00;
}

.c-tag--green {
	background-color: #e5f7de;
	color: #026725;
}

.c-tag--sky {
	background-color: #e0f5f2;
	color: #015771;
}

.c-tag-mini {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 20px;
	padding: 0 8px;
	border-radius: 2px;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	margin: 0;
}

.c-tag-mini--experience,
.c-tag-mini--exam {
	width: 112px;
}

.c-tag-mini--experience {
	background-color: #f1610b;
	color: #fff;
}

.c-tag-mini--exam {
	background-color: #8bc43f;
	color: #fff;
}

.c-tag-mini--seminar {
	background-color: #2882b9;
	color: #fff;
}

/* イベント種別タグ：特別授業／講習。2026.8.7追加。 */
.c-tag-mini--special {
	background-color: #1c2b73;
	color: #fff;
}

.c-tag-mini--course {
	background-color: #f2b401;
	color: #fff;
}

/* 授業形態タグ：集団／個別（formatタクソノミー）。
   見た目はc-tag-mini--experience等と同じボックスだが、イベント種別とは別の分類軸のため専用クラスとして分離。2026.8.21追加。 */
.c-tag-mini--format-group {
	background-color: #FFD0D8;
	color: #C66575;
}

.c-tag-mini--format-individual {
	background-color: #FFD0D8;
	color: #C66575;
}

.c-tag-mini--new {
	border-radius: 20px;
	background-color: #ed1c24;
	color: #fff;
}

.c-tag-mini--school {
	background-color: #fff;
	border: 1px solid #c3c3c3;
	color: #666;
}

.c-tag-mini--elementary {
	background-color: #fff;
	border: 1px solid #ff8500;
	color: #ff8500;
}

.c-tag-mini--junior {
	background-color: #fff;
	border: 1px solid #8bc43f;
	color: #8bc43f;
}

.c-tag-mini--high {
	background-color: #fff;
	border: 1px solid #1889d3;
	color: #1889d3;
}

.c-tag-lesson {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 4px 8px;
	border-radius: 2px;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	white-space: nowrap;
	margin: 0;
}

.c-tag-lesson--group {
	background-color: #eb651a;
}

.c-tag-lesson--individual {
	background-color: #8bc43f;
}

.c-tag-plain {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 2px 8px;
	background-color: #fff;
	border: 1px solid #333;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	color: #333;
	white-space: nowrap;
	margin: 0;
}

/* ----------------------------------------------------------------
   エリアカード（.c-area-card）
   ---------------------------------------------------------------- */
.c-area-card {
	width: 100%;
	max-width: 356px;
}

.c-area-card p{
	margin: 0;
}

.c-area-card__header {
	padding: 10px 20px;
}

.c-area-card__header p{
	padding: 0;
}

.c-area-card__content {
	gap: 12px;
	padding: 16px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-top: none;
}

.c-area-card__content .wp-block-group__inner-container{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.c-area-card__content__list{
	display: flex;
	gap: 12px;
}

.c-area-card__content__list .wp-block-column{
	margin: 0!important;
	flex-basis: auto !important;
}

.c-area-card__item:last-child {
	text-align: right;
}

.c-area-card .c-area-card__content p{
	line-height: 2.2;
}

@media screen and (min-width: 768px) {
	.c-area-card__content{
		padding: 16px 14px;
	}
	.c-area-card .c-area-card__content p{
		line-height: 2.2;
	}
}

@media screen and (max-width: 767px) {
	.c-area-card__content__list .wp-block-column:not(:only-child){
		flex-basis: auto !important;
	}
}

/* ----------------------------------------------------------------
   特長カード（.c-feature-card）
   ---------------------------------------------------------------- */
.c-feature-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 356px!important;
}

.c-feature-card figure,.c-feature-card p{
	margin: 0;
}

.c-feature-card__text{
	padding-top: 14px;
}

.c-feature-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-feature-card__text .wp-block-group__inner-container{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

@media screen and (max-width: 767px) {
	.c-feature-card {
        max-width: 100% !important;
    }
	.c-feature-card__text{
		padding-top: 16px;
	}
	.c-feature-card__text .wp-block-group__inner-container{
		gap: 16px;
	}
}

/* ----------------------------------------------------------------
   ポイントカード（.c-point-card）
   ---------------------------------------------------------------- */
.c-point-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: 1px solid #ccc;
	border-top: none;
	max-width: 356px;
}

.c-point-card p,.c-point-card ul{
	margin: 0;
}

.c-point-card__header {
	display: flex;
	align-items: center;
	justify-content: left;
	padding: 10px 20px;
}

.c-point-card__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	background-color: #fff;
}

.c-point-card__content .wp-block-group__inner-container{
	display: flex;
    gap: 8px;
    flex-direction: column;
}

/* ----------------------------------------------------------------
   横型カード（.c-card-horizontal）
   ---------------------------------------------------------------- */
.c-card-horizontal {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch!important;
	width: 100%;
	max-width: 552px;
	border: 1px solid #eb651a;
	gap: 0;
}

.c-card-horizontal__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 24px 20px;
	background-color: #fff;
	order: 2;
}

.c-card-horizontal__body p {
	margin: 0;
}

.c-card-horizontal__img {
	order: 1;
	flex-shrink: 0;
	margin: 0!important;
	width: 100%;
}

.c-card-horizontal__img figure {
	margin: 0!important;
	width: 100%;
}

.c-card-horizontal__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 362 / 200;
	object-fit: cover;
	object-position: top;
}

.c-card-horizontal .wp-block-group-vk-link {
	position: absolute;
	inset: 0;
}

@media screen and (min-width: 768px) {
	.c-card-horizontal {
		flex-direction: row;
		height: 100%;
	}
	.c-card-horizontal__body {
		width: 67%;
		flex-basis: 67% !important;
		order: 0;
		justify-content: flex-start;
	}
	.c-card-horizontal__img {
		width: 33%;
		flex-basis: 33% !important;
		order: 0;
	}
	.c-card-horizontal__img img {
		height: 100%;
		aspect-ratio: auto;
	}
	.c-card-horizontal__img figure {
		height: 100%;
	}
	.c-card-horizontal__img > .wp-block-group__inner-container{
		height: 100%;
	}
	.c-card-horizontal.has-link:hover{
		opacity: 0.7;
	}
}


/* ----------------------------------------------------------------
   インタビューカード（.c-card-interview）
   ---------------------------------------------------------------- */
.c-card-interview {
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 91px;
	margin: 0;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #181818;
}

.c-card-interview::before,
.c-card-interview::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
}

.c-card-interview::before {
	background-color: #eb651a;
}

.c-card-interview::after {
	inset: 1px;
	background-color: #fff;
}

/* 矢印: 左側（primary） */
.c-card-interview--primary {
	padding: 15px 15px 15px 49px;
}

.c-card-interview--primary::before,
.c-card-interview--primary::after {
	clip-path: polygon(
		100% 0%,
		26px 0%,
		26px calc(50% - 18px),
		2px 50%,
		26px calc(50% + 18px),
		26px 100%,
		100% 100%
	);
}

/* 矢印: 右側（secondary） */
.c-card-interview--secondary {
	padding: 15px 49px 15px 15px;
}

.c-card-interview--secondary::before,
.c-card-interview--secondary::after {
	clip-path: polygon(
		0% 0%,
		calc(100% - 26px) 0%,
		calc(100% - 26px) calc(50% - 18px),
		calc(100% - 2px) 50%,
		calc(100% - 26px) calc(50% + 18px),
		calc(100% - 26px) 100%,
		0% 100%
	);
}
.c-card-interview p{
	margin: 0;
}

/* 吹き出しの矢印（尖った部分）をSP時のみ垂直方向で上寄りにする追加クラス。
   .c-card-interview--primary／--secondary と併用する（例：
   class="c-card-interview c-card-interview--primary c-card-interview-human--sp"）。
   矢印の左右の向き（--primary/--secondary）はそのまま維持し、Y座標のみ
   中央（50%）から上寄り（吹き出し上端から高さの25%の位置）に上書きする。
   2026.8.7追加。
   NOTE: 2026.8.7修正：当初は18px/36px/54pxの固定pxで指定していたが、実際の
   吹き出しの高さがこれより低い場合、座標の前後関係が崩れて多角形が自己交差し、
   尖りの下側が欠けたような表示崩れが発生していた。吹き出しの高さに依存しない
   よう、固定pxではなく高さに対する割合（%）で位置を指定する方式に変更した。
   NOTE: 2026.8.7再修正：上記の%対応後も尖りの下側が消えたように見える崩れが
   残っていた。原因は::before（inset:0、高さ基準そのまま）と::after（白、
   inset:1pxで基準ボックスの高さが2px小さい）とで、同じ25%等の割合が
   微妙に異なるpx値に解決され、矢印のような凹形状では白(::after)がオレンジ
   (::before)の輪郭からわずかにはみ出し、尖りの下側を覆い隠してしまっていた
   ため。::afterもinset:0にして::beforeと同じ基準ボックスを共有させ、
   白い縁取り分（1px）は座標側で内側にオフセットすることで、二つの形状の
   パーセンテージ計算基準を完全に一致させた（実機（BlockMeisterプレビュー）で
   ::before/::after単体表示・重ね表示を比較し、この方式で崩れが解消することを
   確認済み）。 */
@media screen and (max-width: 767px) {
	.c-card-interview--primary.c-card-interview-human--sp::before,
	.c-card-interview--primary.c-card-interview-human--sp::after {
		clip-path: polygon(
			100% 0%,
			26px 0%,
			26px calc(25% - 12px),
			2px 25%,
			26px calc(25% + 12px),
			26px 100%,
			100% 100%
		);
	}

	.c-card-interview--primary.c-card-interview-human--sp::after {
		inset: 0;
		clip-path: polygon(
			calc(100% - 1px) 1px,
			27px 1px,
			27px calc(25% - 11px),
			3px 25%,
			27px calc(25% + 11px),
			27px calc(100% - 1px),
			calc(100% - 1px) calc(100% - 1px)
		);
	}

	.c-card-interview--secondary.c-card-interview-human--sp::before,
	.c-card-interview--secondary.c-card-interview-human--sp::after {
		clip-path: polygon(
			0% 0%,
			calc(100% - 26px) 0%,
			calc(100% - 26px) calc(25% - 12px),
			calc(100% - 2px) 25%,
			calc(100% - 26px) calc(25% + 12px),
			calc(100% - 26px) 100%,
			0% 100%
		);
	}

	.c-card-interview--secondary.c-card-interview-human--sp::after {
		inset: 0;
		clip-path: polygon(
			1px 1px,
			calc(100% - 27px) 1px,
			calc(100% - 27px) calc(25% - 11px),
			calc(100% - 3px) 25%,
			calc(100% - 27px) calc(25% + 11px),
			calc(100% - 27px) calc(100% - 1px),
			1px calc(100% - 1px)
		);
	}
}
.c-card-interview:not(:first-child){
	margin-top: 20px;
}
@media screen and (min-width: 768px) {
	.c-interview-wrap{
		padding: 20px 40px 40px;
	}
}
@media screen and (max-width: 767px) {
	.c-interview-wrap{
		padding: 20px 20px 40px;
	}
}
.c-context-right-border{
	display: inline-flex;
	padding-right: 16px;
	justify-content: center;
	align-items: flex-start;
	gap: 8px;
	border-right: 2px solid var(--bg_border-border-border_primary, #EB651A);
	padding-left: 0;
    margin-right: 10px !important;
}
.c-context-right-border:first-child{
	padding-left: 0 !important;;
}
.c-context-right-border:last-child{
    border-right: 0px;
}
.c-context-closing{
	display: flex;
	max-width: 784px;
	max-height: 74px;
	padding: var(--spacing-16, 16px);
	justify-content: center;
	align-items: center;
	gap: 10px;
	background: var(--bg_color-background-bg_a_tertiary_hover, #777);
	max-width: 1140px;
	flex: 1 0 0;
	color: var(--txt_color-txt-txt_white, #FFF);
	text-align: center;
	/* PC/heading/heading h1_ lower */
	font-size: var(--font-size-30, 30px);
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 42px */
}
@media screen and (max-width: 767px) {
	.c-context-closing{
			font-size: 20px;
	}
	.c-context-right-border__wrap{
        flex-wrap: wrap!important;
    }
}
/* ----------------------------------------------------------------
   アンカーリンクボタン
   ---------------------------------------------------------------- */
.wp-block-button.is-style-btn-anchor {
	width: 100%;
	max-width: 332px;
}
.wp-block-button.is-style-btn-anchor .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 0;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	width: 100%;
	box-sizing: border-box;
}
/* アイコンと同サイズの幽霊要素でテキストを視覚的に中央揃え */
.wp-block-button.is-style-btn-anchor .wp-block-button__link::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	visibility: hidden;
}
/* アイコン：flexフロー内に配置（absoluteを解除） */
.wp-block-button.is-style-btn-anchor .wp-block-button__link::after {
	content: "";
	display: block;
	flex-shrink: 0;
	position: static;
	top: auto;
	right: auto;
	width: 18px;
	height: 18px;
	border: none;
	background-color: #eb651a;
	border-radius: 50%;
	background-image: url("/wp-content/themes/up/images/commons/icon-btn-arrow-white.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 9px 9px;
	transform: rotate(90deg);
}
.wp-block-button.is-style-btn-anchor .wp-block-button__link:hover {
	background-color: #fff7f3;
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-anchor{
		max-width: 100%;
	}
}

/* ----------------------------------------------------------------
   セカンダリボタン
   ---------------------------------------------------------------- */
.wp-block-button.is-style-btn-secondary { width: 100%; }
.wp-block-button.is-style-btn-secondary .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	background-color: #fff;
	border: 1px solid #363636;
	border-radius: 8px;
	color: #363636;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
}
.wp-block-button.is-style-btn-secondary .wp-block-button__link::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	visibility: hidden;
}
.wp-block-button.is-style-btn-secondary .wp-block-button__link::after {
	content: "";
	display: block;
	flex-shrink: 0;
	position: static;
	top: auto;
	right: auto;
	width: 16px;
	height: 16px;
	border: none;
	transform: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4.31 13.33L3.33 12.35L9.02 6.67L3.33 0.98L4.31 0L10.98 6.67L4.31 13.33Z' fill='%23363636'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.wp-block-button.is-style-btn-secondary .wp-block-button__link:hover {
	background-color: #f5f5f5;
	text-decoration: none;
}

/* ----------------------------------------------------------------
   チェックリスト
   ---------------------------------------------------------------- */
p.is-style-list-check {
	position: relative;
	padding-left: 24px;
	font-size: 14px;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-weight: 500;
	line-height: 1.6;
	color: #363636;
	margin: 0;
}
p.is-style-list-check::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc((1.6em - 16px) / 2);
	width: 16px;
	height: 16px;
	background-color: #ff8500;
	border: 2px solid #ff8500;
	border-radius: 2px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.5 3L12.5 5' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	box-sizing: border-box;
}

/* 注釈テキスト（※） */
p.is-style-annotation {
	position: relative;
	padding-left: 1em;
	font-size: 12px;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
	font-weight: 500;
	line-height: 1.4;
	color: #363636;
	margin: 0;
}
p.is-style-annotation::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
	line-height: inherit;
}
@media screen and (min-width: 768px) {
	.c-cv-border-right{
		border-right: 1px solid #D9D9D9;
		padding-right: 40px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.c-cv-btn-contact{
		padding-left: 40px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.c-cv-bg{
		background: var(--bg_color-background-bg_cta, #FCFAEE);
		padding: 32px;
	}
}
@media screen and (max-width: 767px) {
	.c-cv-border-right{
		margin-bottom: 24px !important;
	}
	.c-cv-bg{
		background: var(--bg_color-background-bg_cta, #FCFAEE);
		padding: 36px 15px;
		margin: 0 calc((100% - (var(--vw, 1vw) * 100)) / 2);
		width: calc(var(--vw, 1vw) * 100);
	}
	.c-cv-btn-contact{
		margin-top: 10px !important;
	}
}

/*--------------------------------------------------------------
# バナー
--------------------------------------------------------------*/
.c-bnr-service__item{
	border: 1px solid #E7E7E7;
	border-radius: 4px;
	background-color: #fff;
	overflow: hidden;
	padding: 10px;
	gap: 8px;
}
.c-bnr-service > .wp-block-group__inner-container{
	display: flex;
	gap: 20px;
	flex-direction: column;
}
.c-bnr-service__item__img{
	height: auto;
	width: 40%!important;
}
.c-bnr-service__item__img img{
	width: 100%!important;
}
.c-bnr-service__item__cont{
	width: 60%!important;
}
.c-bnr-service__item__cont .wp-block-group__inner-container{
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.c-bnr-service__item__cont .wp-block-group__inner-container p{
	line-height: 140%; 
}

@media screen and (min-width: 768px) {
	.c-bnr-service__item{
		border: 1px solid #E7E7E7;
		border-radius: 4px;
		background-color: #fff;
		overflow: hidden;
		padding: 10px;
		gap: 8px;
		max-width: 366px!important;
		margin: 0!important;
	}
	.c-bnr-service > .wp-block-group__inner-container{
		display: flex;
		gap: 20px;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: row;
	}
	.c-bnr-service__item__img{
		max-width: 120px!important;
		height: auto;
		width: 35%!important;
	}
	.c-bnr-service__item__img img{
		width: 100%!important;
	}
	.c-bnr-service__item__cont{
		width: 65%!important;
	}
	.c-bnr-service__item__cont .wp-block-group__inner-container{
		display: flex;
		flex-direction: column;
		gap: 5px;
	}
	.c-bnr-service__item__cont .wp-block-group__inner-container p{
		line-height: 140%;
	}
}

/*--------------------------------------------------------------
# イベント検索ページ専用
--------------------------------------------------------------*/
@media screen and (min-width: 768px) {
	/* CTA 2カラム（WordPressブロックCSSのdisplay:gridを上書き） */
	.c-cv-bg--event-search {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch;
	}
	.c-cv-bg--event-search > .wp-block-group {
		flex: 1 0 0;
	}
	/* 右カラム（お問い合わせ）のレイアウト */
	.c-cv-bg--event-search .c-cv-contact-wrap {
		padding-left: 40px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.c-cv-bg--event-search .c-cv-contact-wrap > .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		height: 100%;
		gap: 16px;
		align-items: center;
		justify-content: space-between;
	}
	/* c-cv-btn-contact の padding-left を親（contact-wrap）から継承するためリセット */
	.c-cv-bg--event-search .c-cv-btn-contact {
		padding-left: 0;
		width: 100%;
	}
	/* バナー：2列横並び・センタリング・gap24px */
	.c-event-search-bnr .wp-block-columns {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: center !important;
		gap: 24px !important;
	}
	.c-event-search-bnr .wp-block-column {
		flex: 0 0 368px !important;
		width: 368px !important;
	}
	/* バナーカード内：画像左・テキスト右 */
	.c-event-search-bnr .c-bnr-service__item {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 8px;
		align-items: center;
	}
	.c-event-search-bnr{
		justify-content: center;
	}
}
@media screen and (max-width: 767px) {
	/* SP：バナー縦並び */
	.c-event-search-bnr .wp-block-columns {
		display: flex !important;
		flex-direction: column !important;
	}
	.c-event-search-bnr .wp-block-column {
		width: 100% !important;
		flex: 0 0 100% !important;
	}
	.c-event-search-bnr-sp{
		flex-wrap: nowrap;
	}
}

.c-present-wrap{
	border: 1px solid !important;
	padding: 16px !important;
}
.c-present-icon::before{
	content: "";
	display: block;
	height: 24px;
	width: 24px;
	background-image: url("/wp-content/themes/up/images/commons/icon-present.svg");
}
.c-present-icon{
	display: flex;
	align-items: center;
	gap: 4px;
}

/* ------------------------------------------------------------
   装飾
   ------------------------------------------------------------ */
.c-deco-border{
    padding: 40px 15px;
    background-color: #fff;
    border: 1px solid #DEDEDE;
    border-radius: 10px;
}
@media screen and (min-width: 768px) {
	.c-deco-border{
		padding: 40px;
	}
}
.c-deco-bg{
	padding: 32px 15px;
}
@media screen and (min-width: 768px) {
	.c-deco-bg{
		padding: 32px 24px;
	}
}


/* ------------------------------------------------------------
   学年別コース誘導カード
   ------------------------------------------------------------ */
.c-course-grade__wrap > .wp-block-group__inner-container{
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.c-course-grade {
	position: relative;
	width: 100%;
	border: 1px solid #EB651A;
	max-width: 100%;
	margin: 0!important;
}

.c-course-grade.has-link:hover{
	opacity: 0.7;
}

.c-course-grade p{
	margin: 0;
}

.c-course-grade > .wp-block-image {
	margin: 0;
}

.c-course-grade__img {
	margin: 0 !important;
	width: 100%;
	aspect-ratio: 356 / 180;
	overflow: hidden;
}

.c-course-grade__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-course-grade__body {
	padding: 10px 10px 20px;
	background-color: #fff;
	/* position: relative; */
}

.c-course-grade.has-link .c-course-grade__body{
	padding: 10px 10px 41px;
}

.c-course-grade.has-link .c-course-grade__body::after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	flex-shrink: 0;
	width: 41px;
	height: 41px;
	background-color: #EB651A;
	background-image: url('/wp-content/themes/up/images/commons/icon-card-arrow-right-white.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 7.647px 13.333px;
}


.c-course-grade__links {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 8px 0 0 !important;
	padding: 0;
	list-style: none;
}

.c-course-grade__links li {
	margin: 0;
	padding: 0;
	align-items: center;
}

.c-course-grade__links li::before {
	content: "・";
    background-color: unset;
    font-size: 1em;
    width: auto;
    height: auto;
    margin-top: 0;
}

.c-course-grade__links a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	color: #363636;
	text-decoration: none;
}

.c-course-grade__links a:hover {
	text-decoration: underline;
}

.c-course-grade__links a::after {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 8px;
	height: 13px;
	background-image: url('/wp-content/themes/up/images/commons/icon-card-arrow-right-orange.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}


@media screen and (min-width: 768px) {
	.c-course-grade__wrap > .wp-block-group__inner-container{
		justify-content: center;
		flex-direction: row;
		gap: 20px;
	}
	.c-course-grade{
		max-width: 356px!important;
	}
}


/* ------------------------------------------------------------
   コースカード
   ------------------------------------------------------------ */
.c-course-card-standard__wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin: 0!important;
	gap: 35px;
}

.c-course-card-standard__step .wp-block-group__inner-container{
	display: flex;
    justify-content: center;
}

.c-course-card-standard {
	width: 100%;
	/* max-width: 356px!important; */
	padding: 30px 20px 20px;
	background-color: #fff;
	border-radius: 8px;
    border: 1px solid #CCC;
	margin: 0!important;
}

.c-course-card-standard p,.c-course-card-standard figure{
	margin: 0;
}

.c-course-card-standard .wp-block-buttons,.c-course-card-standard .wp-block-list{
	margin: 0;
}

.c-course-card-standard .wp-block-buttons{
	width: 100%;
}

.c-course-card-standard .is-style-info-item-document{
	margin: 0!important;
}

.c-course-card-standard .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.c-course-card-standard__top .wp-block-group__inner-container {
	align-items: center;
	gap: 10px;
}

.c-course-card-standard__top p {
	margin: 0 !important;
}

.c-course-card-standard__icon-placeholder {
	width: 30px;
	height: 30px;
	background-color: #9a9a9a;
}

.c-course-card-standard__img {
	margin: 0 !important;
	width: 100%;
	aspect-ratio: 720 / 255;
}

.c-course-card-standard__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-course-card-standard__bottom .wp-block-group__inner-container {
	align-items: flex-start;
	gap: 10px;
}

.c-course-card-standard__grade .wp-block-group__inner-container {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
}

.c-course-card-standard__skill .wp-block-group__inner-container {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.c-course-card-standard__skill p {
	position: relative;
	margin: 0 !important;
	padding-left: 18px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	color: #666;
}

.c-course-card-standard__skill p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-color: #666;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-book.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-txt-book.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.c-course-card-standard__link-list .wp-block-group__inner-container {
	gap: 4px;
}

.c-course-card-standard__link-item {
	position: relative;
	margin: 0 !important;
	padding-left: 24px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #363636;
}

.c-course-card-standard__link-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-school.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-txt-school.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.c-course-card-standard__link-item a {
	color: #1889d3!important;
	text-decoration: underline;
	text-underline-position: from-font;
}

.c-course-card-standard__cta-wrap {
	width: 100%;
	margin: 0 !important;
}

.c-course-card-standard__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 48px;
	padding: 8px 8px 8px 24px;
	background-color: #f1610b;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	text-decoration: none;
	position: relative;
}

.c-course-card-standard__cta:hover {
	color: #fff;
	text-decoration: none;
	opacity: 0.85;
}

.c-course-card-standard__cta::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-siryo.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.c-course-card-standard__cta::after {
	content: "";
	display: block;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-white.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.c-course-card-standard__note.wp-block-list {
	gap: 0 !important;
	margin-top: 0 !important;
}

.c-course-card-standard__note.wp-block-list li {
	margin-top: 0 !important;
	font-size: 12px;
	line-height: 1.4;
	color: #363636;
}

.c-course-card-standard__top .wp-block-group__inner-container > p[class*="has-text-align-"] {
	align-self: stretch;
}

@media screen and (min-width: 768px) {
	.c-course-card-standard__wrap > .wp-block-group__inner-container {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		width: 100%;
		flex-wrap: wrap;
        justify-content: flex-start;
	}

	.c-course-card-standard {
		width: 100%;
		max-width: 356px!important;
		padding: 30px 20px 20px;
		background-color: #fff;
		border-radius: 8px;
		border: 1px solid #CCC;
	}
}

@media screen and (min-width: 768px) and (max-width: 776px) {
	.c-course-card-standard__wrap > .wp-block-group__inner-container {
		justify-content: center;
	}
}

@media screen and (min-width: 777px) and (max-width: 1167px) {
	.c-course-card-standard__wrap > .wp-block-group__inner-container {
		max-width: 747px;
		margin: 0 auto !important;
		justify-content: flex-start;
	}
}

/* ------------------------------------------------------------
   矢印あり
   ------------------------------------------------------------ */
.c-course-flow__wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	gap: 36px;
}

.c-course-flow__wrap .c-course-card-standard {
	position: relative;
}

.c-course-flow__wrap .c-course-card-standard:not(:first-child)::before {
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
	width: 24px;
	height: 24px;
	background-image: url('/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
}

@media screen and (min-width: 768px) {
	.c-course-flow__wrap > .wp-block-group__inner-container {
		flex-direction: row;
		align-items: stretch;
		gap: 36px;
		justify-content: center;
	}

	.c-course-flow__wrap .c-course-card-standard {
		flex: 1 1 0;
		min-width: 0;
		max-width: 258px !important;
	}

	.c-course-flow__wrap .c-course-card-standard:not(:first-child)::before {
		top: 50%;
		left: -30px;
		transform: translateY(-50%) rotate(0deg);
	}
}


/* ------------------------------------------------------------
   矢印あり　3枚表示
   ------------------------------------------------------------ */
.c-course-flow-step__wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	gap: 60px;
}

.c-course-flow-step__wrap .c-course-card-standard {
	position: relative;
	margin-top: 15px !important;
}

.c-course-flow-step__tag {
	position: absolute;
	z-index: 2;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 4px 8px;
	background-color: #eb651a;
	border-radius: 2px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}

.c-course-flow-step__wrap .c-course-card-standard:not(:first-child)::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -54px;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
	width: 24px;
	height: 24px;
	background-image: url('/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
}

@media screen and (min-width: 768px) {
	.c-course-flow-step__wrap > .wp-block-group__inner-container {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		gap: 36px;
	}

	.c-course-flow-step__wrap .c-course-card-standard {
		flex: 0 0 calc((100% - 72px) / 3);
		max-width: none !important;
		margin-top: 15px !important;
	}

	.c-course-flow-step__wrap .c-course-card-standard:not(:nth-child(3n+1))::before {
		top: 50%;
		left: -30px;
		transform: translateY(-50%) rotate(0deg);
	}

	.c-course-flow-step__wrap .c-course-card-standard:nth-child(3n+1)::before {
		display: none;
	}
}

/* ------------------------------------------------------------
   コースカード
   ------------------------------------------------------------ */
/* カードの文章量に応じて高さがばらつかないよう、同じ行のカードを揃える。2026.8.19追加
   NOTE: .c-course-card__wrap > .wp-block-group__inner-container はセクション単位の
   コンテナで、複数の.c-course-cardをflex-wrapで横並びにしている（1カード=1wrapではない。
   ステージング環境で実DOMを確認して判明）。align-items: flex-start のままだと
   同じ行のカードが内容の高さ分だけで止まり、揃わない。align-items: stretch に変更し、
   PC用@media (min-width:768px)側の上書きルール（flex-flow:wrapのみでalign-itemsは
   触れていない）にもそのまま効くようにする。 */
.c-course-card__wrap {
	height: 100%;
}

.c-course-card__wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0!important;
	gap: 20px;
}

.c-course-card {
	box-sizing: border-box;
	width: 100%;
	padding: 20px;
	background-color: #fff;
	border-radius: 8px;
    border: 1px solid #CCC;
	margin: 0!important;
}

.c-course-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: 20px;
}

.c-course-card__ttl {
	width: 100%;
}

.c-course-card__ttl .wp-block-group__inner-container {
	flex-direction: column;
	align-items: center;
	display: flex;
	gap: 10px;
}

.c-course-card p {
	margin: 0;
}

.c-course-card .is-style-info-item-document{
	margin-top: 0!important;
}

.c-course-card__grade {
	width: 100%;
}

.c-course-card__grade .wp-block-group__inner-container {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
}

.c-course-card__text {
	width: 100%;
	margin: 0 !important;
	color: #333;
}

.c-course-card__skill {
	width: 100%;
}

.c-course-card__skill .wp-block-group__inner-container {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.c-course-card__skill--band .wp-block-group__inner-container {
	justify-content: flex-start;
}

.c-course-card__skill--band {
	background-color: #fcfaee;
	padding: 5px 0;
}

.c-course-card__skill p {
	margin: 0 !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #666;
}

.c-course-card__skill--icon p {
	position: relative;
	padding-left: 18px;
}

.c-course-card__skill--icon p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-txt-book.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-txt-book.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.c-course-card__pdf-link {
	width: 100%;
	margin: 0 !important;
	font-size: 14px;
}

.c-course-card__btns {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 !important;
	margin-top: auto !important;
	position: relative;
}

/* NOTE: 2026.8.14修正：従来は padding-top: 30% でテキストを下げていたが、
   パーセント指定のpaddingは「要素の高さ」ではなく「幅」を基準に算出されるため、
   カードの高さが変わってもテキスト位置が追従せず中央からずれていた。
   flexboxによる上下左右の中央揃えに変更し、高さが可変でも常に中央に表示する。 */
.c-course-card--close .c-course-card__btns::after{
    content: "受付開始までしばらくお待ちください";
    background-color: #CCC;
    opacity: 0.8;
    position: absolute;
    top: -10%;
    bottom: 0;
    z-index: 0;
    width: 103%;
    left: auto;
    border-radius: 8px;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 16px;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    height: 120%;
}

@media screen and (min-width: 768px) {
	.c-course-card__wrap > .wp-block-group__inner-container {
		display: flex;
		flex-direction: row;
		width: 100%;
		margin: 0!important;
		gap: 36px;
		flex-wrap: wrap;
	}
	.c-course-card {
		max-width: 552px!important;
	}
	.c-course-card__btns{
		flex-direction: row;
		gap: 20px;
	}
	.c-course-card--close .c-course-card__btns::after{
		content: "受付開始までしばらくお待ちください";
		background-color: #CCC;
		opacity: 0.8;
		position: absolute;
		top: -20%;
		bottom: 0;
		z-index: 0;
		width: 106%;
		left: -3%;
		border-radius: 8px;
		color: #333;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 0 16px;
		font-size: 25px;
		font-weight: 700;
		line-height: 1.2;
		height: 140%;
	}
}
@media screen and (min-width: 768px) and (max-width: 1153px) {
	.c-course-card__wrap > .wp-block-group__inner-container{
		justify-content: center;
	}
}

@media screen and (min-width: 768px) {
	.c-topics-wrap{
		border: 12px solid var(--Orange-100, #FCFAEE);
		padding: 28px;
	}
	.c-topics-wrap .wp-block-image {
    width: 366px;
    max-width: 100%;
	}
	.c-topics-wrap .wp-block-image img {
		width: 100%;
		height: auto;
	}
	.c-topics-flexbox{
		width: unset !important;
		gap: 24px !important;
	}
}
@media screen and (max-width: 767px) {
	.c-topics-wrap{
		border: 12px solid var(--Orange-100, #FCFAEE);
		padding: 28px 18px;
	}
	.c-topics-flexbox{
		display: block !important;
		margin-bottom: 24px !important;
	}
}

/*--------------------------------------------------------------
# クラスカード
--------------------------------------------------------------*/
.c-class-card__wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin: 0!important;
	gap: 36px;
}

.c-class-card {
	width: 100%;
	padding: 20px 16px;
	background-color: #fff;
	border-radius: 8px;
    border: 1px solid #CCC;
	margin: 0!important;
}

.c-class-card__top{
	padding: 11px 16px;
	border-radius: 8px;
}

.c-class-card__top p{
	line-height: 160%;
}

.c-class-card p{
	margin: 0;
}

.c-class-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media screen and (min-width: 768px) {
	.c-class-card__wrap > .wp-block-group__inner-container {
		    flex-direction: row;
			flex-wrap: wrap;
	}
	.c-class-card {
		max-width: 356px!important;
	}
}

@media screen and (min-width: 768px) and (max-width: 776px) {
	.c-class-card__wrap > .wp-block-group__inner-container {
		justify-content: center;
	}
}

@media screen and (min-width: 777px) and (max-width: 1167px) {
	.c-class-card__wrap > .wp-block-group__inner-container {
		max-width: 748px;
		margin: 0 auto !important;
		justify-content: flex-start;
	}
}

/*--------------------------------------------------------------
## 合格実績タイル（c-result-tile）
--------------------------------------------------------------*/
.c-result-tile.wp-block-group {
	width: 180px;
	overflow: hidden;
	padding: 0;
	margin-left: 0;
	margin-right: auto;
}

.c-result-tile__header {
	background-color: #eb651a;
	padding: 8px;
	text-align: center;
}

.c-result-tile__header.wp-block-group {
	padding: 8px;
}

.c-result-tile__category {
	margin: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	color: #fff;
	white-space: nowrap;
	text-align: center;
}

.c-result-tile__category::before {
	content: none;
}

.c-result-tile__body {
	background-color: #fff;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 10px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.c-result-tile__body.wp-block-group {
	padding: 10px 20px;
}

.c-result-tile__univ,
.c-result-tile__count,
.c-result-tile__yoy {
	margin: 0;
	color: #363636;
	text-align: center;
	width: 100%;
}

.c-result-tile__univ::before,
.c-result-tile__count::before {
	content: none;
}

.c-result-tile__univ {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
}

.c-result-tile__count {
	font-weight: bold;
	line-height: 1.6;
}

.c-result-tile__count-num {
	font-size: 32px;
	line-height: 1.6;
}

.c-result-tile__count-unit {
	font-size: 20px;
	line-height: 1.6;
}

.c-result-tile__yoy {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 500;
	gap: 4px;
}

.c-result-tile__yoy::before {
	content: none;
}

.c-result-tile__yoy::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	vertical-align: middle;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.91667 3.75V5.41667H13.4083L3.75 15.075L4.925 16.25L14.5833 6.59167V12.0833H16.25V3.75H7.91667Z' fill='%23eb651a'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* 合格実績タイル　ノーマル */
.c-result-tile--nomal .c-result-tile__count__txt{
	align-items: baseline;
	margin-top: 3px;
}
.c-result-tile--nomal .c-result-tile__count__txt p{
	line-height: 1;
}
.c-result-tile--nomal__columns{
	align-items: stretch !important;
}
.c-result-tile--nomal__columns .wp-block-column{
	display: flex;
}
.c-result-tile--nomal{
	height: auto;
	display: flex;
	flex-direction: column;
}
.c-result-tile--nomal .wp-block-group__inner-container{
	display: flex;
	flex-direction: column;
	flex: 1;
	width: 100%;
}
.c-result-tile--nomal .c-result-tile__body {
	height: auto;
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 10px 18px;
}
.c-result-tile--nomal .c-result-tile__body .wp-block-group__inner-container{
	display: flex;
	flex-direction: column;
	flex: 1;
	width: 100%;
	justify-content: center;
}
.c-result-tile--nomal .c-result-tile__header{
	padding: 8px 0;
}


/* ------------------------------------------------------------
   表
   ------------------------------------------------------------ */
.c-table {
	display: flex;
	flex-direction: column;
	width: 100%;
	border-top: 1px solid #C3C3C3;
	border-left: 1px solid #C3C3C3;
}

.c-table__tr {
	display: flex;
	flex-direction: row;
	width: 100%;
	gap: 0;
	flex-wrap: nowrap !important;
	min-height: 72px;
	height: 100%;
}

.c-table__tr + .c-table__tr {
	margin-top: 0 !important;
}

.c-table__th,
.c-table__td {
	margin: 0 !important;
	padding: 10px;
	border-right: 1px solid #C3C3C3;
	border-bottom: 1px solid #C3C3C3;
}

.c-table__th {
	display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fcfaee;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    width: 30% !important;
    /* max-width: 120px; */
}

.c-table__td {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background-color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #363636;
    width: 70% !important;
	align-items: flex-start;
    justify-content: center;
}

.c-table__td > * {
	margin: 0;
}

.c-table .wp-block-buttons{
	width: 100%;
}

.c-table .wp-block-columns.c-table__tr:not(.is-not-stacked-on-mobile)>.wp-block-column {
	flex-basis: auto !important;
}

@media screen and (min-width: 768px) {
	.c-table__th {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #fcfaee;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.6;
		text-align: center;
		width: 14% !important;
		max-width: 160px;
	}

	.c-table__td {
		display: flex;
		flex-direction: column;
		gap: 8px;
		background-color: #fff;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.6;
		color: #363636;
		width: 86% !important;
		align-items: flex-start;
		justify-content: center;
	}
	.c-table-text{
		font-size: 18px;
	}
}
@media screen and (max-width: 767px) {
	.c-table-text{
		font-size: 16px;
	}
}


/* ------------------------------------------------------------
   クラシックエディター用 表組モジュール（c-table-classic）
   ------------------------------------------------------------ */

/* ---------- テーブル基本 ---------- */
.c-table-classic {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin-top: 0;
}

.c-table-classic__th,
.c-table-classic__td {
	border: 1px solid #c3c3c3;
	padding: 10px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #181818;
	text-align: center;
	vertical-align: middle;
	word-break: break-word;
}

.c-table-classic__th {
	background-color: #fcfaee;
}

.c-table-classic-corse .c-table-classic__th {
	background-color: #F7F7F7;
}

.wp-block-button.is-style-btn-outline-green-medium.c-table-classic-corse__btn--green{
	max-width: 100%;
}

.wp-block-button.is-style-btn-outline-green-medium.c-table-classic-corse__btn--green .wp-block-button__link{
	width: 100%;
	padding: 13px 28px 13px 24px;
	background-color: #fff;
	border: 1px solid #8BC43F!important;
	border-radius: 8px;
	color: #8BC43F!important;
	font-size: 14px;
	line-height: 140%;
}

.wp-block-button.is-style-btn-outline-green-medium.c-table-classic-corse__btn--green .wp-block-button__link::after{
	background-image: none !important;
    background-color: #8bc43f;
    mask-image: url(/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.wp-block-button.is-style-btn-outline-green-medium.c-table-classic-corse__btn--green .wp-block-button__link:hover{
	background-color: #f2fee2 !important;
    text-decoration: none;
}

.wp-block-button.is-style-btn-outline-green-medium.c-table-classic-corse__btn--org{
	max-width: 100%;
}

.wp-block-button.is-style-btn-outline-green-medium.c-table-classic-corse__btn--org .wp-block-button__link{
	width: 100%;
	padding: 13px 28px 13px 24px;
	background-color: #fff;
	border-radius: 8px;
	font-size: 14px;
	line-height: 140%;
}

.c-table-classic__td {
	background-color: #fff;
}

.c-table-classic__td.c-table-classic__td--btn{
	vertical-align: baseline;
}

.c-table-classic__th--blank {
	background-color: #fff;
}

/* ---------- 色付き見出し行（th--head） ---------- */
.c-table-classic__th--head {
	color: #fff;
	font-weight: 700;
	white-space: nowrap;
}

.c-table-classic__th--head.c-table-classic__th--orange {
	background-color: #ff8500;
}

.c-table-classic__th--head.c-table-classic__th--green {
	background-color: #8bc43f;
}

.c-table-classic__th--head.c-table-classic__th--blue {
	background-color: #2882b9;
}

/* ---------- セル内カラム幅（%指定） ---------- */
.c-table-classic__col--label {
	width: 12%;
}

.c-table-classic-corse{
	table-layout: fixed;
}
.c-table-classic-corse .c-table-classic__col--label {
	width: 120px;
}

.c-table-classic-seminar .c-table-classic__col--label{
	width: 232px;
}

/* Figma仕様：ラベル列（私立男子校/私立女子校/公立校）の文字色は#333。
   ヘッダー行（説明会・セミナーの主な参加校／白文字）は対象外にする */
.c-table-classic-seminar .c-table-classic__th:not(.c-table-classic__th--head) {
	color: #333;
}

.c-table-classic-schedule{
	table-layout: fixed;
}

.c-table-classic-schedule .c-table-classic__col--label {
	width: 20%;
}

.c-table-classic-event{
	table-layout: fixed;
	width: 100%;
}

.c-table-classic-event .c-table-classic__col--label{
	width: 120px;
}

.c-table-classic-exam{
	table-layout: fixed;
	width: 100%;
}
.c-table-classic-exam .c-table-classic__th,
.c-table-classic-exam .c-table-classic__td{
	height: 72px;
    vertical-align: middle;
}

.c-table-classic-event .c-table-classic__td {
	vertical-align: middle;
}

.c-table-classic-uni .c-table-classic__td{
	height: 60px;
    vertical-align: middle;
}

.c-table-classic-admission .c-table-classic__td{
	padding: 6px;
}

.c-table-classic-admission{
	table-layout: fixed;
	width: 100%;
}

.c-table-classic-admission .c-table-classic__col--label{
	width: 220px;
}

/* PC (min-width: 768px) */
@media screen and (min-width: 768px) {
	.c-table-classic-schedule .c-table-classic__col--label {
		width: 120px;
	}
}

/* SP固定列の幅 */
@media screen and (max-width: 767px) {
	.c-table-classic-exam colgroup col:first-child{
		width: 100px;
	}
	.c-table-classic-corse .c-table-classic__col--label{
		width: 90px;
	}
	.c-table-classic-admission .c-table-classic__col--label {
		width: 120px;
	}
}


/* ---------- セル内リード文（色付き強調テキスト） ---------- */
.c-table-classic__lead {
	display: block;
	margin: 0 0 4px;
	font-weight: 700;
}

.c-table-classic__lead--orange {
	color: #eb651a;
}

.c-table-classic__lead--green {
	color: #8bc43f;
}

.c-table-classic__lead--blue {
	color: #1889d3;
}

.c-table-classic__td p {
	margin: 0;
}

.c-table-classic__td p + p {
	margin-top: 4px;
}

.c-table-classic__td--left {
	text-align: left;
	align-items: flex-start;
}

.c-table-classic-event p{
	display: inline-block;
}

/* ---------- ボタン格納セル ---------- */
.c-table-classic__td--btn {
	padding: 16px 10px;
}

.c-table-classic__td--btn .wp-block-buttons {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.c-table-classic__td--btn .wp-block-buttons + .wp-block-buttons{
	margin-top: 10px;
}

.c-table-classic__td--btn .wp-block-button {
	width: 100%;
	margin: 0 auto;
}

.c-table-classic__td--btn .wp-block-button .wp-block-button__link {
	width: 100%;
}

/* 既存 is-style-btn-outline-header（オレンジ）のグリーン版カラー上書き */
.c-table-classic .wp-block-button.is-style-btn-outline-header.c-table-classic__btn--green .wp-block-button__link {
	color: #8bc43f !important;
	border-color: #8bc43f !important;
}

.c-table-classic .wp-block-button.is-style-btn-outline-header.c-table-classic__btn--green .wp-block-button__link:hover {
	background-color: #f5faec !important;
}

.c-table-classic .wp-block-button.is-style-btn-outline-header.c-table-classic__btn--green .wp-block-button__link::after {
	background-image: none !important;
	background-color: #8bc43f;
	-webkit-mask-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-orange.svg');
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

/* ---------- SP横スクロール対応（既存 c-scroll-box / c-scroll-table を流用） ---------- */
.c-table-classic.c-scroll-table {
	width: auto;
	width: 100%;
}
.c-table-classic-corse.c-scroll-table{
	width: 100%;
}

.c-table-classic-3col { min-width: 1140px; }
.c-table-classic-4col { min-width: 1140px; }
.c-table-classic-6col { min-width: 1395px; }

/* コース一覧ボタン幅 */
.c-table-classic-4col .wp-block-button.is-style-btn-outline-header,
.c-table-classic-3col .wp-block-button.is-style-btn-outline-header {
	max-width: none;
	width: 100%;
}
.c-table-classic-schedule { max-width: 520px; width: 100%; }
.c-table-classic-event { min-width: 1140px; }
.c-table-classic-exam { min-width: 1140px; }
.c-table-classic-admission { min-width: auto; }
.c-table-classic-uni { min-width: 500px; }

/* 説明会・セミナー参加校の表 */
.c-table-classic-seminar {
	min-width: 0;
	table-layout: fixed;
}
@media screen and (max-width: 767px) {
	.c-table-classic-seminar .c-table-classic__col--label {
		width: 30%;
	}
}


/* PC (min-width: 768px) */
@media screen and (min-width: 768px) {
	.c-table-classic__th,
	.c-table-classic__td {
		font-size: 16px;
	}
}

/* ---------- イベントテーブル：実施校舎列（第1列）sticky固定 ---------- */
.c-table-classic-event .c-table-classic__th:first-child,
.c-table-classic-event .c-table-classic__td:first-child {
	position: sticky;
	left: 0;
	z-index: 2;
}
.c-table-classic-event thead .c-table-classic__th:first-child {
	z-index: 3;
}

/* ---------- 汎用：表の1列目をSP横スクロール時に固定表示にするユーティリティクラス ---------- */
.c-scroll-table--sticky-col1 {
	border-collapse: separate;
	border-spacing: 0;
}
.c-scroll-table--sticky-col1 th:first-child,
.c-scroll-table--sticky-col1 td:first-child {
	position: sticky;
	left: 0;
	z-index: 2;
	background-clip: padding-box;
}
.c-scroll-table--sticky-col1 thead th:first-child {
	z-index: 3;
}

/* ============================================================
   Footer
   ============================================================ */

/* ===== フッター全体 / inner ===== */
.c-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	padding: 40px 15px;
	width: 100%;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	.c-footer__inner {
		gap: 60px;
		padding: 60px 40px 40px;
		max-width: 1280px;
		margin: 0 auto;
		align-items: flex-start;
	}
}

/* ===== SNSエリア ===== */
.c-footer__sns-area {
	border-bottom: 1px solid #ddd;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 40px;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-area {
		padding-bottom: 60px;
	}
}

.c-footer__sns-wrap {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 20px 0;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-wrap {
		flex-direction: row;
		width: auto;
	}
}

.c-footer__sns-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 16px 40px;
}

.c-footer__sns-group--rakushin {
	border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-group--rakushin {
		border-bottom: none;
		border-right: 1px solid #ccc;
	}
}

.c-footer__sns-group-label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: 500;
	color: #333;
	text-align: center;
	margin: 0;
	white-space: nowrap;
}

.c-footer__sns-icons {
	display: flex;
	align-items: center;
	gap: 40px;
}

a.c-footer__sns-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
}

a.c-footer__sns-link::after {
	content: none;
	display: none;
}

.c-footer__sns-link img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

/* ===== フッターナビ ===== */
.c-footer__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
	align-items: flex-start;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.c-footer__nav-list {
		flex-wrap: wrap;
		gap: 0 24px;
		align-items: center;
		height: auto;
	}
}

a.c-footer__nav-list-link {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 40px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #181818;
	text-decoration: none;
	white-space: nowrap;
}

a.c-footer__nav-list-link::after {
	content: none;
	display: none;
}

a.c-footer__nav-list-link:hover {
	text-decoration: underline;
}

.c-footer__nav-list-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 22px;
	background-image: url("/wp-content/themes/up/images/commons/icon-arrow-right-gray.svg");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: center;
	flex-shrink: 0;
}

/* ===== ブランドリスト ===== */
.c-footer__brand-container {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: flex-start;
	width: 100%;
}

.c-footer__brand-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}

a.c-footer__brand-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

a.c-footer__brand-link::after {
	content: none;
	display: none;
}

.c-footer__brand-link img {
	height: 20px;
	width: auto;
	object-fit: contain;
	display: block;
}

/* ===== 説明エリア ===== */
.c-footer__descriptions {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	border-top: 1px solid #dedede;
	padding-top: 40px;
	width: 100%;
}

.c-footer__corp,
.c-footer__benesse {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.c-footer__corp {
	gap: 16px;
}

.c-footer__benesse {
	gap: 20px;
}

a.c-footer__corp-logo-link::after,
a.c-footer__benesse-logo-link::after {
	content: none;
	display: none;
}

.c-footer__copyright {
	font-size: 12px;
	color: #666;
	text-align: center;
	margin: 0;
}

.c-footer__benesse-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	color: #666;
	text-align: center;
	line-height: 1.6;
	margin: 0;
}

/* ===========================================
   c-text-bubble - 吹き出し（段落ブロックスタイル）
   Figma node: 1572-21364
   ===========================================
*/
.c-text-bubble__wrap{
	text-align: center;
    margin-bottom: -10px;
}
.c-text-bubble {
  /* --- サイズと伸縮の設定（Hug） --- */
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;

  /* --- 位置と余白の設定 --- */
  position: relative;
  padding: 12px 28px;       /* 上下・左右の内側余白 */
  margin: 0 auto 15px;      /* 下に三角（しっぽ）が出る分の余白確保 */
  text-align: center;

  /* --- 見ため（文字・背景・枠線・角丸）の設定 --- */
  color: #EB651A;           /* オレンジの文字色 */
  /* font-weight: bold; */
  font-size: 16px;          /* フォントサイズはお好みで調整 */
  background-color: #ffffff;/* 背景色（白） */
  border: 1px solid #EB651A;/* 枠線（オレンジ） */
  border-radius: 10px;      /* 大きめの角丸 */
}

/* 下側の三角（しっぽ）の外枠オレンジ */
.c-text-bubble::before {
  content: "";
  position: absolute;
  bottom: -10px;             /* 下に出す位置 */
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: #EB651A transparent transparent transparent;
}

/* 下側の三角（しっぽ）の内側を白でくり抜く */
.c-text-bubble::after {
  content: "";
  position: absolute;
  bottom: -8px;              /* 外枠より少し上げて枠線を残す */
  left: 50% !important;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 9px 7px 0 7px;
  border-color: #ffffff transparent transparent transparent;
}
.c-bubble-content-wrap{
	padding-bottom:30px;
}
@media screen and (max-width: 767px) {
	.c-bubble-content-wrap{
		padding: 0 20px 30px;
	}
}
/* ===========================================
   c-search-filter - 検索絞り込みアコーディオン
   Figma node: 1572-21179
   =========================================== */

/* アコーディオン全体 */
.c-search-filter {
	width: 100%;
}

/* アコーディオンヘッダー */
.c-search-filter__header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 24px;
	background-color: #fcfaee;
	border: 1px solid #ccc;
	border-bottom: none;
	cursor: pointer;
	user-select: none;
}

.c-search-filter__header:not(.is-open) {
	border-bottom: 1px solid #ccc;
}

/* ヘッダーテキスト */
.c-search-filter__header-text {
	flex: 1;
	font-size: 18px;
	font-weight: bold;
	color: #363636;
	line-height: 1.6;
}

/* ±アイコン（16px正方形） */
.c-search-filter__icon {
	position: relative;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

/* 横線（常に表示） */
.c-search-filter__icon::before {
	content: '';
	position: absolute;
	right: 1.33px;
	top: 50%;
	width: 13.33px;
	height: 1.6px;
	background-color: #363636;
	transform: translateY(-50%);
}

/* 縦線（閉じているときのみ） */
.c-search-filter__icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.6px;
	height: 13.33px;
	background-color: #363636;
	transform: translate(-50%, -50%);
	transition: opacity 0.2s ease;
}

.c-search-filter__header.is-open .c-search-filter__icon::after {
	opacity: 0;
}

/* アコーディオンボディ */
.c-search-filter__body {
	background-color: #fff;
	border: 1px solid #ccc;
	border-top: none;
}

/* ボディ内フォームレイアウト */
.c-search-filter__body .c-search-box {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 40px;
	background-color: #fff;
}

/* セクション（マージンリセット） */
.c-search-filter__body .c-search-box__section {
	display: flex;
	flex-direction: column;
	margin-top: 0;
	width: 100%;
}

/* セクション見出し */
.c-search-box__section-title {
	font-size: 20px;
	font-weight: normal;
	color: #363636;
	line-height: 1.4;
	border-left: 3px solid #eb651a;
	padding-left: 16px;
	margin: 0 0 16px;
}

/* フィルター行（テーブルレイアウト） */
.c-search-box__filter-row {
	display: flex;
	align-items: stretch;
	border: 1px solid #ccc;
	width: 100%;
}

/* 左列：すべて / 全校舎 */
.c-search-box__col-all {
	flex-shrink: 0;
	width: 156px;
	background-color: #fcfaee;
	border-right: 1px solid #dedede;
	padding: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* アコーディオンアイコン（PCでは非表示） */
.c-search-box__accordion-icon {
	display: none;
}

/* 右列：チェックボックス一覧 */
.c-search-box__col-items {
	flex: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0 20px;
	padding: 8px 16px;
	background-color: #fff;
	align-items: center;
	align-content: center;
}

/* チェックボックスアイテム（ラベル全体） */
.c-search-box__filter-row .c-search-box__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	width: auto;
	border: none;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.c-fle-wrap-sp{
		flex-wrap: wrap;
	}
	.c-search-box__filter-row .c-flex-wrap-sp-item{
		width: calc(50% - 10px);
	}
	/* SP：2列表示の幅に収まらない長いラベル（例：「亀岡クニッテル校」）が
	   隣の列にはみ出して重なるのを防ぐため、SPのみ折り返しを許可する */
	.c-search-box__filter-row .c-flex-wrap-sp-item .c-search-box__checkbox-text {
		white-space: normal;
		word-break: break-all;
	}
}

.c-search-box__col-all .c-search-box__item {
	width: 100%;
}

/* カスタムチェックボックス（視覚要素） */
.c-search-box__checkbox-ui {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	border-radius: 2px;
	background-color: #fff;
	border: 1px solid #eee;
	position: relative;
	transition: background-color 0.15s ease, border-color 0.15s ease;
	pointer-events: none;
}

.c-search-box__checkbox:checked + .c-search-box__checkbox-ui {
	background-color: #eb651a;
	border-color: #eb651a;
}

/* チェックマーク */
.c-search-box__checkbox:checked + .c-search-box__checkbox-ui::after {
	content: '';
	display: block;
	position: absolute;
	width: 5px;
	height: 9px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	top: 1px;
	left: 5px;
	transform: rotate(40deg);
}

/* チェックボックステキスト */
.c-search-box__checkbox-text {
	font-size: 16px;
	color: #363636;
	line-height: 1.6;
	white-space: nowrap;
}

/* 送信ボタン */
.c-search-box__submit {
	display: flex;
	justify-content: center;
}

.c-search-box__submit-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 354px;
	height: 60px;
	background-color: #fff;
	color: #eb651a;
	border: 1px solid #eb651a;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;

}

.c-search-box__submit-btn:hover {
	background-color: #eb651a;
	color: #fff;
}

.c-search-box__submit-btn:disabled {
	background-color: #fff;
	border-color: #eaeaea;
	color: #999;
	cursor: not-allowed;
}

@media screen and (max-width: 767px) {
	.c-search-filter__header {
		padding: 12px 16px;
	}

	.c-search-filter__header-text {
		font-size: 16px;
	}

	.c-search-filter__body .c-search-box {
		padding: 24px 16px;
		gap: 24px;
	}

	.c-search-box__section-title {
		font-size: 16px;
	}

	.c-search-box__filter-row {
		flex-direction: column;
	}

	.c-search-box__col-all {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #dedede;
	}

	.c-search-box__col-items {
		display: flex;
		gap: 0 12px;
	}

	.c-search-box__submit-btn {
		width: 100%;
		max-width: 354px;
	}

	/* SPアコーディオン：全学年・すべて・全校舎 */
	.c-search-box__col-all.js-search-filter-accordion {
		flex-direction: row;
		align-items: center;
		min-height: 60px;
		cursor: pointer;
	}

	.c-search-box__col-all.js-search-filter-accordion .c-search-box__item {
		flex: 1;
		width: auto;
	}

	.c-search-box__accordion-icon {
		display: flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
		width: 16px;
		height: 16px;
		position: relative;
	}

	.c-search-box__accordion-icon::before,
	.c-search-box__accordion-icon::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		background-color: #eb651a;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}

	.c-search-box__accordion-icon::before {
		width: 12px;
		height: 2px;
		transform: translate(-50%, -50%);
	}

	.c-search-box__accordion-icon::after {
		width: 2px;
		height: 12px;
		transform: translate(-50%, -50%);
	}

	.js-search-filter-accordion.is-open .c-search-box__accordion-icon::after {
		opacity: 0;
	}
}

/* ===========================================
   c-search-box エリア・コース検索（cpt-school用）
   Figma node: 3356-84099
   =========================================== */
.c-search-box__subheading {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 24px;
	width: 100%;
}

.c-search-box__subheading-line {
	position: relative;
	display: block;
	height: 2px;
	width: 100%;
	background-color: #e7e7e7;
}

.c-search-box__subheading-line::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 2px;
	background-color: #eb651a;
}

.c-search-box__area-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px;
	width: 100%;
}

.c-search-box__select-unit {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 254px;
}

.c-search-box__selected-unit {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
	min-width: 200px;
}

.c-search-box__select-label {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: #333;
}

.c-search-box__select-wrap {
	position: relative;
	width: 100%;
}

.c-search-box__select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	height: 56px;
	padding: 12px 40px 12px 16px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
	font-size: 16px;
	color: #333;
	background-image: url("images/commons/icon-arrow-down.svg");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 12px 7px;
}

.c-search-box__select:disabled {
	color: #999;
	border-color: #ccc;
	background-color: #f2f2f2;
	cursor: not-allowed;
}

.c-search-box__selected-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 56px;
	padding: 10px 16px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
}

/* 選択されている項目：チップ（Figma node-id: 3356-83166） */
.c-search-box__selected-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 20px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 50px;
	color: #333;
	font-size: 14px;
	line-height: 1.6;
	white-space: nowrap;
}

/* 「県から探す」複数選択ドロップダウン（2026.8.3 add） */
.c-search-box__multiselect {
	position: relative;
	width: 100%;
}

.c-search-box__multiselect-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	height: 56px;
	padding: 12px 16px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
	font-size: 16px;
	color: #333;
	text-align: left;
	cursor: pointer;
}

.c-search-box__multiselect-trigger-text {
	overflow: hidden;
	min-width: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-search-box__multiselect-trigger-icon {
	flex-shrink: 0;
	width: 12px;
	height: 7px;
	transition: transform 0.2s ease;
}

.js-c-multiselect.is-open .c-search-box__multiselect-trigger-icon {
	transform: rotate(180deg);
}

.c-search-box__multiselect-panel {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 10;
	flex-direction: column;
	width: 100%;
	max-height: 240px;
	overflow-y: auto;
	padding: 8px 16px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.js-c-multiselect.is-open .c-search-box__multiselect-panel {
	display: flex;
}

.c-search-box__multiselect-panel .c-search-box__item {
	/* NOTE: 無名スコープの.c-search-box__item（width:50%・border:1px solid #ddd等、
	   4471行目付近のレガシールール）がここに漏れて適用されるため、明示的に打ち消す */
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 40px;
	border: none;
	cursor: pointer;
}

/* 「市町村から探す」：対応する県が未選択の場合の空状態表示（2026.8.4追加） */
.c-search-box__multiselect-empty {
	width: 100%;
	min-height: 40px;
	margin: 0;
	color: #999;
	font-size: 14px;
	line-height: 40px;
}

.c-search-box__multiselect-trigger:disabled {
	cursor: not-allowed;
}

.c-search-box__area-submit-btn {
	flex-shrink: 0;
	width: 101px;
	height: 56px;
	padding: 16px;
	background-color: #fff;
	border: 1px solid #EB651A;
	border-radius: 8px;
	color: #EB651A;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.c-search-box__area-submit-btn:hover {
	background-color: #FF8500;
	color: #fff;
}

.c-search-box__area-submit-btn:disabled {
	background-color: #b3b3b3;
	color: #f2f2f2;
	cursor: not-allowed;
}

/* 選択済み・検索未送信の状態（白）：main.js側で.js-c-multiselect-checkboxの
   選択有無に応じてリアルタイムに付け外しする */
.c-search-box__area-submit-btn.is-ready {
	background-color: #fff;
	border: 1px solid #eb651a;
	color: #eb651a;
}

.c-search-box__area-submit-btn.is-ready:hover {
	background-color: #FF8500;
	color: #fff;
}

.c-search-box__course-row {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	width: 100%;
}

.c-search-box__course-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 354px;
	max-width: 100%;
	height: 60px;
	padding: 16px 40px;
	background-color: #fff;
	border: 1px solid #eb651a;
	border-radius: 8px;
	color: #eb651a;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.c-search-box__course-btn:hover {
	background-color: #eb651a;
	color: #fff;
	text-decoration: none;
}

.c-search-box__course-btn-icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	flex-shrink: 0;
	width: 8px;
	height: 14px;
}

@media screen and (max-width: 767px) {
	.c-search-box__area-row {
		flex-direction: column;
		align-items: stretch;
	}
	.c-search-box__select-unit,
	.c-search-box__selected-unit {
		width: 100%;
	}
	.c-search-box__area-submit-btn {
		width: 100%;
	}
	.c-search-box__course-row {
		flex-direction: column;
	}
	.c-search-box__course-btn {
		width: 100%;
	}
}

/* ===========================================
   c-school-card 校舎一覧カード（cpt-school用）
   =========================================== */
.c-school-card {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	width: 100%;
	padding: 20px 0;
	border: none;
	border-bottom: 1px solid #777;
	border-radius: 0;
	background: none;
	text-align: left;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-decoration: none;
}

.c-school-card:hover {
	opacity: 0.6;
	text-decoration: none;
}

.c-school-card__image {
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	object-fit: cover;
}

.c-school-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	min-height: 120px;
}

.c-school-card__top {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

/* 2026.8.3 add: 複数コース選択時にタグを横並び表示するためのラッパー
   （c-taiken-card__labelsと同じ考え方） */
.c-school-card__tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.c-school-card__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: 20px;
	padding: 0 8px;
	border-radius: 2px;
	background-color: #ff8500;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

/* 洛進パーソナルタグのみアウトライン表示 */
.c-school-card__tag--personal {
	background-color: #fff;
	border: 1px solid #ff8500;
	color: #ff8500;
}

.c-school-card__title {
	width: 100%;
	margin: 0;
	overflow: hidden;
	color: #363636;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-school-card__flag {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.c-school-card__tel {
	display: flex;
	align-items: center;
	gap: 4px;
	color: #181818;
	font-size: 16px;
	line-height: 1.6;
}

.c-school-card__tel-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.c-school-card__address {
	margin: 0;
	color: #181818;
	font-size: 16px;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	/* NOTE: FigmaはPC想定のみ提供されていたため、SPは既存カードの
	   崩れ方に準じた保守的な調整。要デザイン確認。 */
	.c-school-card {
		gap: 12px;
	}

	.c-school-card__image {
		width: 100px;
		height: 100px;
	}

	.c-school-card__title,
	.c-school-card__tel,
	.c-school-card__address {
		white-space: normal;
	}
}

/* ===========================================
   c-taiken-card 合格体験記カード（cpt-royalroad用）
   =========================================== */
.c-taiken-card {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	width: 100%;
	padding: 20px;
	border-bottom: 1px solid #777;
	text-decoration: none;
}

.c-taiken-card:hover {
	opacity: 0.6;
	text-decoration: none;
}

.c-taiken-card__image {
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	object-fit: cover;
}

.c-taiken-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	min-height: 120px;
}

.c-taiken-card__top {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.c-taiken-card__flags {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}

.c-taiken-card__labels {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.c-taiken-card__label {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 20px;
	padding: 0 8px;
	border-radius: 2px;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.c-taiken-card__label--outline {
	background-color: #fff;
	border: 1px solid #f1610b;
	color: #f1610b;
}

.c-taiken-card__label--filled {
	background-color: #f1610b;
	border: 1px solid #f1610b;
	color: #fff;
}

.c-taiken-card__meta {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 8px;
}

.c-taiken-card__new {
	display: flex;
	align-items: center;
	height: 20px;
	padding: 0 8px;
	border-radius: 20px;
	background-color: #d62533;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.c-taiken-card__date {
	font-size: 12px;
	line-height: 1.4;
	color: #363636;
	white-space: nowrap;
}

.c-taiken-card__title-block {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.c-taiken-card__desc {
	width: 100%;
	margin: 0;
	overflow: hidden;
	color: #363636;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-taiken-card__title {
	width: 100%;
	margin: 0;
	overflow: hidden;
	color: #363636;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
	/* NOTE: FigmaはPC想定のみ提供されていたため、SPは既存c-article-boxの
	   崩れ方に準じた保守的な調整。要デザイン確認。 */
	.c-taiken-card {
		gap: 12px;
		padding: 16px 0;
	}

	.c-taiken-card__image {
		width: 100px;
		height: 100px;
	}

	.c-taiken-card__desc,
	.c-taiken-card__title {
		white-space: normal;
	}
}

/* ===========================================
   c-article-box__tag 追加バリエーション
   =========================================== */

/* 学年タグ（アウトラインスタイル） */
.c-article-box__tag--grade {
	background-color: #fff;
	color: #eb651a;
	border: 1px solid #eb651a;
}

/* イベント種別タグ（塗りつぶしスタイル） */
.c-article-box__tag--event-type {
	background-color: #eb651a;
	border: 1px solid #eb651a;
	color: #fff;
}

.c-article-box:hover{
	opacity: 0.6;
}
/*--------------------------------------------------------------
# top お知らせ・イベント（news_section／Lazy Block: lazyblock/top-news-events）
--------------------------------------------------------------*/
.c-top-news-event{
	position: relative;
}

.c-top-news-event__scroll{
	background-color: #fff;
	max-height: 420px;
	overflow-y: auto;
	padding-right: 16px;
	scrollbar-width: none;
}
.c-top-news-event__scroll::-webkit-scrollbar{
	display: none;
}
@media screen and (min-width: 768px) {
	.c-top-news-event{
		max-width: 1126px;
		margin: 0 auto;
		padding: 0;
	}
	.c-top-news-event__scroll{
		max-height: 609px;
	}
}

/* .c-scroll-box__bar は top-news-events.js が .c-top-news-event__scroll の直後（.c-top-news-event の直下）に生成する。
   モジュール一覧の横スクロール用バー（width:100%・height:8px）を、このブロック内でのみ縦方向用に上書きする。 */
.c-top-news-event > .c-scroll-box__vertical-wrap > .c-scroll-box__bar{
	position: absolute;
	top: 0;
	right: 0;
	width: 14px;
	height: 100%;
	margin-top: 0;
	border-right: 1px solid #CCC;
    border-left: 1px solid #CCC;
    padding: 0 2px;
	border-radius: 0;
}
.c-top-news-event > .c-scroll-box__vertical-wrap > .c-scroll-box__bar .c-scroll-box__bar-thumb{
	width: 8px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.c-top-news-event__list{
	display: flex;
	flex-direction: column;
}

.c-top-news-event__item{
	border-bottom: 1px solid #777;
}
.c-top-news-event__item:last-child{
	border-bottom: none;
}

.c-top-news-event__item a[target="_blank"]::before,.c-top-news-event__item a[target="_blank"]::after{
	display: none;
}

.c-top-news-event__link{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 20px 10px!important;
	color: #363636;
}
.c-top-news-event__link:hover{
	text-decoration: none;
	opacity: 0.6;
}

@media screen and (min-width: 768px) {
	.c-top-news-event__link{
		gap: 20px;
		padding: 20px!important;
	}
}

.c-top-news-event__thumb{
	flex-shrink: 0;
	width: 120px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
@media screen and (min-width: 768px) {
	.c-top-news-event__thumb{
		width: 160px;
	}
}

.c-top-news-event__image{
	width: 100%;
	height: 120px;
	object-fit: cover;
}
@media screen and (min-width: 768px) {
	.c-top-news-event__image{
		height: 160px;
	}
}

.c-top-news-event__body{
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.c-top-news-event__top{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.c-top-news-event__flags{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	flex-wrap: wrap;
}

.c-top-news-event__tags{
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
	.c-top-news-event__tags{
		gap: 8px;
	}
}

.c-top-news-event__meta{
	flex-shrink: 0;
	margin: 0;
}
.c-top-news-event__thumb .c-top-news-event__meta{
	margin-top: 0;
}

.c-top-news-event__date{
	margin: 0 0 0 4px;
	display: inline-block;
	font-size: 12px;
	line-height: 1.4;
	color: #363636;
	white-space: nowrap;
	vertical-align: middle;
}
@media screen and (min-width: 768px) {
	.c-top-news-event__date{
		margin-left: 8px;
	}
}

.c-top-news-event__titles{
	display: flex;
	flex-direction: column;
}

.c-top-news-event__title-sub{
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #363636;
	overflow: hidden;
}

.c-top-news-event__title{
	margin: 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	color: #363636;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.c-top-news-event__title-sub{
		display: -webkit-box;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	.c-top-news-event__title{
		display: -webkit-box;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		-webkit-box-orient: vertical;
	}
}
@media screen and (min-width: 768px) {
	.c-top-news-event__title-sub{
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.c-top-news-event__title{
		font-size: 18px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

.c-top-news-event__bottom{
	display: flex;
	flex-direction: column;
	font-size: 14px;
	line-height: 1.6;
}

.c-top-news-event__row{
	display: flex;
	align-items: center;
	gap: 8px;
	color: #363636;
}

.c-top-news-event__row--date{
	color: #eb651a;
	font-weight: bold;
}

.c-top-news-event__label{
	flex-shrink: 0;
	width: 42px;
	margin: 0;
}

.c-top-news-event__value{
	margin: 0;
}

.c-top-news-event__schools{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.c-top-news-event__empty{
	padding: 20px;
	text-align: center;
}
/*
	絞り込み一覧ページ カード内「参加費」表示・要素並び順・SP/PCレイアウト
 */

/* ─── サブタイトル ─── */
.c-article-box__subtitle {
    margin: 8px 0 0;
    font-size: 13px;
    font-weight: 400;
    color: #666;
    line-height: 1.5;
}
.c-article-box__link .c-article-box__subtitle {
    color: #666;
}

/* ─── 参加費 ─── */
.c-article-box__fee {
    margin: 4px 0 0;
    font-size: 14px;
    font-weight: 400;
    color: #363636;
    line-height: 1.6;
}
.c-article-box__link .c-article-box__fee {
    color: #363636;
}

/* ─── 画像ラッパー（c-article-box__media） ─── */
.c-article-box__media {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

/* SP用 NEW + 公開日（画像下）: デフォルト非表示 */
.c-article-box__meta {
    display: none;
}

/* ─── コンテンツ内の要素並び順（Figmaに合わせて上から下へ）─── */
/*
 * 1. 種別・学年タグ  (c-article-box__tags)
 * 2. サブタイトル    (c-article-box__subtitle)
 * 3. タイトル        (c-article-box__title)
 * 4. 参加費          (c-article-box__fee)
 * 5. 校舎タグ        (c-article-box__tags--venue)
 */
.c-article-box__content .c-article-box__tags:not(.c-article-box__tags--venue) {
    order: -2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.c-article-box__tags-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

/* PC用: NEW + 公開日（タグ行右） */
.c-article-box__tags-right {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* 公開日 */
.c-article-box__date {
    font-size: 13px;
    color: #666;
    white-space: nowrap;
}
.c-article-box__link .c-article-box__date {
    color: #666;
}

.c-article-box__content .c-article-box__event {
    order: -1;
}
.c-article-box__content .c-article-box__title {
    order: 0;
}
.c-article-box__content .c-article-box__fee {
    order: 1;
}
.c-article-box__content .c-article-box__tags--venue {
    order: 2;
}
.c-article-box__content .c-link-circle-arrow {
    order: 3;
}

/* ─── SP（〜767px）: 横並びカード ─── */
@media screen and (max-width: 767px) {
    /* SP も横並び（画像左・コンテンツ右） */
    .c-article-box__link {
        flex-direction: row;
        align-items: flex-start;
    }

    /* 左カラム（画像 + NEW/日付） */
    .c-article-box__media {
        width: 130px;
        margin-right: 12px;
    }

    .c-article-box__image {
        width: 100%;
        max-width: 100%;
    }

    /* SP: NEW + 日付を画像下に表示 */
    .c-article-box__meta {
        display: flex;
        align-items: center;
        gap: 6px;
        margin-top: 8px;
        flex-wrap: wrap;
    }

    /* 右カラム（タグ・テキスト） */
    .c-article-box__content {
        flex: 1;
        margin-top: 0;
        min-width: 0;
    }

    /* SP: タグ行の右側（NEW/日付）は非表示（画像下に移動） */
    .c-article-box__tags-right {
        display: none;
    }

    /* SP: タイトルフォントサイズ */
    .c-article-box__title {
        font-size: 16px;
    }
}

/* ─── PC（768px〜）: 横並びカード ─── */
@media screen and (min-width: 768px) {
    /* 左カラム（画像のみ） */
    .c-article-box__media {
        width: 160px;
        margin-right: 24px;
    }

    /* style.css のPC画像ルールをメディアラッパー内でリセット */
    .c-article-box__media .c-article-box__image {
        max-width: 100%;
        width: 100%;
        margin-right: 0;
        flex-shrink: 1;
    }

    /* PC: 画像下のNEW/日付は非表示 */
    .c-article-box__meta {
        display: none;
    }

    /* PC: タグ行の右側（NEW/日付）は表示 */
    .c-article-box__tags-right {
        display: flex;
    }
}

/* ─── フィルターリードテキスト ─── */
.c-search-filter__lead {
    color: #f28227;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
}

/* ─── フィルター〜h2間の余白 ─── */
.c-search-filter + h2 {
    margin-top: 80px;
}

/* ─── 検索結果件数表示 ─── */
.c-result-count {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.c-result-count--none {
    color: #ed1c24;
}

.c-img-border{
	border: 1px solid #CCCCCC;
	border-radius: 8px;
	padding: 20px;
}

.c-search-cv-btn{
	justify-content: center;
}

.c-mt80{
	margin-top: 80px !important;
}

/* ------------------------------------------------------------
   合格者数リスト（lazyblock/teacher）
   ------------------------------------------------------------ */
.c-gokaku {
	display: flex;
	flex-wrap: wrap;
}
.c-gokaku__item {
	display: flex;
	width: 100%;
	max-width: 285px;
	justify-content: space-between;
	align-items: center;
	row-gap: 10px;
	border: 1px solid #c3c3c3;
	padding: 10px 20px;
	margin-top: -1px;
	margin-left: -1px;
}
.c-gokaku__title {
	font-style: normal;
	font-weight: 500;
	line-height: 160%;
	color: #181818;
	font-size: 16px;
}
.c-gokaku__num {
	font-style: normal;
	font-weight: 500;
	line-height: 160%;
	font-size: 24px;
	color: #EB651A;
	display: flex;
	align-items: baseline;
	gap: 2px;
}
.c-gokaku__num__unit {
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%;
	color: #EB651A;
}

@media screen and (max-width: 767px) {
	.c-gokaku {
		justify-content: center;
		border: 1px solid #c3c3c3;
	}
	.c-gokaku__item {
		width: 100%;
		max-width: none;
		padding: 10px 20px;
		border: 0px solid #c3c3c3;
		border-top: 1px solid #c3c3c3;
		margin-top: 0px;
		margin-left: 0px;
	}
	.c-gokaku__num {
		align-items: center;
	}
	.c-gokaku__item:first-child {
		border-top: 0px solid #c3c3c3;
	}
}



/*--------------------------------------------------------------
# コース詳細
--------------------------------------------------------------*/
.c-course__top{
	padding: 40px 15px;
}
.c-course__pamphlet{
    flex-direction: column;
    padding: 40px 15px;
    gap: 36px;
}
.c-course__example__icon img{
    border: 2px solid #C3C3C3;
    border-radius: 100%;
    overflow: hidden;
}
.c-course__top .c-tag-mini.c-tag-mini--elementary{
	padding: 3px 13px;
    height: auto;
    line-height: 140%;
}
@media screen and (min-width: 768px) {
	.c-course__top{
		padding: 40px 80px;
	}
    .c-course__top > .wp-block-group__inner-container .wp-block-columns{
        justify-content: center;
    }
    .c-course__pamphlet{
        padding: 40px 80px;
        gap: 36px;
        flex-direction: row;
    }
    .c-course__pamphlet .wp-block-image{
        max-width: 188px;
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .c-course__example .c-course__example__icon{
        max-width: 50%;
        margin: 0 auto;
    }
}

/* ------------------------------------------------------------
   コース対応表（c-course-matrix）※クラシックエディター（生HTML）専用の独自クラス
   ------------------------------------------------------------ */
.c-course-matrix {
	width: 100%;
	min-width: 1140px;
	table-layout: fixed;
	border-collapse: collapse;
	border: 1px solid #c3c3c3;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
}

/* border-collapse:collapseとposition:stickyは相性が悪いため（.c-scroll-table--sticky-col1の
   コメント参照）、sticky列を使うこの表ではseparateに戻す（詳細度の高い複合セレクタで上書き） */
.c-course-matrix.c-scroll-table--sticky-col1 {
	border-collapse: separate;
	border-spacing: 0;
}

/* .c-scroll-table--sticky-col1  */
.c-course-matrix.c-scroll-table--sticky-col1 th:first-child,
.c-course-matrix.c-scroll-table--sticky-col1 td:first-child {
	position: static;
	left: auto;
	z-index: auto;
}

.c-course-matrix.c-scroll-table--sticky-col1 th.c-course-matrix__label:first-child {
	position: sticky;
	left: -1px;
	z-index: 2;
	background-clip: padding-box;
}

.c-course-matrix.c-scroll-table--sticky-col1 thead th.c-course-matrix__label:first-child {
	z-index: 3;
}

.c-course-matrix__col--label {
	width: 140px;
}

.c-course-matrix__col--grade {
	width: 83.33px;
}

.c-course-matrix th,
.c-course-matrix td {
	box-sizing: border-box;
	border: 1px solid #c3c3c3;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
}

/* 左端ラベル列（受験目的 / 対象学年、高校・大学受験 等） */
.c-course-matrix__label {
	background-color: #fff;
	padding: 10px 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #363636;
}

/* 学年グループ見出し（小学生/中学生/高校生） */
.c-course-matrix__school {
	border-color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
}

.c-course-matrix__school--elementary {
	background-color: #ff8500;
}

.c-course-matrix__school--junior {
	background-color: #8bc43f;
}

.c-course-matrix__school--high {
	background-color: #2882b9;
}

/* 学年番号見出し（小1〜高3） */
.c-course-matrix__grade {
	background-color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #999;
}

/* データセル（コースの有無を表すマス目） */
.c-course-matrix__cell {
	background-color: #fff;
	border: none!important;
}

/* rowspanで縦に伸びるセル（研伸館）は中身のピルも高さいっぱいに広げる */
.c-course-matrix__cell--fill {
	padding: 10px;
}

.c-course-matrix__cell--fill .c-course-matrix__pill {
	height: 100%;
}

/* コース名の角丸枠（ピル）※クリック可能な<a>タグのため、リンクの下線・色継承をリセット */
.c-course-matrix__pill {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 5px;
	background-color: #fff;
	border: 1px solid;
	border-radius: 4px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	transition: ease-out 0.2s;
}

.c-course-matrix__pill:hover {
	text-decoration: none;
	opacity: 0.7;
}

.c-course-matrix__pill--cyan {
	border-color: #00aebb;
	color: #00aebb;
}

.c-course-matrix__pill--green {
	border-color: #8bc43f;
	color: #8bc43f;
}

.c-course-matrix__pill--green-dark {
	border-color: #009743;
	color: #094;
}

.c-course-matrix__pill--red {
	border-color: #fa4150;
	color: #fa4150;
}

/* 行の高さ（Figma実測値に合わせる） */
.c-course-matrix thead tr:nth-child(1) th,
.c-course-matrix thead tr:nth-child(2) th {
	height: 42px;
}

.c-course-matrix tbody tr:nth-child(1) th,
.c-course-matrix tbody tr:nth-child(1) td,
.c-course-matrix tbody tr:nth-child(2) th,
.c-course-matrix tbody tr:nth-child(2) td {
	height: 62px;
}

.c-course-matrix tbody tr:nth-child(3) th,
.c-course-matrix tbody tr:nth-child(3) td {
	height: 84px;
}

.c-course-matrix tbody tr:nth-child(4) th,
.c-course-matrix tbody tr:nth-child(4) td,
.c-course-matrix tbody tr:nth-child(5) td {
	height: 62px;
}

@media screen and (max-width: 767px) {
    .c-course-matrix__col--label{
		width: 100px;
    }
}




/*--------------------------------------------------------------
講師詳細ページ
--------------------------------------------------------------*/
@media screen and (min-width: 768px) {
		.c-teacer-about-wrap{
			border: 2px solid var(--bg_border-border-border_primary, #DEDEDE);
			padding: 40px;
			border-radius: 10px;
		}
		.c-teacer-about-wrap > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-group >
		 .wp-block-group__inner-container > .wp-block-paragraph > strong{
			font-size: 24px;;
		}
}
@media screen and (max-width: 767px) {
		.c-teacer-about-wrap{
			border: 2px solid var(--bg_border-border-border_primary, #DEDEDE);
			padding: 20px;
			border-radius: 10px;
		}
		.c-teacer-about-wrap > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-group >
		 .wp-block-group__inner-container > .wp-block-paragraph > strong{
			font-size: 20px;;
		}
}


/* --------------------------------------------------------------
   サイトマップ（c-sitemap）
   -------------------------------------------------------------- */
.c-sitemap {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.c-sitemap__title {
	color: #eb651a;
	font-size: 20px;
	padding-bottom: 17px;
	border-bottom: 1px solid #DDD;
	font-weight: 700;
}

.c-sitemap__title a {
	color: #eb651a;
	text-decoration: underline;
}

.c-sitemap__content{
	margin-top: 16px;
}

.c-sitemap__content a {
	color: #005bac;
	font-size: 16px;
	text-decoration: underline;
	text-underline-position: from-font;
}

.c-sitemap__content .wp-block-group__inner-container{
	display: flex;
    flex-direction: column;
    gap: 8px;
}

.c-sitemap__item{
	width: 100%;
}

.c-sitemap .is-style-link-external > a {
	color: #005bac;
	font-size: 16px;
}

.c-sitemap .is-style-link-external > a::after{
	background-color: #000;
	width: 16px;
    height: 16px;
	margin-left: 0px;
}

@media screen and (min-width: 768px) {
	.c-sitemap {
		flex-wrap: wrap!important;
		flex-direction: row;
		justify-content: left;
		gap: 40px 24px;
	}
	.c-sitemap__item {
		max-width: 360px;
		margin-left: 0;
		width: calc((100% - 48px) / 3);
	}
	/* 「このサイトについて」など1カラムのみのブロックはFigma上左寄せのため */
	.c-sitemap--single {
		justify-content: flex-start;
	}
	.c-sitemap a:hover{
		opacity: 0.7;
	}
}


/* --------------------------------------------------------------
   校舎詳細
   -------------------------------------------------------------- */
.c-school__top{
    padding: 20px;
}
@media screen and (min-width: 768px) {
    .c-school__top{
        padding: 40px;
    }
}

/* ==========================================================================
   Pick UP バナー（c-pickup）
   ========================================================================== */

.c-pickup {
	position: relative;
	width: 100%;
}

.c-pickup__content {
	width: 100%;
	overflow: hidden;
}

.c-pickup .c-pickup__wrap {
	display: flex;
	align-items: stretch;
}

.c-pickup .c-pickup__item {
	height: auto;
}

/* style.css の li::before { content: "・" } と同種の指定を拾わないための保険 */
.c-pickup .c-pickup__item::before {
	content: none;
}

.c-pickup .c-pickup__item .wp-block-image {
	margin: 0;
}

.c-pickup .c-pickup__item img {
	display: block;
	width: 100%;
	height: auto;
}

/* ナビ・ページネーションは既存 .c-carousel（style.css:7597-7681）の意匠に合わせる。
   矢印は枠なしの橙シェブロン、ドットは非アクティブ #dedede / アクティブ #eb651a。 */
.c-pickup__bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
}

.c-pickup .c-pickup__nav-btn {
	position: static;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.c-pickup .c-pickup__nav-btn::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	margin-left: 0;
	border-top: 1px solid #eb651a;
	border-right: 1px solid #eb651a;
	transform: rotate(45deg);
}

.c-pickup .c-pickup__nav-btn--prev::after {
	margin-left: 0;
	transform: rotate(-135deg);
}

.c-pickup .c-pickup__nav-btn.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
}

.c-pickup .c-pickup__pagination {
	position: relative;
	top: 0;
	width: auto;
	margin-top: 0;
	display: flex;
	justify-content: center;
	text-align: center;
}

.c-pickup .c-pickup__pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin: 0 4px;
	background-color: #dedede;
	border-radius: 50%;
	opacity: 1;
}

.c-pickup .c-pickup__pagination .swiper-pagination-bullet-active {
	background-color: #eb651a;
}

/* --------------------------------------------------------------------------
   PC：3件以下は均等割で収まりきるためナビ・ページネーションを出さない
   -------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
	.c-pickup--pc-static .c-pickup__bottom {
		display: none;
	}
}

