@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
--------------------------------------------- */
/* Document
	 ========================================================================== */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
body {
	margin: 0;
}

main {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
a {
	background-color: transparent;
}
.c-cv__tel__wrap a[href^="tel:"]{
	text-decoration: none;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */
details {
	display: block;
}

summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
template {
	display: none;
}

[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	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;
}

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

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

.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
--------------------------------------------- */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
.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;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

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

.alignright {
	float: right;
	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;
}

#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: #036EB8;
}

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: #036EB8;
}

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: #036EB8;
}

.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: #036EB8;
}

@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 #036EB8;
	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;
	border-radius: 50%;
	background-color: #036EB8;
	position: relative;
    margin-top: calc((1em * 1.6 - 6px) / 2);
}

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

.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-block-columns {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0;
}

.wp-block-column {
	flex-grow: 1;
	flex-basis: 0;
	min-width: 0;
}

@media screen and (max-width: 767px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}
}

.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;
	}
}
@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;
	}
	.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 (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: underline;
	transition: ease-out 0.2s;
}

a:hover {
	text-decoration: underline;
	opacity: 0.7;
}

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

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

.wp-block-button a:hover {
	text-decoration: none;
	opacity: unset;
}

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

.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"]::after {
	display: inline-block;
	width: 1em;
	height: 0.8em;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	width: 1.8em;
	height: 1.2em;
	content: "";
    margin-left: 0.1em;
	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;
	text-decoration: none;
}

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

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

.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: #036EB8;
}

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

.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: #036EB8;
	font-size: 16px;
	border: 1px solid #036EB8;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}

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

li > .page-numbers.current {
	border-color: #036EB8;
	background-color: #EDF6FF;
	color: #036EB8;
	font-weight: bold;
}

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

li > .page-numbers.prev, li > .page-numbers.next {
	position: relative;
	background-color: #036EB8;
    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;
	text-decoration: none;
}

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;
	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;
	text-decoration: none;
}

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

@media screen and (min-width: 768px) {
	.c-sns-icon {
		width: 30px;
		height: 30px;
	}
	.c-news__item:nth-child(n + 2) {
		margin-top: 16px;
	}
	.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;
	}
	.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;
	margin: 0;
	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 {
	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;
    touch-action: none;
}

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

.c-scroll-box__bar.is-dragging,
.c-scroll-box__bar.is-dragging .c-scroll-box__bar-thumb {
	cursor: grabbing;
}

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

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

@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", "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-content-wrap-border{
	border-radius: 10px;
	border: 2px solid #DEDEDE;
	padding: 40px;
}
@media screen and (max-width: 767px) {
	.c-content-wrap-border--event{
		padding: 20px;
	}
}
.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 {
}

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

/*--------------------------------------------------------------
## 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) {
  .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;
	font-size: 10px;
}
img.benesse_logo {
	max-height: 24px;
}

@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", "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: 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
--------------------------------------------------------------*/

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

.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;
	border-bottom: 1px solid #ccc;
}

/* ===== ロゴエリア ===== */
.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: #036EB8;
	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; }

.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%;
	right: 0;
	width: 375px;
	max-height: calc(100vh - 76px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	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;
}

.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: #EF717C;
}

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

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

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

.c-header__drawer-btn--mypage::after {
	background-image: url("/wp-content/themes/up/images/commons/icon-btn-arrow-blue.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;
}

/* ===== ドロワー: お問い合わせ（電話番号一覧） ===== */
.c-header__drawer-contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 0 15px;
	box-sizing: border-box;
	margin-bottom: 16px;
}

.c-header__drawer-contact-tel-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.c-header__drawer-contact-tel-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.c-header__drawer-contact-tel-label {
	margin: 0;
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	text-align: center;
}

.c-header__drawer-contact-tel-num.is-style-info-item-phone {
	justify-content: center;
	margin-top: 0 !important;
	line-height: 1;
}

.c-header__drawer-contact-tel-num.is-style-info-item-phone::before {
	width: 26px;
	height: 26px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.c-header__drawer-contact-tel-num a {
	font-family: "Open Sans", sans-serif;
	font-size: 26px;
	font-weight: bold;
	color: #333;
	text-decoration: none;
}

.c-header__drawer-contact-hours {
	margin: 0;
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 14px;
	color: #363636;
	text-align: center;
}

.c-header__drawer-contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 48px;
	padding: 16px 16px 16px 32px;
	box-sizing: border-box;
	border: 1px solid #333;
	border-radius: 8px;
	font-family: "游ゴシック体", YuGothic, sans-serif;
	font-size: 16px;
	font-weight: bold;
	color: #333;
	text-decoration: none;
	transition: opacity 0.2s;
}

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

.c-header__drawer-contact-btn::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;
}

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

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

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

	.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 {
		height: auto;
	}

	.c-header__drawer {
		top: 62px;
		right: 0;
		left: 0;
		width: 100%;
		max-height: calc(100vh - 62px);
	}

	.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;
	}
}
/* ============================================================
   フッター新デザイン
   ============================================================ */

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

/* --- フッターナビ --- */
.l-footer .c-list-box .c-link-circle-arrow > a {
	color: #333;
}

.editor-styles-wrapper ul li, .editor-styles-wrapper ol li{
	margin: auto !important;
}

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

.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: #036EB8;
	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;
}

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

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

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

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

@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-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: 160%;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease;
}

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

.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 #036EB8 !important;
	background-color: #ffffff !important;
	color: #036EB8 !important;
	font-weight: 700;
	padding-left: 24px;
	padding-right: 28px;
}

.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 #036EB8 !important;
	background-color: #ffffff !important;
	color: #036EB8 !important;
	font-weight: 700;
	padding-left: 24px;
	padding-right: 28px;
}

.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: #EDF6FF !important;
	border-width: 1px !important;
	text-decoration: none;
}

.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;
	padding-top: 17px;
    padding-bottom: 17px;
}

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

@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: 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: 17px;
	padding-bottom: 17px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #ffffff !important;
	background-color: #EF717C !important;
	border: none !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

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

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

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

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

.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: #DD4C59 !important;
	text-decoration: none;
}

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

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

.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: 17px;
	padding-bottom: 17px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #ffffff !important;
	background-color: #FF8C00 !important;
	border: none !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

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

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

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

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

.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: #EC8100 !important;
	text-decoration: none;
}

.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: 15px 24px;
	border-radius: 8px;
	font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #036EB8 !important;
	background-color: #ffffff !important;
	border: 2px solid #036EB8 !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: #EDF6FF !important;
	text-decoration: none;
}

.wp-full{
	width: 354px;
}

@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-siryo-large {
		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: 100%;
	}
}

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

.wp-block-button.is-style-btn-outline-medium {
	max-width: 364px;
}
.wp-block-button.is-style-btn-outline-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: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #036EB8 !important;
	background-color: #ffffff !important;
	border: 1px solid #036EB8 !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

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

.wp-block-button.is-style-btn-outline-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-blue.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

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

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

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

.wp-block-button.is-style-btn-outline-large {
	max-width: 520px;
}
.wp-block-button.is-style-btn-outline-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: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #036EB8 !important;
	background-color: #ffffff !important;
	border: 1px solid #036EB8 !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
}

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

.wp-block-button.is-style-btn-outline-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-blue.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

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

@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-outline-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: #036EB8 !important;
	background-color: #ffffff !important;
	border: 1px solid #036EB8 !important;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
	min-height: 60px;
}

.wp-block-button.is-style-btn-location .wp-block-button__link em {
	display: block;
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	color: #036EB8;
	margin-bottom: 4px;
}

.wp-block-button.is-style-btn-location .wp-block-button__link strong {
	display: block;
	font-size: 18px;
	font-weight: 700 !important;
	color: #036EB8;
}

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

.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-blue.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

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

@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-location {
		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: 160%;
	font-weight: 700;
	color: #036EB8 !important;
	background-color: #ffffff !important;
	border: 1px solid #036EB8 !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-blue.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: #EDF6FF !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: #036EB8 !important;
	background-color: #ffffff !important;
	border: 1px solid #036EB8 !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-blue.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: #EDF6FF !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: #036EB8 !important;
	background-color: #ffffff !important;
	border: 1px solid #036EB8 !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-blue.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: #025997 !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: 17px;
	padding-bottom: 17px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #FFF !important;
	background-color: #036EB8 !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;
}

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

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

@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: 17px;
	padding-bottom: 17px;
	padding-left: 32px;
	padding-right: 36px;
	border-radius: 8px;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 16px;
	line-height: 160%;
	font-weight: 700;
	color: #FFF !important;
	background-color: #036EB8 !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;
}

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

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

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

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

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

.wp-block-button.is-style-btn-default-pink-medium .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

.wp-block-button.is-style-btn-default-pink-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;
}

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

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

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

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

.wp-block-button.is-style-btn-default-pink-large .wp-block-button__link::before {
	content: none !important;
	display: none !important;
}

.wp-block-button.is-style-btn-default-pink-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;
}

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

@media screen and (max-width: 767px) {
	.wp-block-button.is-style-btn-default-pink-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;
	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;
	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-event-modal__action-btn--filled {
	background-color: #036EB8;
}

.c-event-modal__action-btn--outline {
	background-color: #fff;
	border: 1px solid #036EB8;
	color: #036EB8;
}

.c-event-modal__action-btn--outline::after {
	width: 7px;
	height: 12px;
	background-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-blue.svg');
}

.c-event-modal__action-btn--outline:hover {
	color: #036EB8;
}

.c-event-modal__action-btn--private-school {
	background-color: #002063;
}

.c-event-modal__action-btn--medi-up {
	background-color: #00AEBB;
}

@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: #036EB8 !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;
}
.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 {
	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-disabled {
	color: #bbb !important;
}

.is-style-info-item-phone::before {
    width: 30px;
    height: 30px;
	content: "";
	display: block;
	flex-shrink: 0;
	background-image: url('/wp-content/themes/up/images/commons/icon-txt-phone.svg');
}
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;
}

.is-style-link-arrow-border > a {
	color: #1889D3;
	text-decoration: underline;
	text-underline-position: from-font;
}

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

.is-style-link-arrow-down > 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;
	transform: rotate(90deg);
}

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

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

.is-style-text-link-sm {
	font-size: 14px;
}

.is-style-text-link-sm::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 2px;
	background-color: #1889D3;
	vertical-align: middle;
	margin-left: 2px;
}

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

/*--------------------------------------------------------------
# 外部リンク
--------------------------------------------------------------*/

.is-style-link-external > a {
	color: #1889D3;
	font-size: 14px;
	text-decoration: underline;
	text-underline-position: from-font;
}

.is-style-link-external > a::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	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: 0;
	top: -1px;
    position: relative;
}

/*--------------------------------------------------------------
# 箇条書き
--------------------------------------------------------------*/

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

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

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

/*--------------------------------------------------------------
# ポイントリスト
--------------------------------------------------------------*/

.c-point-list.wp-block-group {
	background-color: #EDF6FF;
	padding: 16px 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left !important;
	align-items: flex-start;
	width: 100%;
}

.c-point-list__title {
	color: #036EB8;
	font-family: 'YuGothic', 'Yu Gothic', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	padding-bottom: 8px;
	border-bottom: 1px solid #EDF6FF;
	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%;
}

.c-point-list__items.wp-block-list > li::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #036EB8;
	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; }
}

/*--------------------------------------------------------------
# ポイントリスト（背景なし）
--------------------------------------------------------------*/

.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: block;
	position: relative;
	padding-left: 18px;
	text-align: left;
	width: 100%;
}

.c-list-point-plain.wp-block-list > li::before {
	content: "";
	position: absolute;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #036EB8;
	margin-top: calc((1em * 1.6 - 10px) / 2);
}

@media screen and (max-width: 767px) {
	.c-list-point-plain.wp-block-list { font-size: 15px; }
}

/* ------------------------------------------------------------
   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,
.c-faq__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,
.c-faq__icon::before,
.c-faq__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13.333px;
	height: 1.6px;
	background-color: #036EB8;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.c-accordion__icon::after,
.c-accordion-course__icon::after,
.c-accordion-step__icon::after,
.c-faq__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,
.is-open .c-faq__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;
	font-weight: bold;
}

.c-accordion__body {
	position: relative;
	display: none;
	padding: 16px 15px 24px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

.c-accordion__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 24px;
	right: 24px;
	height: 1px;
	background-image: linear-gradient(to right, #c3c3c3 50%, transparent 50%);
	background-size: 4px 1px;
	background-repeat: repeat-x;
}

@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: #EDF6FF;
	border-radius: 2px;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 500;
	color: #036EB8;
	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: #036EB8;
	width: 100%;
}

.c-accordion-course__body {
	position: relative;
	display: none;
	padding: 8px 15px 24px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

.c-accordion-course__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 24px;
	right: 24px;
	height: 1px;
	background-image: linear-gradient(to right, #c3c3c3 50%, transparent 50%);
	background-size: 4px 1px;
	background-repeat: repeat-x;
}

@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: #036EB8;
}

.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 {
	position: relative;
	display: none;
	padding: 8px 15px 24px;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

.c-accordion-step__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 24px;
	right: 24px;
	height: 1px;
	background-image: linear-gradient(to right, #c3c3c3 50%, transparent 50%);
	background-size: 4px 1px;
	background-repeat: repeat-x;
}

@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;
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	color: #036EB8;
}

.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(#036EB8, #036EB8),
		linear-gradient(#036EB8, #036EB8);
	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: 17px;
	left: 0;
	font-size: 20px;
	line-height: 1;
	font-weight: 300;
	text-align: center;
	color: #036EB8;
}

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

/* ------------------------------------------------------------
   よくある質問（回答自由入力型）
   ------------------------------------------------------------ */
.c-faq-list {
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

.c-faq-list .wp-block-lazyblock-faq-item:not(:first-child) {
	margin-top: 20px;
}

.c-faq__item {
	position: relative;
	background-color: #fff;
	border: 1px solid #777;
}

.c-faq__question {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 15px 39px 15px 47px;
	cursor: pointer;
}

.c-faq__question::before {
	content: "Q.";
	position: absolute;
	top: 15px;
	left: 15px;
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
	color: #036EB8;
}

.c-faq__question-text {
	flex: 1 1 0;
	min-width: 0;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
}

.c-faq__answer {
	position: relative;
	display: none;
	margin: 0 24px;
	padding: 16px 0 16px 23px;
	background-image: linear-gradient(to right, #c3c3c3 50%, transparent 50%);
	background-size: 4px 1px;
	background-repeat: repeat-x;
	background-position: top left;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
	color: #363636;
	cursor: auto;
}

.c-faq__answer::before {
	content: "A";
	position: absolute;
	top: 16px;
	left: 0;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 300;
	color: #036EB8;
}

.c-faq__answer > .lazyblock-inner-blocks > *:first-child {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.c-faq__question {
		padding: 16px 47px 16px 56px;
	}
	.c-faq__question::before {
		top: 11px;
		left: 22px;
	}
	.c-faq__answer {
		padding: 16px 0 16px 22px;
		margin: 0 24px;
	}
	.c-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: #036EB8;
	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: #036EB8;
	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%;
	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: 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 #036EB8;
	border-right: 1px solid #036EB8;
	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: #036EB8;
}

@media screen and (min-width: 768px) {
	.c-carousel .c-carousel__slide {
		width: 320px;
		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/latest-events）の縦スクロール化
   ------------------------------------------------------------
*/
.c-article-box__scroll.c-scroll-box--vertical {
	max-height: 600px;
}
/* ------------------------------------------------------------
   保護者の声カード（lazyblock/voice-item）
   ------------------------------------------------------------ */
.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: #EDF6FF;
	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 #EDF6FF;
	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: #036EB8;
	padding: 0;
	cursor: pointer;
}

.c-voice-item__btn-more {
	height: 64px;
	background: linear-gradient(to bottom, rgba(252, 255, 253, 0.2) 0%, #EDF6FF 55%);
}

.c-voice-item__btn-close {
	display: none;
	height: 64px;
	padding-bottom: 20px;
	background-color: #EDF6FF;
}

.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: #036EB8;
	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%;
	background-color: #fff;
	border: 1px solid #e7e7e7;
	border-radius: 8px;
}

.c-voicecard__content-wrap {
	position: relative;
	padding: 20px;
}

.c-voicecard__top {
	display: flex;
	gap: 12px;
	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: #036EB8;
}

.c-voicecard__name-row {
	display: flex;
	align-items: baseline;
	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;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.c-voicecard__text-area.js-readmore-content--measured {
	display: block;
	-webkit-line-clamp: unset;
	transition: max-height 0.3s ease;
}

.c-voicecard__content-wrap.is-open .c-voicecard__text-area {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.c-voicecard__content-wrap.is-open .c-voicecard__text-area.js-readmore-content--measured {
	overflow: hidden;
}

.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{
	height: 86px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0%, #fff 80%);
}

.c-voicecard__btn-more,
.c-voicecard__btn-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	color: #036EB8;
	padding: 0;
	cursor: pointer;
	width: 100%;
	border-radius: 8px;
}

.c-voicecard__btn-close {
	display: none;
	height: 48px;
	padding-bottom: 16px;
	background-color: #fff;
}

.c-voicecard__content-wrap.is-open .c-voicecard__btn-more {
	display: none;
}

.c-voicecard__content-wrap.is-open .c-voicecard__btn-close {
	display: inline-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: #036EB8;
	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 {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.c-voicecard-list .c-voicecard {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.c-voicecard-list .c-voicecard {
		width: auto;
		flex: 0 1 356px;
	}
}

.c-voicecard-list--3colum > .c-voicecard-list{
	gap: 11px !important;
}

@media screen and (min-width: 768px) {
	.c-voicecard-list--3colum > .c-voicecard-list > .c-voicecard {
		flex: 0 1 calc((100% - 22px) / 3) !important;
	}
}

.c-voicecard-list--3colum > .c-voicecard-list > .c-voicecard >
.c-voicecard__content-wrap > .c-voicecard__top > .c-voicecard__img img{
	object-fit: contain !important;
}
/* ------------------------------------------------------------
   講師一覧カード（lazyblock/teacher-card）
   ------------------------------------------------------------ */
.c-teacher-card-list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
}

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

.c-teacher-card--has-btn {
	min-height: 249px;
}

@media screen and (min-width: 768px) {
	.c-teacher-card {
		width: auto;
		flex: 0 1 364px;
	}
}

.c-teacher-card__top {
	display: flex;
	align-items: center;
	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;
	flex-wrap: wrap;
	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 {
	color: #333;
	font-size: 12px;
	line-height: 1.4;
}

.c-teacher-card__name {
	color: #036EB8;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
}

.c-teacher-card__university {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}

.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 #036EB8;
	border-radius: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.c-teacher-card__btn:hover {
	background-color: #EDF6FF;
	text-decoration: none;
}

.c-teacher-card__btn-text {
	flex: 1 0 0;
	color: #036EB8;
	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: #036EB8;
	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: #036EB8;
}

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

.c-step--no-number .c-step__number {
	display: none;
}
/* ------------------------------------------------------------
   申込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);
}

.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 #036EB8;
	color: #036EB8;
	padding-bottom: 13px;
}

.c-tab__item:hover {
	color: #036EB8;
	background-color: #f2f2f2;
}

.has-background .c-tab__item:hover {
	background-color: #fff;
}

@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: auto;
	min-height: 48px;
	height: auto;
	min-width: 0;
	padding: 8px 20px;
	margin-top: 0;
	background-color: #fff;
	border: 1px solid #036EB8;
	border-radius: 8px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	color: #036EB8;
	text-align: center;
}

.c-tab--pill .c-tab__item.is-active {
	background-color: #EDF6FF;
	border: 1px solid #036EB8;
}

.c-tab--pill .c-tab__item:hover {
	background-color: #EDF6FF;
	color: #036EB8;
}

@media screen and (min-width: 768px) {
	.c-tab--pill{
		gap: 12px;
	}
}

@media screen and (max-width: 767px) {
	.c-tab--pill .c-tab__item {
		flex: unset;
	}
}

/* ------------------------------------------------------------
   モジュール: アンカーリンク（.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-btn-arrow-blue.svg");
    background-repeat: no-repeat;
    background-position: center;
}

.c-anchor-link > a:hover::after{
	top: 55%;
}

@media screen and (min-width: 768px) {
  .c-anchor-link{
    max-width: 364px;
	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,
.c-tag-mini--seminar,
.c-tag-mini--special,
.c-tag-mini--course,
.c-tag-mini--topics {
	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;
}

.c-tag-mini--special {
	background-color: #1c2b73;
	color: #fff;
}

.c-tag-mini--course {
	background-color: #f2b401;
	color: #fff;
}

.c-tag-mini--topics {
	background-color: #EF717C;
	color: #fff;
}

.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-mini--format-group {
	background-color: #FFD0D8;
	color: #C66575;
}

.c-tag-mini--format-individual {
	background-color: #FFD0D8;
	color: #C66575;
}

.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: #036EB8;
}

.c-tag-lesson--individual {
	background-color: #002063;
}

.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-tag-mini--new-outline {
	width: 40px;
	height: 17px;
	padding: 0 4px;
	background-color: #fff;
	border: 1px solid #ed1c24;
	color: #ed1c24;
}

.c-tag-mini--selection {
	width: 40px;
	height: 17px;
	padding: 0 4px;
	background-color: #ed1c24;
	border: 1px solid #ed1c24;
	color: #fff;
}

/* ------------------------------------------------------------
   科目タグ
   ------------------------------------------------------------ */
.c-tag-subject {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 20px;
	padding: 0 8px;
	border-radius: 2px;
	background-color: #fff;
	border: 1px solid;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	margin: 0;
}

.c-tag-subject--english {
	border-color: #ef717c;
	color: #ef717c;
}

.c-tag-subject--math {
	border-color: #036eb8;
	color: #036eb8;
}

.c-tag-subject--japanese {
	border-color: #79c06e;
	color: #79c06e;
}

.c-tag-subject--essay {
	border-color: #666;
	color: #666;
}

.c-tag-subject--science {
	border-color: #6fa2c1;
	color: #6fa2c1;
}

.c-tag-subject--social {
	border-color: #ff8c00;
	color: #ff8c00;
}

/* ------------------------------------------------------------
   学年タグ（.c-tag-grade）
   ------------------------------------------------------------ */
.c-tag-grade {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 20px;
	padding: 0 8px;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	margin: 0;
}

.c-tag-grade--g1,
.c-tag-grade--g2,
.c-tag-grade--g3,
.c-tag-grade--h1,
.c-tag-grade--h2,
.c-tag-grade--h3,
.c-tag-grade--grad {
	background-color: #fff;
	border: 1px solid;
	font-family: "Noto Sans JP", "Noto Sans", sans-serif;
}

.c-tag-grade--g1 {
	border-color: #6fa2c1;
	color: #6fa2c1;
}

.c-tag-grade--g2 {
	border-color: #79c06e;
	color: #79c06e;
}

.c-tag-grade--g3 {
	border-color: #daa520;
	color: #daa520;
}

.c-tag-grade--h1 {
	border-color: #036eb8;
	color: #036eb8;
}

.c-tag-grade--h2 {
	border-color: #77975b;
	color: #77975b;
}

.c-tag-grade--h3 {
	border-color: #c6920f;
	color: #c6920f;
}

.c-tag-grade--grad {
	border-color: #4e3800;
	color: #4e3800;
}

.c-tag-grade--ochazemi,
.c-tag-grade--private,
.c-tag-grade--routeg,
.c-tag-grade--mediup {
	color: #fff;
	font-family: "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
}

.c-tag-grade--ochazemi {
	background-color: #036eb8;
	border: 1px solid #036eb8;
}

.c-tag-grade--private {
	background-color: #002063;
}

.c-tag-grade--routeg {
	background-color: #a52a2a;
}

.c-tag-grade--mediup {
	background-color: #00aebb;
}

/* ----------------------------------------------------------------
   エリアカード（.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%;
	height: 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 #036EB8;
	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;
}

.wp-block-group-vk-link{
	z-index: 0 !important;
}
@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: #036EB8;
}

.c-card-interview::after {
	inset: 1px;
	background-color: #fff;
}

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

.c-card-interview--secondary {
	padding: 15px 39px 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;
}

@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, #036EB8);
	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;
	font-family: var(--font-family-, YuGothic);
	font-size: var(--font-size-30, 30px);
	font-style: normal;
	font-weight: 700;
	line-height: 140%;
}
@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 #036EB8;
	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;
}
.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: #036EB8;
	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: #EDF6FF !important;
	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: #036EB8;
	border: 2px solid #036EB8;
	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;
}

/*--------------------------------------------------------------
# cvエリア
--------------------------------------------------------------*/
.c-cv__tel__wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	justify-content: center;
}
.c-cv__tel {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: center;
}
.c-cv__tel__wrap .is-style-info-item-phone{
	margin-top: 0!important;
	line-height: 1;
}
.c-cv__tel__wrap  a[href^="tel:"]{
	padding: 3px 0;
}
@media screen and (min-width: 768px) {
	.c-cv-border-right{
		border-right: 1px solid #D9D9D9;
	}
	.c-cv__box__cont{
		padding-right: 24px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: unset !important;
	}
	.c-cv__box__cont:nth-of-type(2){
		padding-left: 24px;
		padding-right: 0px;
	}
	.c-cv-bg{
		background: var(--bg_color-background-bg_cta, #EDF6FF);
		padding: 32px;
	}
	.c-cv__box{
		gap: 0!important;
		align-items: stretch !important;
	}
}
@media screen and (max-width: 767px) {
	.c-cv-border-right{
		margin-bottom: 24px !important;
	}
	.c-cv-bg{
		background: var(--bg_color-background-bg_cta, #EDF6FF);
		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) {
	.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-bg--event-search .c-cv-btn-contact {
		padding-left: 0;
		width: 100%;
	}
	.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) {
	.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;
}
.c-deco-border--intro{
	padding: 20px !important;
}
@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 #036EB8;
	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;
}

.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: #036EB8;
	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-blue.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{
		flex-direction: row;
		gap: 36px;
		flex-wrap: wrap;
        justify-content: flex-start;
	}
	.c-course-grade{
		max-width: 356px!important;
		width: calc((100% - 72px) / 3) !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%;
	padding: 30px 20px 20px;
	background-color: #fff;
	border-radius: 8px;
    border: 1px solid #CCC;
	margin-top: 15px;
	position: relative;
	margin-left: 0 !important;
	margin-right: 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-flow__wrap .c-course-card-standard,
.c-course-flow-3step__wrap .c-course-card-standard,
.c-course-flow-5step__wrap .c-course-card-standard {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.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;
		flex-wrap: nowrap;
	}
	.c-course-card-standard__wrap.is-3col > .wp-block-group__inner-container{
		flex-wrap: wrap;
	}
	.c-course-card-standard {
		width: 100%;
		max-width: 356px!important;
		padding: 30px 20px 20px;
		background-color: #fff;
		border-radius: 8px;
		border: 1px solid #CCC;
		position: relative;
		margin-top: 15px !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 776px) {
	.c-course-card-standard__wrap > .wp-block-group__inner-container {
		justify-content: center;
		flex-wrap: wrap;
	}
}

@media screen and (min-width: 777px) and (max-width: 900px) {
	.c-course-card-standard__wrap > .wp-block-group__inner-container {
		flex-wrap: wrap;
		max-width: 747px;
		margin: 0 auto !important;
		justify-content: flex-start;
	}
}

@media screen and (min-width: 777px) and (max-width: 1167px) {
	.c-course-card-standard__wrap.is-3col > .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-3step__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-3step__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: #036EB8;
	border-radius: 2px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}

.c-course-flow-3step__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-3step__wrap > .wp-block-group__inner-container {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		gap: 36px;
	}

	.c-course-flow-3step__wrap .c-course-card-standard {
		flex: 0 0 calc((100% - 72px) / 3);
		max-width: none !important;
		margin-top: 15px !important;
	}

	.c-course-flow-3step__wrap .c-course-card-standard:not(:nth-child(3n+1))::before {
		top: 50%;
		left: -30px;
		transform: translateY(-50%) rotate(0deg);
	}

	.c-course-flow-3step__wrap .c-course-card-standard:nth-child(3n+1)::before {
		display: none;
	}
}

/* ------------------------------------------------------------
   矢印あり　5枚表示
   ------------------------------------------------------------ */
.c-course-flow-5step__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-5step__wrap .c-course-card-standard {
	position: relative;
	margin-top: 15px !important;
}

.c-course-flow-5step__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-5step__wrap > .wp-block-group__inner-container {
		flex-direction: row;
		align-items: stretch;
		justify-content: flex-start;
		gap: 36px;
	}

	.c-course-flow-5step__wrap .c-course-card-standard {
		margin-top: 15px !important;
	}

	.c-course-flow-5step__wrap .c-course-card-standard:not(:first-child)::before {
		top: 50%;
		left: -30px;
		transform: translateY(-50%) rotate(0deg);
	}
}

/* ------------------------------------------------------------
   コースカード
   ------------------------------------------------------------ */
.c-course-card__wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0!important;
	gap: 36px;
}

.c-course-card {
	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;
	gap: 20px;
}

.c-course-card__ttl {
	width: 100%;
}

.c-course-card__ttl .wp-block-group__inner-container {
	flex-direction: column;
	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-wrap: wrap !important;
	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: #EDF6FF;
	padding: 5px;
}

.c-course-card__skill p {
	margin: 0 !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #666;
	gap: 2px;
}

.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;
	position: relative;
}

.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, #EDF6FF);
		padding: 28px;
	}
	.c-topics-wrap .wp-block-image {
    width: auto;
    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, #EDF6FF);
		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: stretch;
	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.wp-block-group {
	width: 180px;
	overflow: hidden;
	padding: 0;
	margin-left: 0;
	margin-right: auto;
}

.c-result-tile__header {
	background-color: #036EB8;
	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("/wp-content/themes/up/images/commons/north_east.svg");
	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 15px;
}
.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: #EDF6FF;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    width: 30% !important;
}

.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: #EDF6FF;
		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: #EDF6FF;
}

.c-table-classic-corse .c-table-classic__th {
	background-color: #F7F7F7;
}

.wp-block-button.is-style-btn-outline-medium.c-table-classic-corse__btn--blue{
	max-width: 100%;
}

.wp-block-button.is-style-btn-outline-medium.c-table-classic-corse__btn--blue .wp-block-button__link{
	width: 100%;
	padding: 13px 28px 13px 24px;
	background-color: #fff;
	border: 1px solid #036EB8!important;
	border-radius: 8px;
	color: #036EB8!important;
	font-size: 14px;
	line-height: 140%;
}

.wp-block-button.is-style-btn-outline-medium.c-table-classic-corse__btn--blue .wp-block-button__link::after{
	background-image: none !important;
    background-color: #036EB8;
    mask-image: url(/wp-content/themes/up/images/commons/icon-btn-arrow-blue.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-medium.c-table-classic-corse__btn--blue .wp-block-button__link:hover{
	background-color: #EDF6FF!important;
    text-decoration: none;
}

.wp-block-button.is-style-btn-outline-medium.c-table-classic-corse__btn--pink{
	max-width: 100%;
}

.wp-block-button.is-style-btn-outline-medium.c-table-classic-corse__btn--pink .wp-block-button__link{
	width: 100%;
	padding: 13px 28px 13px 24px;
	background-color: #fff;
	border: 1px solid #EF717C!important;
	border-radius: 8px;
	color: #EF717C!important;
	font-size: 14px;
	line-height: 140%;
}

.wp-block-button.is-style-btn-outline-medium.c-table-classic-corse__btn--pink .wp-block-button__link::after{
	background-image: none !important;
    background-color: #EF717C;
    mask-image: url(/wp-content/themes/up/images/commons/icon-btn-arrow-blue.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-medium.c-table-classic-corse__btn--pink .wp-block-button__link:hover{
	background-color: #FFF5F5!important;
    text-decoration: none;
}

.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;
	background-color: #036EB8;
}

.c-table-classic__th--head.c-table-classic__th--blue {
	background-color: #036EB8;
}

.c-table-classic__th--head.c-table-classic__th--dk-blue {
	background-color: #002063;
}

.c-table-classic__th--head.c-table-classic__th--red {
	background-color: #A52A2A;
}

.c-table-classic__th--head.c-table-classic__th--green {
	background-color: #00AEBB;
}

/* ---------- セル内カラム幅（%指定） ---------- */
.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__lead {
	display: block;
	margin: 0 0 4px;
	font-weight: 700;
}

.c-table-classic__lead--red {
	color: #A52A2A;
}

.c-table-classic__lead--green {
	color: #00AEBB;
}

.c-table-classic__lead--dk-blue {
	color: #002063;
}

.c-table-classic__lead--blue {
	color: #036EB8;
}

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

.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-blue.svg');
	mask-image: url('/wp-content/themes/up/images/commons/icon-btn-arrow-blue.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-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%;
}

@media screen and (min-width: 768px) {
	.c-table-classic__th,
	.c-table-classic__td {
		font-size: 16px;
	}
}

/* ------------------------------------------------------------
   コース対応表（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;
}

.c-course-matrix.c-scroll-table--sticky-col1 {
	border-collapse: separate;
	border-spacing: 0;
}

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

.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: #036EB8;
}

.c-course-matrix__school--junior {
	background-color: #8bc43f;
}

.c-course-matrix__school--high {
	background-color: #2882b9;
}

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

.c-course-matrix__cell--fill {
	padding: 10px;
}

.c-course-matrix__cell--fill .c-course-matrix__pill {
	height: 100%;
}

.c-course-matrix__cell--fill[rowspan="2"] {
	height: 124px;
}

.c-course-matrix__cell--fill[rowspan="3"] {
	height: 186px;
}

.c-course-matrix__cell--fill[rowspan="4"] {
	height: 248px;
}

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

.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 {
	height: 62px;
}

@media screen and (max-width: 767px) {
    .c-course-matrix__col--label{
		width: 100px;
    }
}

/* ------------------------------------------------------------
   学年別対象コースの流れ
   ------------------------------------------------------------ */
.c-course-matrix__col--label-tab {
	width: 30px;
}

.c-course-matrix__col--label-sub {
	width: 90px;
}

.c-course-matrix__col--grade-last {
	width: 120px;
}

.c-course-matrix__school--neutral {
	background-color: #f2f2f2;
	border-color: #ccc;
	color: #333;
}

.c-course-matrix__school--plain {
	background-color: #fff;
	border-color: #ccc;
	color: #333;
}

.c-course-matrix__label-tab {
	padding: 10px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}

.c-course-matrix__label-tab--blue {
	background-color: #036EB8;
}

.c-course-matrix__label-tab--navy {
	background-color: #002063;
}

.c-course-matrix__label-tab--gray {
	background-color: #666;
}

.c-course-matrix__label-sub {
	background-color: #fff;
	padding: 10px 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: #363636;
	text-align: center;
	vertical-align: middle;
}

.c-course-matrix.c-scroll-table--sticky-col1 th.c-course-matrix__label-tab {
	position: sticky;
	left: -1px;
	z-index: 2;
	background-clip: padding-box;
}

.c-course-matrix.c-scroll-table--sticky-col1 th.c-course-matrix__label-sub {
	position: sticky;
	left: 29px;
	z-index: 2;
	background-clip: padding-box;
}

.c-course-matrix__pill--blue {
	border-color: #036EB8;
	color: #036EB8;
}

.c-course-matrix__pill--navy {
	border-color: #002063;
	color: #002063;
}

.c-course-matrix__pill--brown {
	border-color: #A52A2A;
	color: #A52A2A;
}

.c-table-classic-5col { min-width: 1140px; }

/* ============================================================================
   表　クラシックエディター
   ============================================================================ */

/* ---------- 14-8.試験（基本ルール追記） ---------- */
.c-table-classic-exam{
	table-layout: fixed;
	width: 100%;
	min-width: 1000px;
}
.c-table-classic-exam .c-table-classic__th,
.c-table-classic-exam .c-table-classic__td{
	vertical-align: middle;
}
.c-table-classic-exam--timetable .c-table-classic__th--label,
.c-table-classic-exam--timetable .c-table-classic__td{
	padding: 20px 10px;
}
.c-table-classic-exam--timetable thead th:first-child,
.c-table-classic-exam--timetable tbody th:first-child{
	width: 15%;
}
.c-table-classic-exam--timetable thead th:not(:first-child){
	width: 21.25%;
}
.c-table-classic-exam .c-table-classic__td a[href$=".pdf"]{
	font-size: 14px;
	margin: -1px;
}
@media screen and (max-width: 767px) {
	.c-table-classic-exam colgroup col:first-child{
		width: 100px;
	}
}

/* ---------- 入学試験日程（.c-table-classic-admission） ---------- */
@media screen and (max-width: 767px) {
	.c-table-classic-admission tbody th:first-child{
		min-width: 90px;
	}
}

/* ---------- 14-7.イベント（基本ルール追記） ---------- */
.c-table-classic-event{
	table-layout: fixed;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}
.c-scroll-box .c-table-classic-event{
	min-width: 1000px;
}
.c-table-classic-event .c-table-classic__col--label{
	width: 160px;
}
.c-table-classic-event .c-table-classic__td {
	vertical-align: middle;
}
.c-table-classic-event .c-table-classic__th:first-child,
.c-table-classic-event .c-table-classic__td:first-child {
	position: static;
	left: auto;
	z-index: auto;
}
.c-table-classic-event thead .c-table-classic__th:first-child {
	z-index: 3;
}

.c-table-classic-event th.c-table-classic__th--label {
	position: sticky!important;
	left: -1px!important;
	z-index: 2!important;
	background-clip: padding-box;
	background-color: #EDF6FF;
}

.c-table-classic-event thead .c-table-classic__th:first-child {
	position: sticky;
	left: -1px;
	z-index: 3;
	background-clip: padding-box;
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.c-table-classic-event .c-table-classic__col--label{
		width: 100px;
	}
}

/* ------------------------------------------------------------
   パターン1：講座名／対象学年／講師／曜日／時間 一覧表
   c-table-classic-lecture
   ------------------------------------------------------------ */
.c-table-classic-lecture{
	table-layout: fixed;
	min-width: 1000px;
}
.c-table-classic-lecture .c-table-classic__col--label{
	width: 320px;
}
.c-table-classic-lecture .c-table-classic__link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	color: #1889D3;
	text-decoration: none;
}
.c-table-classic-lecture .c-table-classic__link:hover{
	text-decoration: underline;
}
.c-table-classic-lecture .c-table-classic__link::after{
	content: "";
	display: inline-block;
	width: 16px;
	height: 26px;
	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;
	transform: rotate(90deg);
	flex-shrink: 0;
}

/* ------------------------------------------------------------
   パターン2：週間タイムテーブル（曜日×時限、状態別カラー表示）
   c-table-classic-timetable
   ------------------------------------------------------------ */
.c-table-classic-timetable{
	table-layout: fixed;
	width: 692px;
	max-width: 100%;
}
.c-scroll-box .c-table-classic-timetable{
	min-width: 692px;
	width: 692px;
}
.c-table-classic-timetable .c-table-classic__col--label{
	width: 104px;
}
.c-table-classic-timetable .c-table-classic__th--head{
	background-color: #F7F7F7;
	color: #333;
}
.c-table-classic-timetable .c-table-classic__th:not(.c-table-classic__th--head){
	background-color: #fff;
}
.c-table-classic-timetable__cell--group{
	background-color: #036EB8 !important;
	color: #fff !important;
	font-weight: 700;
}
.c-table-classic-timetable__cell--individual{
	background-color: #002063 !important;
	color: #fff !important;
	font-weight: 700;
}
.c-table-classic-timetable__cell--study{
	background-color: #EDF6FF !important;
}
.c-table-classic-timetable__cell--blank{
	background-color: #fff !important;
}
.c-table-classic-timetable .c-table-classic__th, .c-table-classic-timetable  .c-table-classic__td{
	font-size: 14px;
}

/* ------------------------------------------------------------
   パターン5：料金表（コース内容／校内生／校外生）
   c-table-classic-tuition-simple
   ------------------------------------------------------------ */
.c-scroll-box .c-table-classic-tuition-simple{
	table-layout: fixed;
	min-width: 500px;
}

.c-table-classic-tuition-simple{
	table-layout: fixed;
}

/* ------------------------------------------------------------
   講座レベル別ゴール一覧（講座目安／講座名／講座内容／ゴール）
   c-table-classic-goal
   ------------------------------------------------------------ */
.c-table-classic-goal{
	table-layout: fixed;
	min-width: 1000px;
}
.c-table-classic-goal .c-table-classic__col--label{
	width: 220px;
}
.c-table-classic-goal__group-title{
	background-color: #036EB8;
	color: #fff;
	font-weight: 700;
	text-align: center;
	padding: 10px;
}
.c-table-classic-goal__group-title--pink{
	background-color: #EF717C;
}
.c-table-classic-goal__group-title--blue{
	background-color: #6FA2C1;
}
.c-table-classic-goal .c-table-classic__td ul{
	margin: 0;
	padding-left: 20px;
	text-align: left;
}
.c-table-classic-goal .c-table-classic__td li{
	margin: 0 0 4px;
}
.c-table-classic-goal .c-table-classic__td li:last-child{
	margin-bottom: 0;
}

/* ------------------------------------------------------------
   年間指導計画（月×期×内容）
   c-table-classic-curriculum
   ------------------------------------------------------------ */
.c-table-classic-curriculum{
	table-layout: fixed;
	min-width: 766px;
}
.c-table-classic-curriculum colgroup col:nth-child(1){
	width: 54px;
}
.c-table-classic-curriculum colgroup col:nth-child(2){
	width: 100px;
}
.c-table-classic-curriculum colgroup col:nth-child(3){
	width: 207px;
}
.c-table-classic-curriculum .c-table-classic__th,
.c-table-classic-curriculum .c-table-classic__td{
	text-align: left;
}
.c-table-classic-curriculum .c-table-classic__th--head{
	text-align: center;
}
.c-table-classic-curriculum .c-table-classic-curriculum__round{
	background-color: #EDF6FF;
	text-align: center;
}
.c-table-classic-curriculum .c-table-classic__th{
	font-size: 14px;
	text-align: center;
}

/* ---------- 汎用：表の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: 0 40px;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-wrap {
		flex-direction: row;
		width: auto;
		padding: 20px 0;
	}
}

.c-footer__sns-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 20px 0;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-group {
		padding: 16px 40px;
		width: auto;
	}
}

.c-footer__sns-group--ochazemi {
	border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-group--ochazemi {
		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: 24px;
}

@media screen and (min-width: 768px) {
	.c-footer__sns-icons {
		gap: 40px;
	}
}

.c-footer__sns-icons--narrow {
	gap: 20px;
}

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: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

/* ===== フッターナビ ===== */
.c-footer__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 12px;
	align-items: flex-start;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.c-footer__nav-list {
		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__trademark {
	width: 100%;
}

.c-footer__trademark-text {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	color: #333;
}

/* ===== ブランド＋説明ラッパ ===== */
.c-footer__container {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	width: 100%;
}

/* ===== ブランドリスト ===== */
.c-footer__brand-container {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	width: 100%;
}

.c-footer__brand-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
	justify-content: center;
}

@media screen and (min-width: 768px) {
	.c-footer__brand-list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 40px;
	}
}

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

@media screen and (min-width: 768px) {
	.c-footer__brand-link img {
		height: 24px;
	}
}

/* ===== 説明エリア ===== */
.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: 12.8px;
	color: #666;
	text-align: center;
	line-height: 1.2;
	margin: 0;
}

/* ===========================================
   c-text-bubble - 吹き出し（段落ブロックスタイル）
   ===========================================
*/
.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: #036EB8;
  font-size: 16px;
  background-color: #ffffff;
  border: 1px solid #036EB8;
  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: #036EB8 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:0 10px 30px;
}
@media screen and (max-width: 767px) {
	.c-bubble-content-wrap{
		padding: 0 20px 30px;
	}
}

/* ===========================================
   c-text-bubble - 吹き出し青
   ===========================================
*/
.c-text-bubble--blue{
	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;
    background-color: #036EB8;
    border: 1px solid #036EB8;
    color: #FFF200;
    border-radius: 30px;
}
.c-text-bubble--blue::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%!important;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: #036EB8 transparent transparent transparent;
}

/* ===========================================
   c-search-filter - 検索絞り込みアコーディオン
   =========================================== */

.c-search-filter {
	width: 100%;
}

.c-search-filter__header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 24px;
	background-color: #EDF6FF;
	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;
}

.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 #036EB8;
	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: #EDF6FF;
	border-right: 1px solid #dedede;
	padding: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.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);
	}
	.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: #036EB8;
	border-color: #036EB8;
}

.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: #036EB8;
	border: 1px solid #036EB8;
	border-radius: 8px;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.6;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	font-weight: bold;
}

.c-search-box__submit-btn:hover {
	background-color: #036EB8;
	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;
	}

	.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: #036EB8;
		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用）
   =========================================== */
.c-search-box__subheading {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 24px;
	width: 100%;
}

.c-search-box__subheading-title {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
}

.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: #036EB8;
}

.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 #036EB8;
	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 #036EB8;
	border-radius: 8px;
}

.c-search-box__selected-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 20px;
	background-color: #fff;
	border: 1px solid #036EB8;
	border-radius: 50px;
	color: #333;
	font-size: 14px;
	line-height: 1.6;
	white-space: nowrap;
}

.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 #036EB8;
	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 #036EB8;
	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 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 40px;
	border: none;
	cursor: pointer;
}

.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 #036EB8;
	border-radius: 8px;
	color: #036EB8;
	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: #036EAF;
	color: #fff;
}

.c-search-box__area-submit-btn:disabled {
	background-color: #b3b3b3;
	color: #f2f2f2;
	cursor: not-allowed;
}

.c-search-box__area-submit-btn.is-ready {
	background-color: #fff;
	border: 1px solid #036EB8;
	color: #036EB8;
}

.c-search-box__area-submit-btn.is-ready:hover {
	background-color: #036EB8;
	color: #fff;
}

.c-search-box__course-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.c-search-box__course-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	min-height: 60px;
	padding: 16px 16px 16px 32px;
	background-color: #fff;
	border: 1px solid #036EB8;
	border-radius: 8px;
	color: #036EB8;
	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 span {
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
}

.c-search-box__course-btn:hover {
	background-color: #036EB8;
	color: #fff;
	text-decoration: none;
}

.c-search-box__course-btn-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

@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 {
		grid-template-columns: 1fr;
	}
}

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

.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: #036EB8;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
}

.c-school-card__tag--personal {
	background-color: #fff;
	border: 1px solid #036EB8;
	color: #036EB8;
}

.c-school-card__tag--private-school {
	background-color: #002063;
	color: #fff;
}

.c-school-card__tag--medi-up {
	background-color: #00AEBB;
	color: #fff;
}

.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) {
	.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 #ccc;
	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 #036EB8;
	color: #036EB8;
}

.c-taiken-card__label--filled {
	background-color: #036EB8;
	border: 1px solid #036EB8;
	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: #ed1c24;
	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) {
	.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: #036EB8;
	border: 1px solid #036EB8;
}

.c-article-box__tag--event-type {
	background-color: #036EB8;
	border: 1px solid #036EB8;
	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-top-news-event > .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__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;
	text-decoration: none;
}
.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: #036EB8;
	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;
}

.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__open {
    margin: 4px 0 0;
    font-size: 14px;
    font-weight: bold;
    color: #036eb8;
    line-height: 1.6;
}
.c-article-box__link .c-article-box__open {
    color: #036eb8;
}

.c-article-box__media {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.c-article-box__meta {
    display: none;
}

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

.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__open {
    order: 2;
}
.c-article-box__content .c-article-box__tags--venue {
    order: 3;
}
.c-article-box__content .c-link-circle-arrow {
    order: 4;
}

@media screen and (max-width: 767px) {
    .c-article-box__link {
        flex-direction: row;
        align-items: flex-start;
    }

    .c-article-box__media {
        width: 130px;
        margin-right: 12px;
    }

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

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

    .c-article-box__tags-right {
        display: none;
    }

    .c-article-box__title {
        font-size: 16px;
    }
}

@media screen and (min-width: 768px) {
    .c-article-box__media {
        width: 160px;
        margin-right: 24px;
    }

    .c-article-box__media .c-article-box__image {
        max-width: 100%;
        width: 100%;
        margin-right: 0;
        flex-shrink: 1;
    }

    .c-article-box__meta {
        display: none;
    }

    .c-article-box__tags-right {
        display: flex;
    }
}

.c-search-filter__lead {
    color: #036EB8;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
}

.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: #036EB8;
	display: flex;
	align-items: baseline;
	gap: 2px;
}
.c-gokaku__num__unit {
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 140%;
	color: #036EB8;
}

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

/* ------------------------------------------------------------
   実績リスト（lazyblock/success）
   ------------------------------------------------------------ */
.c-success .c-gokaku__item{
	padding: 10px 20px;
	min-height: 60px;
}

/*--------------------------------------------------------------
# コース詳細
--------------------------------------------------------------*/
.c-course__top{
	padding: 40px 15px;
}
.c-course__example__icon img{
    border: 2px solid #C3C3C3;
    border-radius: 100%;
    overflow: hidden;
}
.c-course__top .c-tag-mini, .c-course__top .c-tag-grade{
	height: auto;
    padding: 4px 16px;
}
@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;
    }
}

/*--------------------------------------------------------------
講師詳細ページ
--------------------------------------------------------------*/
@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: #036EB8;
	font-size: 20px;
	padding-bottom: 17px;
	border-bottom: 1px solid #DDD;
	font-weight: 700;
}

.c-sitemap__title a {
	color: #036EB8;
	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);
	}
	.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;
}

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

/* --------------------------------------------------------------------------
   デジタルパンフレット
   -------------------------------------------------------------------------- */
.c-degi-pamphlet{
	padding: 20px;
}
.c-degi-pamphlet__content{
	display: flex;
    gap: 40px;
    justify-content: center;
}
.c-degi-pamphlet__content__right{
	width: auto!important;
    margin-right: 0!important;
    margin-left: 0!important;
}
@media screen and (max-width: 768px) {
	.c-degi-pamphlet__content{
		flex-direction: column;
		gap: 20px;
	}
}
