@charset "utf-8";

/* カスタムプロパティ */
@font-face {
	font-family: 'NotoSansJP';
	src: url('../fonts/NotoSansJP-Black.otf') format('truetype');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'NotoSansJP';
	src: url('../fonts/NotoSansJP-Bold.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'NotoSansJP';
	src: url('../fonts/NotoSansJP-Medium.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'NotoSansJP';
	src: url('../fonts/NotoSansJP-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'OpenSans';
	src: url('../fonts/OpenSans-ExtraBold.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'OpenSans';
	src: url('../fonts/OpenSans-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'OpenSans';
	src: url('../fonts/OpenSans-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
}

.material-symbols-outlined {
	font-variation-settings:
		'FILL'1,
		'wght'600,
		'GRAD'100,
		'opsz'24;
	speak: none;
}

:root {
	--main-color: #2652e1;
	--white: #fff;
	--white-90: rgba(255, 255, 255, 0.9);
	--white-75: rgba(255, 255, 255, 0.75);
	--white-60: rgba(255, 255, 255, 0.6);
	--pale-gray: #edf2f1
		/*f0f2f2*/
	;
	--light-gray: #e9e9e9;
	--gray: #ccc;
	--dark-gray: #b3b3b3;
	--black-75: rgba(0, 0, 0, 0.75);
	--black-half: rgba(0, 0, 0, 0.5);
	--black-quarter: rgba(0, 0, 0, 0.25);
	--black-eighth: rgba(0, 0, 0, 0.125);
	--main-green: #0aa534;
	--pale-green: #d6f5eb;
	--light-green: #43bb73;
	--dark-green: #185425;
	--dark-green-bright: #14401d;
	--dark-green-fade: #2a733b;
	--dark-green-strong: #21612f;
	--light-brown: #7f5e4f;
	--dark-brown:
		/*#604a40*/
		#574036;
	--dark-brown-bright: #6e4b3b;
	--black-ink: #333;
	--ink: #444;
	--light-ink: #777;
	--pale-ink: #999;
	--red:
		/*#eb5264*/
		#e84d5f;
	--light-red: #ef6478;
	--dark-red: #94061a;
	--light-yellow: #fcffd9;
	--yellow: #f1f7ad;

	--pale-orange: #f8dbd2;
	--pale-violet: #d2d7f7;

	--red-set: #bc5c85;
	--cobalt-set: #6069b9;
	--orange-set: #db8239;
	--light-green-set: #9bb236;
	--gold-set: #e4a223;
	--fog-set:
		/*#978a97*/
		#8c808c;
	--marine-set: #5fadad;
	--earth-set:
		/*#9e675f*/
		#9e645c;
	--violet-set: #8a66b3;
	--blue-set:
		/*#4a93cd*/
		#438ec9;
	--pink-set: #be8ac6;
	--dark-green-set: #426e4b;

	--shadow-strong: 0 2px 8px var(--black-half);
	--shadow-normal: 0 2px 8px var(--black-eighth);
	--shadow-normal-down: 0 8px 8px var(--black-eighth);
	--shadow-button: 0 3px 5px -2px var(--black-eighth);
	--gradation-dark-green: linear-gradient(0deg, var(--dark-green-strong) 0%, var(--dark-green-fade) 100%) fixed;
	--font: OpenSans, NotoSansJP, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	--radius-large: .75rem;
	--radius-normal: .35rem;
	--radius-small: .15rem;
}

@media screen and (min-width: 1025px) {
	/*
	:root {
	--font: "Helvetica Neue",
	Arial,
	"Hiragino Kaku Gothic ProN",
	"Hiragino Sans",
	Meiryo,
	sans-serif;
}:root {
	--font:	"ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	/*-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif*/
}


html {
  background: var(--white);
  font-size: 16px;
}
body {
	font-size: 1rem;
	font-family: var(--font);
	-webkit-text-size-adjust: none;
	color: var(--black-ink);
}

/* Avoid Chrome to see Safari hack */
@supports (-webkit-touch-callout: none) {
	body {
		/* The hack for Safari */
		height: -webkit-fill-available;
	}
}

/*dt, dd, li, th, td, p { line-height: 1.5; }*/
a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
	text-decoration: none;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	cursor: pointer;
}

a:active {


	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	/*-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;*/
}

img {
	display: block;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

input, textArea, select, button {
	background: none;
	margin: 0px;
	outline: none;
	padding: 0px;
	font-weight: normal;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	list-style-type: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	font-size: 1rem;
}

input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="email"], textarea {
	-webkit-appearance: none;
	border-radius: var(--radius-normal);
}

button {
	cursor: pointer;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}

li {
	list-style: none;
}

.hidden {
	overflow: hidden;
}

.contents {
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body.fixed {
	overflow: hidden;
}

.container {
	position: fixed;
	inset: 0;
	overflow: auto;
}

/* radio */
input[type="radio"],
input[type="checkbox"] {
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
}

.radio {
	position: relative;
	cursor: pointer;
	padding: .75rem 0 .75rem 2.5rem;
	font-weight: 500;
	color: var(--ink);
	font-size: 1rem;
	border-radius: var(--radius-normal);
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.radio::before,
.radio::after {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

.radio::before {
	background-color: var(--white);
	border: var(--gray) solid 2px;
	border-radius: 50%;
	width: 1.75rem;
	height: 1.75rem;
	left: .25rem;
	z-index: 0;
}

.radio::after {
	background-color: var(--main-color);
	border-radius: 50%;
	opacity: 0;
	width: 1rem;
	height: 1rem;
	left: .625rem;
	z-index: 1;
}

input.input-radio:checked+.radio::after {
	opacity: 1;
	transition: all 0.15s ease 0s;
}

input.input-radio:checked+.radio::before {
	border: var(--main-color) solid 2px;
	transition: all 0.15s ease 0s;
}

.visually-hidden {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}


/* select */
.select-normal {
	display: block;
	width: 100%;
	font-size: 1.1rem;
	padding: .75rem 2rem .75rem 1rem;
	background: var(--light-gray);
	border-radius: var(--radius-normal);
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

#my-schedule .select-normal {
	background: var(--white);
	border: var(--main-color) solid 2px;
}

.select-normal option {
	background-color: var(--white);
}

.select-container,
.select-container-half {
	position: relative;
	display: inline-block;
	background: var(--white);
	border-radius: var(--radius-normal);
}

.select-container .material-symbols-outlined,
.select-container-half .material-symbols-outlined {
	pointer-events: none;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: .2rem;
	font-size: 1.5rem;
	color: var(--light-ink);
	transform: translateY(-50%);
}

.select-container::before, .select-container-half::before {
	content: '\e5cf';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	display: block;
	position: absolute;
	right: .15rem;
	top: 50%;
	color: var(--main-color);
	transform: translateY(-50%);
	font-size: 1.75rem;
	font-variation-settings: 'FILL'1, 'wght'600, 'GRAD'0, 'opsz'24;
	z-index: 0;
	pointer-events: none;
}

.register-select .select-container::before {
	pointer-events: none;
	color: var(--dark-gray);
}

@media screen and (min-width: 1025px) {
	.select-container::before, .select-container-half::before {
		right: .25rem;
	}
}

.select option {
	background: var(--white);
}


/* input */
form {
	position: relative;
}

input, .register-box {
	-webkit-appearance: none;
	-webkit-appearance: textfield;
	appearance: textfield;
	background-color: #fff;
	border: none;
	border-radius: var(--radius-normal);
	/*line-height: 1.75;*/
	padding: .65rem 1rem;
	width: 100%;
	border: 2px solid var(--main-color);
	box-sizing: border-box;
}

input.search-box {
	padding: .5rem .5rem .5rem 2.25rem;
}

.register-box {
	font-size: 1.25rem;
}

.register-box.unable-edit {
	border: none;
	background: var(--white);
	color: var(--main-color);
	font-weight: 700;
}

input:focus,
textarea:focus {
	background-color: var(--light-yellow);
}

::placeholder {
	color: var(--light-ink);
	font-size: 1.25rem;
}

input::-webkit-input-placeholder {
	color: var(--light-ink);
	font-size: 1.25rem;
}

input:-moz-placeholder {
	color: var(--light-ink);
	font-size: 1.25rem;
}

input::-moz-placeholder {
	color: var(--light-ink);
	font-size: 1.25rem;
}

input:-ms-input-placeholder {
	color: var(--light-ink);
	font-size: 1.25rem;
}

.search-window input::placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-window input::-webkit-input-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-window input:-moz-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-window input::-moz-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-window input:-ms-input-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.modal-content input::placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.modal-content input::-webkit-input-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.modal-content input:-moz-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.modal-content input::-moz-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.modal-content input:-ms-input-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-box_top input::placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-box_top input::-webkit-input-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-box_top input:-moz-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-box_top input::-moz-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}

.search-box_top input:-ms-input-placeholder {
	color: var(--pale-ink);
	font-size: 1.1rem;
}


.icon-input {
	display: inline-block;
	flex-shrink: 0;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	font-size: 1rem;
	color: var(--pale-ink);
	left: .5rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.modal-content .search-box-container_top {
	padding: 0 0 1rem;
}

.search-box-container_top {
	width: 100%;
	margin: 0 auto;
	padding: 0.75rem 0 .25rem;
	max-width: 960px;
}

/*
@media screen and (min-width: 1025px) {
	.search-box-container_top {
		width: calc(100% - 1.5rem);
	}
}*/
.search-box_top {
	position: relative;
}

.search-box_top input {
	padding: .5rem .5rem .5rem 1.25rem;
	width: 300px;
	/*line-height: 1.2;*/
}

.search-box_top .button {
	position: absolute;
	height: 100%;
	width: 2.5rem;
	top: 0;
	right: 0;
	border-radius: 0 var(--radius-normal) var(--radius-normal) 0;
}

.search-box_top .button span {
	color: white;
	display: block;
	top: 50%;
	left: 50%;
	margin: 0;
	transform: translate(-50%, -50%);
}

.modal-content .search-box_top input {
	padding: .5rem .5rem .5rem 1rem;
}

.modal-content .search-box_top .button {
	width: 2rem;
}


/* checkbox */
.checkbox-normal, .checkbox-large {
	padding: .75rem 0 .75rem .75rem;
	display: block;
	text-align: left;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.checkbox-large {
	display: inline-block;
}
/*講座検索のチェックボックス*/
.checkbox-koza-search-label:has(input[type=checkbox]) {
	padding: .25rem 0 1rem;
	border: solid 1px var(--main-color);
	border-radius: 30px;
	background-color: var(--white);
	color: var(--color-gray);
	padding: 10px 15px;
	margin: 2px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.checkbox-koza-search-label:has(input[type=checkbox]:checked) {
	border-color: var(--main-color);
	background-color: var(--main-color);
	color: var(--white);
}



.cart .checkbox-normal {
	padding: 0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.side-content-container.checkbox-inline .checkbox-normal {
	padding: .75rem 1.25rem .75rem .75rem;
}

.koza-main-content-container.checkbox-inline .checkbox-normal {
	padding: .75rem 1.25rem .75rem .75rem;
}

.checkbox-normal-input,
.checkbox-large-input {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}

.cart .program-list-info,
.cart .checkbox-normal_labeltext {
	color: var(--gray);
}

.cart .program-list-info h2,
.entry .program-list-info h2,
#my-schedule .program-list-info h2 {
	margin-top: 0;
	margin-bottom: 1rem;
}

.cart .program-list-info h2 {
	color: var(--dark-gray);
}

.cart .checkbox-normal_labeltext {
	font-size: 1rem;
}

.cart .checkbox-normal_work-input {
	height: 1.2rem;
	width: 1.2rem;
}

.cart .program-list-info,
.entry .program-list-info {
	margin-top: 1rem;
}

.cart .program-list-info img {
	filter: grayscale(100%);
	opacity: .35;
}

.cart .checkbox-normal-input:checked~.program-list-info {
	color: var(--ink);
	transition: all 0.15s ease 0s;
}

.cart .checkbox-normal-input:checked~.program-list-info li:not(.list-price, .list-format),
.entry .program-list-info li:not(.list-price, .list-format) {
	color: var(--light-ink);
	transition: all 0.15s ease 0s;
}

.cart .checkbox-normal-input:checked~.program-list-info li:not(.program-01 .professor)::before,
.entry .program-list-info li:not(.program-01 .list-price)::before {
	color: var(--pale-ink);
	transition: all 0.15s ease 0s;
}

.entry .program-list-info li.list-price::before {
	content: none;
}

.cart .checkbox-normal-input:checked~.program-list-info .list-time span,
.entry .program-list-info .list-time span {
	background: var(--pale-ink);
	transition: all 0.15s ease 0s;
}

.cart .checkbox-normal-input:checked~.program-list-info li.list-format,
.entry .program-list-info li.list-format {
	background: var(--yellow);
	color: var(--main-color);
	transition: all 0.15s ease 0s;
}

.cart .checkbox-normal-input:checked~.program-list-info h2 {
	color: var(--main-color);
	transition: all 0.15s ease 0s;
}

.cart .checkbox-normal-input:checked~.program-list-info .course01,
.cart .checkbox-normal-input:checked~.program-list-info .course02,
.cart .checkbox-normal-input:checked~.program-list-info .course03 {
	color: var(--ink);
	background: var(--light-gray);
	transition: all 0.15s ease 0s;
}

.cart .checkbox-normal-input:checked~.program-list-info .course02 {
	background: var(--pale-orange);
}

.cart .checkbox-normal-input:checked~.program-list-info .course03 {
	background: var(--pale-violet);
}

.cart .checkbox-normal-input:checked~.checkbox-normal_labeltext {
	color: var(--ink);
	transition: all 0.15s ease 0s;
}

.entry-numbering {
	font-weight: 700;
}

.cart .checkbox-normal-input:checked~.program-list-info img {
	filter: none;
	opacity: 1;
	transition: all 0.15s ease 0s;
}

.checkbox-normal-input:checked+.checkbox-normal_work-input,
.image-circle .checkbox-normal_work-input {
	background: var(--main-color);
	/*transition : all 0.1s ease 0s;*/
	font-size: 0;
	border: none;
}

.checkbox-large-input:checked+.checkbox-large_work-input {
	background: var(--main-color);
}

.image-circle .checkbox-normal_work-input {
	display: block;
	margin: auto;
}

.checkbox-normal-input:checked+.checkbox-normal_work-input::before,
.checkbox-large-input:checked+.checkbox-large_work-input::before,
.image-circle .checkbox-normal_work-input::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 25.5%;
	left: 50%;
	width: 43%;
	height: .18rem;
	border-radius: .1rem;
	transform: translate(-.25rem, .35rem) rotateZ(-135deg);
	transform-origin: .125rem .125rem;
	background: var(--white);
	transition: all 0.15s ease 0s;
}

.checkbox-normal-input:checked+.checkbox-normal_work-input::after,
.checkbox-large-input:checked+.checkbox-large_work-input::after,
.image-circle .checkbox-normal_work-input::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 30.5%;
	left: 55%;
	width: 65%;
	height: .18rem;
	border-radius: .1rem;
	transform: translate(-.25rem, .35rem) rotateZ(-45deg);
	transform-origin: .125rem .125rem;
	background: var(--white);
	transition: all 0.15s ease 0s;
}

.checkbox-normal_work-input,
.checkbox-large_work-input {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--light-gray);
	border: solid 2px var(--main-color);
	border-radius: .15rem;
	vertical-align: middle;
	/*transition : all 0.15s ease 0s;*/
}

.checkbox-normal_labeltext,
.checkbox-large_labeltext {
	margin-left: .5rem;
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 700;
	vertical-align: middle;
}

.checkbox-large {
	padding: .5rem 0;
}

.checkbox-large_labeltext {
	color: var(--ink);
	font-weight: 500;
	margin-left: 0.75rem;
}

.checkbox-large_work-input {
	width: 1.75rem;
	height: 1.75rem;
	background: var(--white);
}

.checkbox-large-input:checked+.checkbox-large_work-input::before,
.checkbox-large-input:checked+.checkbox-large_work-input::after {
	background: var(--white);
	border-radius: var(--radius-small);
}

.checkbox-large-input:checked+.checkbox-large_work-input::before {
	top: 35%;
	left: 49%;
	width: 53%;
	height: 0.2325rem;
}

.checkbox-large-input:checked+.checkbox-large_work-input::after {
	top: 37.5%;
	left: 51.5%;
	width: 77.5%;
	height: 0.225rem;
}

#wrapper {
	/*background: var(--pale-gray);*/
	margin-top: 6rem;
}

#wrapper.overall {
	margin-top: 3.525rem;
	scroll-padding-top: 3.525rem;
}

#wrapper.school {
	margin-top: 9.5rem;
}

#wrapper.top {
	overflow: hidden;
}

button, .button {
	--unit: .75rem;
	text-align: center;
	padding: var(--unit) calc(var(--unit) * 2.5);
	/*background: var(--main-color);*/
	background: var(--main-color);
	--unit-font: 1.2rem;
	font-size: var(--unit-font);
	font-weight: 700;
	color: var(--white);
	border-radius: var(--radius-normal);
	display: block;
	margin-right: auto;
	margin-left: auto;
	width: fit-content;
	box-shadow: var(--shadow-button);
	box-sizing: border-box;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	position: relative;
	z-index: 1;
	cursor: pointer;
}

.button.my-button-link {
	border-radius: 30px;
	font-size: 1.0rem;
}

@media screen and (min-width: 1025px) {
	.button.my-button-link {
		border-radius: 30px;
		width: 20% !important;
		font-size: 1.0rem;
	}
}

.button a, .button-dark-brown a, .button-light-brown a, .button-red a {
	color: var(--white);
}

.button-white a {
	color: var(--main-color);
}

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

	#side .button:not(.open_up, .side-area.search-window .button), #main>.inner>.button,
	#main>#my-schedule .button {
		margin-top: 2rem;
		margin-bottom: 2rem;
	}

	button, .button {
		width: 80%;
	}
}

@media (min-width: 600px) and (max-width: 1024px) {
	button, .button {
		width: 50%;
	}
}

@media screen and (min-width: 1025px) {
	button, .button {
		font-weight: 500;
	}

	button.button--large, .button.button--large {
		font-weight: 700;
	}

	#main>.inner>.button,
	#main>#my-schedule .button {
		margin-top: 2.5rem;
	}

	#side .button {
		width: 100%;
		margin-bottom: 1.5rem;
	}

	button, .button {
		width: 50%;
	}

	.top button:not(header button, .button--small, .button--large, .search-box_top .button), .top .button:not(header .button, .button--small, .button--large, .search-box_top .button) {
		width: 25%;
	}
}

.button-fit {
	width: fit-content;
}

.button--small {
	--unit: 0.5rem;
	--unit-font: .95rem;
	--unit: .35rem;
	padding: var(--unit) calc(var(--unit) * 2.5);
	width: fit-content;
}

.button--large {
	--unit: 1.25rem;
	--unit-font: 1.35rem;
	width: fit-content;
}

.button-brown {
	background: var(--main-color);
}

.button-red {
	background: var(--red);
}

.button-dark-red {
	background: var(--dark-red);
}

.button-light-brown {
	background: var(--light-brown);
}

.button-white,
.button-white-brown,
.button-white-light-brown,
.button-white-dark-red,
.button-white-red,
.button-white-yellow {
	border: solid 2px var(--main-color);
	color: var(--main-color);
	background: var(--white);
	border-radius: var(--radius-normal);
}

.button-white-brown {
	color: var(--main-color);
	border: solid 2px var(--main-color);
}

.button-white-light-brown {
	color: var(--light-brown);
	border: solid 2px var(--light-brown);
}

.button-white-dark-red {
	color: var(--dark-red);
	border: solid 2px var(--dark-red);
}

.button-white-red {
	color: var(--red);
	border: solid 2px var(--red);
}

.button-white-yellow {
	color: var(--gold-set);
	border: solid 2px var(--gold-set);
}

.button-radius {
	border-radius: 30px;
}

.button-taiken {
	background: var(--gold-set);
	color: var(--black-ink);
}

.button-chusen {
	background: var(--red);
/*	color: var(--black-ink);*/
}

.login {
	padding: 3px;
	display: flex;
	align-items: center;
}

.login img {
	width: 4rem;
	display: inline-block;
	vertical-align: middle;
	padding: 1.25rem 0.35rem;
	background: var(--white);
	border-radius: var(--radius-small);
}

.login .button-text {
	display: block;
	margin: 0 auto;
}

@media screen and (min-width: 600px) {
	.button--small {
		--unit: 0.6rem;
		--unit-font: 1rem;
	}

	.button--large {
		--unit: 1.3rem;
		--unit-font: 1.5rem;
	}
}

button .material-symbols-outlined,
.button .material-symbols-outlined {
	font-size: calc(var(--unit-font) * 1.3);
	vertical-align: sub;
	margin-right: .4rem;
}

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

	button .material-symbols-outlined,
	.button .material-symbols-outlined {
		height: calc(var(--unit-font) * 1.3);
		width: calc(var(--unit-font) * 1.3);
	}
}

button:active, .button:active,
.button-white:active, .button-white-brown:active {
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
}

.button-arrow, .button-arrow-down {
	padding-right: calc(var(--unit) * 3.5);
	padding-left: calc(var(--unit) * 2);
}

.button-arrow.button--small, .button-arrow-down.button--small {
	padding-right: calc(var(--unit) * 5.25);
}

.button-arrow:after,
.button-arrow-down:after {
	content: '\e409';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	font-weight: 900;
	display: block;
	position: absolute;
	right: calc(var(--unit) * .75);
	top: 50%;
	transform: translateY(-50%);
	font-size: calc(var(--unit-font) * 1.5);
}

.button-arrow-down:after {
	content: '\e5cf';
	font-family: 'Material Symbols Outlined';
}

.button-arrow.button-white:after,
.button-arrow-down.button-white:after {
	color: var(--main-color);
}

.button-arrow.button-white-brown,
.button-arrow-down.button-white-brown:after {
	color: var(--main-color);
}

.icon {
	--size: 22px;
	width: var(--size);
	height: var(--size);
}

.wrapper {
	--item-width: 300px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));
	grid-gap: 1rem;
}

.wrapper-2 {
	--item-width: 500px;
}

.wrapper {
	--item-width: 300px;
	--gap: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--item-width), 1fr));
}

.wrapper.gap-1 {
	--gap: 16px;
}

/* side koza search */
#side_koza_search {
	height: 3rem;
	position: fixed;
	right: 1.5rem;
	bottom: 6rem;
	z-index: 2;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

#side_koza_search a {
  width:12rem;
}


/* to top */
#page_top {
	width: 3rem;
	height: 3rem;
	position: fixed;
	right: -4.5rem;
	bottom: .75rem;
	z-index: 2;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

#page_top.active-page_top {
	right: 1.5rem;
}

@media screen and (min-width: 1025px) {
	#page_top {
		right: 1.5rem;
		bottom: -4rem;
	}

	#page_top.active-page_top {
		/*right: .75rem;*/
		bottom: 2rem;
	}
}

@media screen and (min-width: 1471px) {
	/*
#page_top{
  right: calc(((100% - 1280px) / 2) - 1.5rem);
}
*/
	/*
#page_top.active-page_top {
  right: calc(((100% - 1280px) / 2) - 1.5rem);
}	*/
}

#page_top a {
	position: relative;
	display: block;
	width: 3rem;
	height: 3em;
	background: var(--black-75);
	box-shadow: var(--shadow-strong);
	text-decoration: none;
	border-radius: 50%;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

#page_top a:active,
#page_top:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

#page_top span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	font-size: 1.75rem;
	height: 1.75rem;
	width: 1.75rem;
	color: var(--white);
	cursor: pointer;
}

#search-btn {
	width: 4.5rem;
	height: 4.5rem;
	position: fixed;
	right: .75rem;
	bottom: 4.5rem;
	background: var(--main-color);
	box-shadow: var(--shadow-strong);
	border-radius: 50%;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	z-index: 3;
}

@media screen and (min-width: 1471px) {
	#search-btn {
		right: calc(((100% - 1280px) / 2) - 3rem);
	}
}

#search-btn a {
	position: relative;
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	text-decoration: none;
}

#search-btn:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

#search-btn span.text-small {
	position: absolute;
	top: 2.5rem;
	font-size: .75rem;
	font-weight: 700;
	color: var(--white);
	left: 50%;
	width: 100%;
	letter-spacing: .05rem;
	text-align: center;
	transform: translateX(-50%);
}

#search-btn span.material-symbols-outlined {
	position: absolute;
	top: 32.5%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	font-size: 2.25rem;
	height: 2.25rem;
	width: 2.25rem;
	color: var(--white);
	cursor: pointer;
}

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

	#search-btn,
	#search-btn a {
		width: 4rem;
		height: 4rem;
	}

	#search-btn span.material-symbols-outlined {
		font-size: 2rem;
		height: 2rem;
		width: 2rem;
		top: 34%;
	}

	#search-btn span.text-small {
		top: 2.2rem;
		font-size: .80rem;
		font-weight: 500;
	}
}

/* 見出し */
h1 {
	text-align: center;
	font-size: 1.5rem;
	color: var(--main-color);
	font-weight: 900;
	padding-bottom: 2rem;
	letter-spacing: .05rem;
	font-family: var(--font-title);
}

#main h1, #cover h1 {
	text-align: left;
	padding: .75rem 0;
	line-height: 1.3;
}

#title h1:last-child,
#title02 h1:last-child {
	padding: 1rem 0;
}

#title h1+h2, #title h2 {
	color: var(--main-color);
	font-size: 1.25rem;
}

#title h1+h2 {
	margin-top: -.25rem !important;
}

.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1) {
	font-size: 1.75rem;
}

h1.title-left, h1.title-center {
	position: relative;
	text-align: left;
	font-size: 1.35rem;
	padding-bottom: 1rem;
	display: flex;
	align-items: center;
}

h1.title-left span, h1.title-center span {
	margin-right: .5rem;
	color: var(--main-color);
	font-size: 1.75rem;
	width: 1.75rem;
	height: 1.75rem;
}

h1.title-left.inline-title span {
	bottom: 0.125rem;
	color: var(--main-color);
	position: relative;
	vertical-align: middle;
	font-size: 1.75rem;
	width: 1.75rem;
	height: 1.75rem;
}

#side #banner-area h1.title-left span,
#side #hashtag-container h1.title-left span {
	margin: 0 8px 0 0;
}

h1.title-center {
	text-align: center;
	color: var(--main-color);
	display: inline-block;
	margin: 0 auto;
}

h1.h1-sns {
	color: var(--white);
	line-height: 1.75;
}

h1.h1-sns .eye-catch {
	color: var(--yellow);
}

h1.title-left.inline-title {
	display: inline-block;
}

.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1) {
	font-size: 1.8rem;
	display: block;
	position: relative;
	text-align: left;
}

@media screen and (min-width: 1025px) {
	.top .inner:not(#news-top .inner, #hashtag-container.inner, #notice .inner) {
		text-align: center;
	}

	h1.h1-sns {
		font-size: 1.5rem;
		font-weight: 700;
		padding-bottom: .75rem;
	}

	.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1) {
		display: inline-block;
		text-align: center;
	}
}

.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1) span {
	position: relative;
	z-index: 1;
}

/*
.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1):after {
	content: '';
	position: absolute;
	display: block;
	width: 5.5rem;
	height: 5.5rem;
	background: var(--white);
	z-index: 0;
	margin: 0;
	top: -1rem;
	left: -1.5rem;
border-radius: var(--radius-normal);
	transform: rotate(-10deg);
}*/
@media screen and (max-width: 1024px) {
	.top .inner:not(#news-top .inner, #hashtag-container.inner, #notice .inner) h1 {
		padding-left: 0.75rem;
	}

	.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1):after {
		width: 4rem;
		height: 4rem;
		top: -.75rem;
		left: -.25rem;
	}
}

.top section:nth-of-type(odd) h1:not(#news-top h1, .title-left, .title-center, .modal-content h1):after {
	background: var(--pale-gray);
}

h2 {
	position: relative;
	font-size: 1.4rem;
	color: var(--main-color);
	font-weight: 700;
	line-height: 1.75rem;
	/*padding-bottom: .75rem;*/
	margin-top: 1.5rem;
	margin-bottom: 1.25rem;
}

h3:not(.recent-container h3, .footer div h3, .row-program .program-disc .program-title, .program-disc .program-title, .program-disc .contents-title, .user-name h3) {
	margin: 1.5rem 0;
	padding-left: .75rem;
	border-left: 0.35rem solid var(--gray);
	line-height: 1.35rem;
}

.user-name h3 {
	display: inline;
}

.user-name span {
	vertical-align: bottom;
}

.text-container h2 {
	padding-bottom: 0.75rem;
	padding-top: .5rem;
	border-bottom: 0.25rem var(--light-gray) solid;
}

.text-container h2::after {
	content: '';
	display: block;
	width: 3rem;
	height: 0.25rem;
	margin: .75rem calc(100% - 3rem) 0 0;
	background: var(--main-color);
	position: absolute;
}

.text-container p {
	text-align: left;
}

.text-container h2 .material-symbols-outlined {
	height: 1.4rem;
	width: 1.4rem;
}

@media screen and (min-width: 1025px) {
	/*.top h2::after {
	content: '';
	display: block;
	width: 3rem;
	height: 0.35rem;
	margin: .75rem calc(100% - 3rem) 0 0;
	background: var(--main-color);
}*/
}

/*.link-page-navi-point {
	padding-top: 12rem;
	margin-top: -12rem;
}*/

.main-container h2.link-page-navi-point[id]::before {
	content: "";
	display: block;
	height: 24rem;
	margin-top: -24rem;
	visibility: hidden,
}

.main-container.fixed-page h2.link-page-navi-point[id]::before {
	content: "";
	height: 9rem;
	margin-top: -9rem;
}

@media screen and (min-width: 1025px) {
	h2 {
		font-weight: 700;
	}
}

.top h2 {
	font-size: 1.4rem;
	line-height: 1.85rem;
	padding-left: 2.25rem;
	margin-bottom: 1.5rem;
	border-left: none;
	display: inline;
	position: relative;
}

/*
.top h2:not(.modal-content h2)::before {
	content: '\ef49';
	font-family: 'Material Symbols Outlined';
	speak: none;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.85rem;
	font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 100, 'opsz' 24;
	color: var(- -main-color);
	transform: rotate(-10deg);
}
*/

.highlight {
	font-weight: 500;
	font-size: 1.1rem;
	padding: 0 0 .75rem 0;
}

.highlight span {
	margin-right: .25rem;
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--main-color);
}

ol.list-normal {
	counter-reset: ol-counter;
	margin-bottom: .75rem;
}

.list-normal li {
	padding: 0 0 .25rem 1.75rem;
	position: relative;
	line-height: 1.8;
	white-space: pre-wrap;
	font-size: 1.05rem;
}

ol.list-normal li:before,
ul.list-normal li:before {
	padding-right: .25rem;
	position: absolute;
	left: 0;
	font-size: 1.05rem;
}

ol.list-normal li:before {
	content: counter(ol-counter)".";
	counter-increment: ol-counter 1;
}

ul.list-normal li:before {
	content: '・';
}

.list-normal .list-normal {
	margin-top: .75rem;
}

.list-line li {
	font-weight: 700;
	padding: 0 0 .25rem 1rem;
}

ul.list-line li::before {
	content: '';
	display: block;
	height: 1.1rem;
	width: .3rem;
	position: absolute;
	top: .4rem;
	left: 0;
	background: var(--gray);
}

.supple {
	padding-left: 1.5rem;
	position: relative;
	display: block;
	font-weight: 300;
}

.supple::before {
	content: '―';
	display: block;
	position: absolute;
	top: -0.15rem;
	left: 0;
}

/* section */
section {
	padding: 2rem 0 1rem;
}

.link-keyword-top {
	padding-top: 1rem;
	padding-bottom: 2rem;
	background: var(--white);
}

.school.top .link-keyword-top+section {
	padding-top: 1rem;
	padding-bottom: 3rem;
}

section#main .inner:not(.program-container, #my-schedule .inner),
.inner-program {
	background: var(--white);
}

#main-visual {
	padding: 0;
}

.school #main-visual {
	padding: 1rem 0 .5rem 0;
}

.top section:nth-of-type(odd) {
	background: var(--white);
}

.banner-sns-area {
	text-align: center;
}

#content, #cover {
	padding: 0 0 6rem;
}

#content+section {
	padding: 2rem 0 3rem;
}

#cover {
	padding-bottom: 8rem;
}

#recommend .inner:not(:first-of-type) {
	padding-top: 2.5rem;
}

/* news */
#news-top {
	padding: .75rem 0;
	overflow: hidden;
	position: relative;
}

#news-top h1 {
	display: inline;
	font-size: 1rem;
	font-weight: 900;
	background: var(--main-color);
	padding: .2rem .5rem;
	margin: 0 .25rem 0 0;
	letter-spacing: -.02rem;
	vertical-align: middle;
	border-radius: var(--radius-small);
	color: var(--white);
}

ul.news-top {
	display: inline-block;
	width: calc(100% - 5rem);
	vertical-align: middle;
	overflow: hidden;
}

@media screen and (min-width: 1025px) {
	#news-top h1 {
		letter-spacing: 0.05rem;
		margin: 0 .5rem 0 0;
	}

	ul.news-top {
		width: calc(100% - 6.5rem);
	}
}

#news-top ul li {
	line-height: 1.2rem;
	font-size: 1rem;
	font-weight: 700;
}

#news-top ul li a {
	color: var(--ink);
	font-weight: bold;
	/*display: -webkit-box;*/
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	font-size: 1.4rem;
	text-decoration: underline;
	/*margin:0;
	display : inline-block;
	padding-left: 100%;
	white-space : nowrap;
	line-height : 1em;
	animation : scroll-text 20s linear infinite;
}
@keyframes scroll-text{
0% { transform: translateX(0)}
100% { transform: translateX(-100%)}*/
}

#news-top ul li a:hover {
	color: var(--main-color);
}

#news-top .my-news-label{
	background: var(--main-color);
	display: inline-block;
	padding: 0.3rem;
	margin-right: 0.3rem;
	color: var(--white);
}

#news {
	background: var(--pale-gray);
	border-radius: var(--radius-normal);
	padding: .75rem;
	margin-bottom: 3rem;
}

/* お知らせ */
.news-headline {
	position: relative;
	padding: 1rem 0 .75rem .25rem;
	border-bottom: solid var(--white) 2px;
}

.news-headline a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.news-headline:last-of-type {
	border-bottom: none;
}

.news-headline:first-of-type {
	padding: .5rem 0 .75rem .25rem;
}

.news-headline::before {
	content: '\e409';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	display: block;
	position: absolute;
	right: -.75rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--pale-ink);
	font-size: 2.5rem;
	pointer-events: none;
}

.news-headline:hover::before {
	color: var(--main-color);
}

.news-area {
	padding: .25rem .5rem;
	background: var(--main-color);
	color: var(--white);
	margin-right: .5rem;
	font-size: .9rem;
	border-radius: var(--radius-small);
}

.date {
	font-size: 1.05rem;
	color: var(--light-ink);
}

.news-title {
	display: block;
	font-weight: 700;
	padding: 0.5rem 1rem 0.5rem 0;
	color: var(--ink);
	font-size: 1.05rem;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.news-title:hover {
	color: var(--main-color);
}




/* TOP リンク */
.link-tile {
	display: flex;
}

.link-tile a {
	width: calc(50% - 0.75rem);
	padding: .75rem 0;
	text-align: center;
	color: var(--white);
	border-radius: var(--radius-normal);
	box-shadow: var(--shadow-button);
}

.link-tile a:first-of-type {
	background: var(--light-brown);
	margin: 0 0.25rem 0 0.5rem;
}

.link-tile a:last-of-type {
	background: var(--main-color);
	margin: 0 0.5rem 0 0.25rem;
}

.link-tile a img {
	display: block;
	width: 20%;
	margin: 0 auto .5rem;
}

.link-tile a span {
	display: block;
	font-weight: 900;
	font-size: 1.25rem;
}

@media screen and (min-width: 1025px) {
	.link-tile a span {
		font-weight: 500;
	}
}

.link-tile a span span {
	font-weight: 500;

	display: block;
	font-size: .85rem;
}

/* ハッシュタグ */
.top section .inner#hashtag-container {
	padding-top: 2.75rem;
}

.hashtag {
	display: inline-block;
	background: #d6e6f5;
	color: var(--ink);
	padding: .35rem .5rem .35rem 1.25rem;
	margin: 0 .75rem .75rem 0;
	position: relative;
	font-size: .95rem;
	font-weight: 700;
	border-radius: var(--radius-normal);
	cursor: pointer;
}

.hashtag:hover {
	opacity: .8;
}

@media screen and (min-width: 1025px) {
	#side .hashtag {
		font-size: .95rem;
		margin: 0 1rem 0.75rem 0;
		padding: 0.35rem 0.75rem 0.35rem 1.35rem;
	}
}

.hashtag:before {
	display: inline-block;
	position: absolute;
	content: '#';
	background-size: cover;
	top: 50%;
	transform: translateY(-50%);
	left: .5rem;
}

/* メニュー */
#drawer {
	display: none;
}

#header label {
	cursor: pointer;
	position: fixed;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#header label.open {
	position: absolute;
	z-index: 7;
}

.open {
	z-index: 7;
	top: 0;
	right: .25rem;
	width: 12.5%;
	height: 3rem;
	transition: background .3s, transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.open::before,
.open::after {
	content: "";
}

.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - .35rem);
	left: calc(50% - 0.8rem);
	width: 1.6rem;
	border-bottom: 3px solid var(--main-color);
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.open::before {
	transform: translateY(-8px);
}

.open::after {
	transform: translateY(8px);
}

.close {
	z-index: 1;
	inset: 0;
	pointer-events: none;
	transition: background .3s;
}

.open.close {
	inset: 0 0.25rem auto auto;
}

#drawer:checked+.open {
	background: transparent;
	z-index: 7;
	/*transform: translateX(-80vw);*/
}

#drawer:checked+.open span {
	transform: scaleX(0);
}

#drawer:checked+.open::before {
	transform: rotate(135deg) scaleX(1.2);
}

#drawer:checked+.open::after {
	transform: rotate(-135deg) scaleX(1.2);
}

#drawer:checked~.close {
	pointer-events: auto;
	display: block;
	z-index: 4;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	position: fixed;
	background: rgba(0, 0, 0, .25);
}

#drawer:checked~.close.open {
	pointer-events: auto;
	background: transparent;
}

#header label {
	scrollbar-width: none;
	-ms-overflow-style: none;
	z-index: 4;
}

.menu {
	z-index: 5;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;
	width: 80vw;
	height: 100%;
	margin: 0;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 1);
	transform: translateX(100%);
	transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1);
	padding-top: 6rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

#header label::-webkit-scrollbar,
.menu::-webkit-scrollbar {
	display: none;
}

#header label, .menu {
	touch-action: none;
}

.menu ul {
	overflow: auto;
}

.overall .menu {
	padding-top: 3.5rem;
}

@media screen and (max-width: 1024px) {
	.school.top .menu {
		padding-top: 9.5rem;
		padding-bottom: 2rem;
	}
}

.menu h2 {
	color: var(--light-brown);
	font-weight: 400;
	letter-spacing: .1em;
	text-align: center;
}

.menu ul {
	margin: 0;
	padding: 0;
}

.menu li {
	text-align: left;
}

/*
.menu li:not(:first-child) {
	border-top: 1px solid rgba(255,255,255,.6);
}*/
.menu a, .menu .dropdown-title {
	display: block;
	padding: 1rem 1.5rem;
	color: ver(--light-brown);
	text-decoration: inherit;
	transition: background .2s;
}

@media screen and (max-width: 1024px) {
	.menu a, .menu .dropdown-title {
		padding: 1.25rem 0 1.25rem 2rem;
	}
}

@media screen and (max-width: 1024px) {
	.menu a:hover:not(.sns a, .button) {
		background-color: var(--pale-gray);
	}
}

.sns {
	margin: 1rem 15% 0;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.banner-sns-area .sns {
	margin: 1rem 15% 0;
}

.sns a {
	width: 17.5%;
	padding: 0;
}

.sns a:hover {
	opacity: .75;
}

#drawer:checked~.menu {
	transform: none;
}

header {
	top: 0;
	width: 100%;
	position: fixed;
	text-align: center;
	box-shadow: var(--shadow-normal);
	background: var(--white);
	z-index: 5;
	transition: all 0.2s ease-out;
}

/*header.overall {
padding: 0.5rem 0;	
}*/
header.fixed-hide {
	box-shadow: none;
}

header.fixed-hide {
	top: calc(-6rem - 2px);
}

@media screen and (min-width: 1025px) {
	header.fixed-hide {
		top: -7rem;
	}
}

header.fixed-hide.overall {
	top: -4.75rem;
}

#home header.fixed-hide.school {
	top: -10rem;
}

/* 通常モーダル */
.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	/* modify 100 */
}

.modal-bg {
	background: var(--black-quarter);
	height: 100vh;
	position: absolute;
	width: 100%;
}

.member-card+.modal .modal-bg {
	background: var(--black-75);
}

.modal-content {
	background: var(--white);
	left: 50%;
	padding: 1.5rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 1.5rem);
	border-radius: var(--radius-normal);
}

@media screen and (max-width: 599px) {
	.modal-content.area .link-area {
		width: calc(50% - .5rem);
	}

	.modal-content.area .link-area:nth-last-of-type(odd) {
		margin-right: 0.2rem;
	}

	.modal-content.area .link-area:nth-last-child(even) {
		margin-left: 0.2rem;
	}
}

h1.modal-header, #main h1.modal-header {
	font-size: 1.2rem;
	font-weight: 700;
	text-align: left;
	width: calc(100% - 2.5rem);
	padding: 0 0 1rem;
	line-height: 1.35;
}

@media screen and (min-width: 600px) {
	h1.modal-header, #main h1.modal-header {
		font-size: 1.5rem;
		/*text-align: center;*/
		padding: 0 0 1.25rem;
	}
}

span.basic-modal-close {
	font-size: 0;
	position: absolute;
	top: 1rem;
	right: .5rem;
	height: 2rem;
	width: 2rem;
}

.basic-modal-close:hover {
	cursor: pointer;
}

span.basic-modal-close::before, span.basic-modal-close::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.35rem);
	left: calc(50% - 0.8rem);
	width: 1.35rem;
	border-bottom: 3px solid var(--pale-ink);
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	z-index: 1;
}

span.basic-modal-close::before {
	transform: rotate(135deg) scaleX(1.2);
}

span.basic-modal-close::after {
	transform: rotate(-135deg) scaleX(1.2);
}


/* footer */
footer, .footer {
	background-color: #f3f3f3;
	border-top: none;
	width: 100%;
	padding: 0;
	margin: 0;
}

.footer div h3 {
	color: var(--main-color);
	font-weight: 700;
	font-size: 1.35rem;
	flex-basis: 100%;
}

.footer div a {
	font-size: 1.15rem;
	color: var(--main-color);
}

.footer div a:hover {
	opacity: .75;
}

.logo-sns {
	padding-bottom: 20px;
}

.logo-sns ul{
	display: flex; 
	justify-content: center;
	gap: 20px; 
	list-style: none;
	padding: 0;
	margin: 0;
}
.logo-sns ul li {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: auto;

}

.logo-sns ul li .logo-img{
	max-width: 200px; 
	height: auto;
	display: block;
}
.logo-sns ul li .sns-img{
	width: 3rem;
	height: 3rem;
}

.footer-location-display{
	display: flex;
	flex-direction: column;
}

.kyoten-footer-location-display{
	display: flex;
	flex-direction: column;
}

.header-manu {
	display: flex;
	/*justify-content: space-around;*/
	margin: 0;
	position: relative;
	z-index: 6;
	background: var(--white);
	height: 3.5rem;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.header-manu li {
	padding-top: .25rem;
	text-align: center;
}

.header-manu li.icon-text {
	width: 15%;
	/*margin-right: 3rem;*/
}

.header-manu li.icon-text.text-menu {
	padding-right: .5rem;
	position: relative;
	height: 100%;
}

.header-manu li.icon-text.text-menu span {
	display: block;
	position: absolute;
	top: 2.275rem;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
}

@media (min-width: 600px) and (max-width: 1024px) {
	.header-manu li.icon-text.text-menu span {
		left: calc(50% + .25rem);
	}
}

.header-manu li.logo {
	padding-left: .25rem;
	width: calc(50% - 0.25rem);
	padding-top: 0;
}

.header-manu li.school-name {
	width: 100%;
	background: #DAEEF3;
	padding-bottom: .25rem;
	padding-left: 1rem;
	padding-right: 1rem;
	border-bottom: 2px solid transparent;
	display: flex;
	align-items: center;
}

.header-manu li.school-name.school-info {
/*	background: var(--light-gray);*/
	padding-top: .5rem;
	font-weight: 900;
	flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
	.top .header-manu li.logo {
		width: calc(70% - 0.25rem);
	}

	.header-manu li.school-name:not(.top .header-manu li.school-name)::after {
		content: '\e409';
		font-family: 'Material Symbols Outlined';
		position: absolute;
		display: block;
		position: absolute;
		right: 1rem;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.5rem;
		font-variation-settings:
			'FILL'1,
			'wght'600,
			'GRAD'0,
			'opsz'24;
	}

	.header-manu li.school-name.school-home-link {
		padding-top: .375rem;
		padding-bottom: .375rem;
	}
}

@media screen and (min-width: 1025px) {
	.header-manu li.school-name.school-info {
/*		background: var(--white);*/
		padding-top: .125rem;
		flex-wrap: nowrap;
	}

	.school .menu a:not(.button), .school .menu .dropdown-title {
		padding: .9rem 2rem 1.1rem;
		position: relative;
		z-index: 5;
/*		background: var(--white);*/
	}

	.school .menu a:not(.button):hover {
		-webkit-transition: .2s ease-in-out;
		transition: .2s ease-in-out;
	}

	.header-manu li.school-name {
		font-weight: 700;
		padding: .125rem .25rem 0 .25rem;
		padding-bottom: 0;
	}
}

.school-title {
	width: 100%;
	display: flex;
	align-items: center;
}

.school-title .material-symbols-outlined {
	font-size: 1.5rem;
	height: 1.3rem;
	width: 1.3rem;
	margin-left: .05rem;
	margin-right: .05rem;
	color: inherit;
}

.school-info-access,
.school-info-calendar {
	margin-top: .5rem;
	margin-bottom: .5rem;
	margin-left: .5rem;
	width: calc(50% - .5rem);
	background: var(--white);
	padding: .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border-radius: var(--radius-normal);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.school-info-access:active,
.school-info-calendar:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.school-info-access .material-symbols-outlined,
.school-info-calendar .material-symbols-outlined {
	margin-right: .25rem;
	height: 1.5rem;
	width: 1.5rem;

}

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

	.school-info-access .material-symbols-outlined,
	.school-info-calendar .material-symbols-outlined {
		margin-right: .4rem;
	}
}

.school-info-access {
	margin-right: .5rem;
	margin-left: 0;
}

.school-info-access a,
.school-info-calendar a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.header-manu li.school-name span:last-child {
	color: inherit;
	font-weight: 700;
	letter-spacing: .025rem;
	font-size: 1rem;
}

@media screen and (min-width: 1025px) {
	.header-manu li.school-name span:last-child {
		font-weight: 700;
	}

	.header-manu li.school-name span {
		color: inherit;
	}
}

.header-manu li.school-name .school-title span:last-child {
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: .035rem;
}

.header-manu li.school-name span:not(.school-title span) {
	color: var(--main-color);
}

.header-manu li.school-name img {
	height: 1.2rem;
	width: auto;
	display: inline-block;
	padding-right: .5rem;
}

.school-name {
	position: relative;
}

.school-name a {
	cursor: pointer;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	color: inherit;
}

.icon-text img,
.icon-text span.material-symbols-outlined {
	display: block;
	height: 1.75rem;
	font-size: 1.75rem;
	margin: 0.125rem auto -0.125rem;
}

.icon-text span.material-symbols-outlined {
	width: 1.75rem;
}

.icon-text span {
	color: var(--main-color);
}

.icon-text span.text-small {
	color: var(--ink);
	font-size: .75rem;
	font-weight: 700;
	white-space: nowrap;
}

.text-xsmall {
	font-size: .65rem !important;
}

.text-xmsmall {
	font-size: .7rem !important;
}

.text-xsmall-menu {
	font-size: .65rem !important;
	padding-top: 0.15rem !important;
}

.logo a {
	display: flex;
	max-width: 240px;
}

.logo a img {
	position: relative;
	width: auto;
	padding: .25rem;
	max-height: 80px;
	transition: none;
	align-items: center;
}

.logo-kyoten a {
	display: flex;
	max-width: 160px;
}

.logo-kyoten a img {
	position: relative;
	width: auto;
	padding: .25rem;
	max-height: 60px;
	transition: none;
	align-items: center;
}

.copyright {
	display: block;
	width: 100%;
	background: var(--white);
	font-size: .8rem;
	padding: 0.8rem 0;
	color: var(--pale-ink);
	font-weight: 700;
	text-align: center;
}

header nav {
	margin: 0 auto;
}

header nav ul {
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
	white-space: nowrap;
	justify-content: flex-end;
}

header nav li a, header nav li .dropdown-title {
	display: grid;
	padding: 0 1rem;
	color: var(--main-color);
	font-weight: 700;
	text-decoration: inherit;
	background: transparent;
	transition: background .2s;
}

@media screen and (min-width: 1025px) {
	header nav li a, header nav li .dropdown-title {
		font-weight: 700;
		color: var(--black-ink);
	}

	header nav li a:not(.button)::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 100%;
		height: .25rem;
		background: var(--main-color);
		transform: scale(0, 1);
		transform-origin: center top;
		transition: transform 0.3s;
	}

	header nav li a:hover:not(.button)::after {
		transform: scale(1, 1);
	}

}

/* end @media screen and (min-width: 1025px) */

.menu .button {
	font-size: 1rem;
	display: flex;
	padding: 0.25rem 1.75rem 0.25rem 1rem;
	width: fit-content;
	justify-content: center;
	margin: .5rem auto;
	align-items: center;
	font-weight: 700;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	background: var(--main-color);
}

.overall .menu .button {
	margin: .5rem 0 .5rem .25rem;
}

.overall .menu .button.my-search-btn {
	margin: 0rem 0 .5rem .25rem;
}

.menu .button:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.menu .button .material-symbols-outlined {
	font-size: x-large;
	margin-right: .5rem;
	font-variation-settings:
		'FILL'1,
		'wght'400;
	speak: none;
}

.menu .button span {
	line-height: 1.35;
	text-align: left;
}

@media screen and (max-width: 1024px) {
	header nav li .dropdown-title {
		position: relative;
	}

}

/* end @media screen and (max-width: 1024px) */

/* PC */
@media screen and (min-width: 1025px) {
	.menu .button {
		font-size: .9rem;
		font-weight: 500;
		margin: 0.2rem 0 0.2rem 1rem;
		padding: 0.2rem 1.75rem 0.2rem 1rem;
	}

	.menu .button .material-symbols-outlined {
		font-size: xx-large;
		margin-right: .5rem;
	}

	.open {
		display: none;
	}

	header {
		height: fit-content;
	}

	#header {
		display: flex;
		overflow: hidden;
		background: var(--white);
		flex-wrap: wrap;
	}

	.overall #header {
		flex-wrap: nowrap;
		padding: .5rem 0;
	}

	.overall .menu {
		padding: 0;
		align-items: center;
		display: flex;
	}

	.overall #header .logo a {
		width: 290px;
		height: auto;
	}

	.overall #header .logo a img {
		padding: .5rem 1.25rem .5rem 0;
	}

	.logo a {
		display: flex;
		width: 290px;
		max-width: 100%;
		max-height: 100%;
	}

	.logo a img {
		padding: .25rem 0 0 .5rem;
	}

	.header-manu {
		flex-wrap: nowrap;
		width: 100%;
	}

	.overall .header-manu {
		width: 35%
			/*auto*/
		;
	}

	.header-manu li {
		padding-top: 0;
	}

	.header-manu li.logo {
		flex-basis: 22.5%;
		padding-left: 0;
		width: 100%;
	}

	.overall .header-manu li.logo {
		flex-basis: auto;
	}

	.header-manu li.school-name {
		flex-basis: 57.5%;
		flex-wrap: nowrap;
		background: transparent;
	}

	header nav {
		height: 0;
		margin-top: 0;
	}

	.menu {
		z-index: 4;
		position: relative;
		overflow: hidden;
		top: 0;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		background: transparent;
		transform: translateX(0);
		transition: none;
	}

	.overall .menu {
		padding-top: 0;
	}

	.school .menu {
		padding-top: 0;
		height: fit-content;
	}

	#header, .menu {
		overflow: visible;
	}

	.school .menu>ul {
		justify-content: flex-end;
		align-items: center;
		padding-right: 2rem;
	}

	header.school nav li .dropdown-title:hover:not(.button),
	header.school nav li a:hover:not(.button) {
		color: var(--main-color);
	}

	header.school .header-manu {
		overflow: hidden;
	}

	.menu>ul {
		display: flex;
		overflow: visible;
		height: 100%;
	}

	.menu li .dropdown {
		width: 120%;
		position: absolute;
		left: 50%;
		background: var(--white);
		border-radius: 0 0 .35rem .35rem;
		-webkit-transition: opacity .2s ease-in-out;
		transition: opacity .2s ease-in-out;
		transition: .2s ease-in-out;
		transform: translate(-50%, -100%);
		z-index: -1;
	}

	.dropdown::-webkit-scrollbar {
		display: none;
	}

	.menu li.dropdown-container {
		-webkit-transition: .2s ease-in-out;
		transition: .2s ease-in-out;
		width: auto;
		background: var(--white);
		position: relative;
	}

	.menu li.dropdown-container::after {
		content: '\e5cf';
		font-family: 'Material Symbols Outlined';
		position: absolute;
		font-weight: 900;
		display: block;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.5rem;
		z-index: 5;
	}

	.menu li.dropdown-container:hover::after {
		color: var(--main-color);
	}

	.menu li.dropdown-container:hover .dropdown {
		box-shadow: var(--shadow-normal-down);
	}

	.menu li:focus-within .dropdown {
		transform: translate(-50%, 0%);
		opacity: 1;
	}

	.menu li:hover .dropdown {
		transform: translate(-50%, 0%);
		opacity: 1;
	}

	.menu li {
		transition: all .2s ease-in-out;
		position: relative;
	}

	.overall .menu li {
		display: flex;
	}

	.menu li a, .menu li .dropdown-title {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		border-radius: var(--radius-normal);
	}

	.header-manu {
		padding: 0;
		height: auto;
		z-index: 5;
	}

	.header-manu li.icon-text {
		display: none;
	}

	.logo img {
		transition: none;
	}

	.header-manu li.school-name .school-title {
		border-bottom: 3px solid var(--main-color);
		flex-basis: 8.75rem;
		align-items: center;
		justify-content: center;
		margin: 0 1.5rem 0 .5rem;
		background: border-box;
		padding-top: .25rem;
		padding-bottom: .25rem;
		border-radius: .35rem .35rem 0 0;
		transition: background .2s;
	}

	.header-manu li.school-name .school-title:hover {
		background: #d6e6f5;
	}

	.header-manu li.school-name .school-title {
		margin: 0.25rem 1.5rem 0 0.5rem;
		padding-top: 0.4rem;
	}

	.school-info-access, .school-info-calendar {
		flex-basis: 37%;
		background: var(--light-gray);
		padding: .5rem 0;
		margin-top: .5rem;
		margin-bottom: .25rem;
	}

	.school-info-access:hover, .school-info-calendar:hover {
		background: #d6e6f5;
	}

	.header-manu li:last-of-type {
		flex-basis: 256px;
		padding: 0 .5rem;
	}

	.headerKyotenMeiArea {
		display: inline-flex;
		align-items: center;
		width: fit-content;
		margin-right: auto;
		text-decoration: none;
		flex: none;
	}

	.headerKyotenMei {
	flex: none;
	margin-left: 8px;
	white-space: nowrap;
	}

	.headerKyotenTelNo {
		flex: none;
		white-space: nowrap;
		}

	.tel {
		line-height: 2.25rem;
		font-size: 1.5rem;
		font-weight: 700;
		color: var(--dark-red);
	}

	.hours {
		font-size: .825rem;
		font-weight: 500;
	}

	.menu .sns {
		display: none;
	}

}

/* end @media screen and (min-width: 1025px) */

@media (min-width: 1024px) and (max-width: 1167px) {
	.menu a, .menu .dropdown-title {
		font-size: .95rem;
		padding: 1rem 1.35rem;
	}

	.overall #header .logo a img {
		padding: 0.5rem 0;
	}

	.menu .button {
		padding: 0.2rem 1.5rem 0.2rem .75rem;
	}

}

/* end @media (min-width: 1024px) and (max-width: 1167px) */

/* topic */
.slider-topic {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.slider-topic .slick-track {
	display: flex !important;
}

.slider-topic .slick-slide {
	height: auto !important;
}

.slider-topic .slick-list {
	padding: 0 0 1rem 0;
}

.slider-topic li {
	width:
		/*62.5*/
		70vw;
	position: relative;
	cursor: pointer;
}

.slider-topic li:not(.disc-list-container li) {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.slider-topic li:not(.disc-list-container li):active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

/* 特集 */
.slider-tokushu {
	margin-top: 1.5rem;
	margin-bottom: 2.5rem;
	max-width: 1400px; /* エリアを狭くする */
	margin: 0 auto;   /* 中央寄せ */
}

.slider-tokushu .slick-track {
	display: flex !important;
}

.slider-tokushu .slick-slide {
	height: auto !important;
	max-width: auto;
}

.slider-tokushu .slick-list {
	padding: 0 0 1rem 0;
}

.slider-tokushu li {
	width:70vw;
	position: relative;
	cursor: pointer;
}

.slider-tokushu li:not(.disc-list-container li) {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.slider-tokushu li:not(.disc-list-container li):active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.row-tokushu {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: .5rem;
}

.row-tokushu>li {
	width: calc(50% - .375rem);
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	margin-bottom: 1.5rem;
}

.row-tokushu>li:nth-child(odd) {
	margin-right: .75rem;
}

.row-tokushu>li:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.tokushu-01 {
	background: var(--white);
	box-shadow: var(--shadow-normal);
	border-radius: var(--radius-normal);
	height: 100%;
	position: relative;
	margin-right: .25rem;
	margin-left: .75rem;
	z-index: 0;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.tokushu-01:hover {
	box-shadow: var(--shadow-normal-down);
	opacity: 0.8;
}

.tokushu-01 .area-name {
	background: var(--main-color);
	display: block;
	height: 0;
	position: relative;
	border-radius: var(--radius-normal) var(--radius-normal) 0 0;
	z-index: 1;
}

.tokushu-01 .new-arrival,
.tokushu-01 .format-online {
	background: transparent;
	display: block;
	position: relative;
	font-size: 0;
	z-index: 2;
}
.tokushu-01 a:not(.list-category a, .list-format a, .area-name a), .program-02 a:not(.list-category a) {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 3;
}

.tokushu-01 .tokushu-img {
	height: 150px; /* 好きな高さに調整 */
	display: block;
	position: relative;
	z-index: 0;
	width: 100%;
	padding-top: 70%;
	border-radius: var(--radius-normal);
	background-color: #f0f0f0; /* 背景色（余白部分） */
}

.tokushu-01 .tokushu-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}


.tokushu-01 .tokushu-img img:hover {
  transform: scale(1.2); /* 1.2倍に拡大 */
}


/* 講座 */
.slider-program {
	margin-top: 1.5rem;
	margin-bottom: 2.5rem;
}

.slider-program .slick-track {
	display: flex !important;
}

.slider-program .slick-slide {
	height: auto !important;
}

.slider-program .slick-list {
	padding: 0 0 1rem 0;
}

.slider-program li {
	width:
		/*62.5*/
		70vw;
	position: relative;
	cursor: pointer;
}

.slider-program li:not(.disc-list-container li) {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.slider-program li:not(.disc-list-container li):active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.row-program {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: .5rem;
}

.row-program>li {
	width: calc(50% - .375rem);
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	margin-bottom: 1.5rem;
}

.row-program>li:nth-child(odd) {
	margin-right: .75rem;
}

.row-program>li:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.recommend-container {
	margin-top: 1rem;
}

.program-01, .program-02 {
	background: var(--white);
	box-shadow: var(--shadow-normal);
	border-radius: var(--radius-normal);
	height: 100%;
	position: relative;
	margin-right: .25rem;
	margin-left: .75rem;
	z-index: 0;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.program-01:hover, .program-02:hover {
	box-shadow: var(--shadow-normal-down);
	opacity: 0.8;
}

.program-01 .area-name {
	background: var(--main-color);
	display: block;
	height: 0;
	position: relative;
	border-radius: var(--radius-normal) var(--radius-normal) 0 0;
	z-index: 1;
}

.program-01 .new-arrival,
.program-01 .format-online {
	background: transparent;
	display: block;
	position: relative;
	font-size: 0;
	z-index: 2;
}

.new-arrival::before {
	display: inline-block;
	font-family: 'Material Symbols Outlined';
	content: '\e866';
	position: absolute;
	font-size: 5.25rem;
	line-height: 5.25rem;
	top: -1rem;
	left: -0.75rem;
	color: var(--main-color);
	text-shadow: var(--shadow-button);
	font-variation-settings: 'FILL'1, 'wght'400, 'GRAD'0, 'opsz'24;
	z-index: 1;
}

.new-arrival::after {
	position: absolute;
	display: inline-block;
	content: 'NEW';
	top: .6rem;
	left: 0.5rem;
	font-size: 1.1rem;
	font-weight: 900;
	color: var(--light-yellow);
	z-index: 1;
	transform: rotate(-5deg);
}

.program-01 .format-online {
	position: absolute;
	width: 2.25rem;
	height: 2.25rem;
	top: -.5rem;
	left: -.15rem;
}

.format-online::before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 2.25rem;
	height: 2.25rem;
	top: 0;
	left: 0;
	box-shadow: var(--shadow-normal);
	z-index: 1;
	border-radius: 1000px;
	background: var(--light-yellow);
	;
}

.format-online::after {
	position: absolute;
	display: inline-block;
	font-family: 'Material Symbols Outlined';
	content: '\e998';
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.5rem;
	font-variation-settings: 'FILL'1, 'wght'600, 'GRAD'-25, 'opsz'24;
	color: var(--main-color);
	z-index: 1;
}

@media screen and (min-width: 600px) {
	.program-01 .format-online {
		position: absolute;
		width: 2.75rem;
		height: 2.75rem;
		top: -.65rem;
		left: -.35rem;
	}

	.format-online::before {
		width: 2.75rem;
		height: 2.75rem;
	}

	.format-online::after {
		font-size: 1.75rem;
	}

}

/* end @media screen and (min-width: 600px) */

.program-01 .area-name a {
	position: absolute;
	display: inline-block;
	padding: 0.4rem 0.9rem 0.4rem 2.25rem;
	top: -0.5rem;
	right: -0.5rem;
	width: 9.5rem;
	height: 2.5rem;
	z-index: 1;
}

.area-name.bg-school01 span,
.area-name.bg-school02 span,
.area-name.bg-school03 span,
.area-name.bg-school04 span,
.area-name.bg-school05 span,
.area-name.bg-school06 span,
.area-name.bg-school07 span,
.area-name.bg-school08 span,
.area-name.bg-school09 span,
.area-name.bg-school10 span,
.area-name.bg-school11 span,
.area-name.bg-school12 span,
.area-name.bg-school00 span {
	position: absolute;
	display: inline-block;
	padding: 0.35rem 0.35rem 0.35rem 0.35rem;
	top: 0.5rem;
	right: -0.5rem;
	font-size: 1.1rem;
	font-weight: 500;
	background: #6b8e23;
	border-radius: 0.15rem;
	letter-spacing: .05rem;
	box-shadow: var(--shadow-button);
	border-radius: var(--radius-small);
}

.area-name.bg-school01 span {
	background: var(--main-color);
}

.area-name.bg-school02 span {
	background: var(--cobalt-set);
}

.area-name.bg-school03 span {
	background: var(--earth-set);
}

.area-name.bg-school04 span {
	background: var(--light-green-set);
}

.area-name.bg-school05 span {
	background: var(--gold-set);
}

.area-name.bg-school06 span {
	background: var(--pink-set);
}

.area-name.bg-school07 span {
	background: var(--marine-set);
}

.area-name.bg-school08 span {
	background: var(--red-set);
}

.area-name.bg-school09 span {
	background: var(--violet-set);
}

.area-name.bg-school10 span {
	background: var(--blue-set);
}

.area-name.bg-school11 span {
	background: var(--orange-set);
}

.area-name.bg-school12 span,
.area-name.bg-school00 span {
	background: var(--dark-green-set);
}

.area-name.bg-school01 span::before,
.area-name.bg-school02 span::before,
.area-name.bg-school03 span::before,
.area-name.bg-school04 span::before,
.area-name.bg-school05 span::before,
.area-name.bg-school06 span::before,
.area-name.bg-school07 span::before,
.area-name.bg-school08 span::before,
.area-name.bg-school09 span::before,
.area-name.bg-school10 span::before,
.area-name.bg-school11 span::before,
.area-name.bg-school12 span::before,
.area-name.bg-school00 span::before {
	display: inline-block;
	font-family: 'Material Symbols Outlined';
	position: absolute;
	font-size: 1.35rem;
	top: 50%;
	transform: translateY(-50%);
	left: .6rem;
	font-variation-settings:
		'FILL'1,
		'wght'400,
		'GRAD'0,
		'opsz'24
}

.area-name.bg-school12 span::before {
	content: '\e163';
	font-family: 'Material Symbols Outlined';
}

.text-container .area-name.bg-school01 span,
.text-container .area-name.bg-school02 span,
.text-container .area-name.bg-school03 span,
.text-container .area-name.bg-school04 span,
.text-container .area-name.bg-school05 span,
.text-container .area-name.bg-school06 span,
.text-container .area-name.bg-school07 span,
.text-container .area-name.bg-school08 span,
.text-container .area-name.bg-school09 span,
.text-container .area-name.bg-school10 span,
.text-container .area-name.bg-school11 span,
.text-container .area-name.bg-school12 span,
.text-container .area-name.bg-school00 span {
	padding: 0.35rem;
	font-size: 1rem;
}

.text-container .area-name.bg-school01 span::before,
.text-container .area-name.bg-school02 span::before,
.text-container .area-name.bg-school03 span::before,
.text-container .area-name.bg-school04 span::before,
.text-container .area-name.bg-school05 span::before,
.text-container .area-name.bg-school06 span::before,
.text-container .area-name.bg-school07 span::before,
.text-container .area-name.bg-school08 span::before,
.text-container .area-name.bg-school09 span::before,
.text-container .area-name.bg-school10 span::before,
.text-container .area-name.bg-school11 span::before,
.text-container .area-name.bg-school12 span::before,
.text-container .area-name.bg-school00 span::before {
	font-size: 1.25rem;
	left: 0.5rem;
}

.row-program .program-01 {
	margin-right: 0;
	margin-left: 0;
}

.program-02 {
	display: flex;
	flex-wrap: wrap;
	margin-right: 0;
	margin-left: 0;
}

.program-01 a:not(.list-category a, .list-format a, .area-name a), .program-02 a:not(.list-category a) {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 3;
}

.program-01 .program-img {
	display: block;
	position: relative;
	z-index: 0;
	width: 100%;
	padding-top: 70%;
	background-color: #f0f0f0; /* 背景色（余白部分） */
}

.program-01 .program-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.program-02 .program-img {
	width: 45%;
}

.program-02 .program-disc {
	width: 55%;
}

.program-02 .program-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.program-disc {
	height: fit-content;
	position: relative;
	z-index: 0;
	padding: .75rem;
}

.program-disc:hover {
	cursor: pointer;
}

.program-disc .program-title, .program-disc .contents-title {
	color: var(--main-color);
	font-size: 1.15rem;
	line-height: 1.5rem;
	font-weight: 900;
}

@media screen and (max-width: 599px) {
	.top .program-disc .program-title {
		font-size: 1.2rem;
		line-height: 1.6rem;
	}
}

/* end @media screen and (max-width: 599px) */

@media screen and (min-width: 1025px) {
	.program-disc .program-title, .program-disc .contents-title {
		font-weight: 700;
	}
}

/* end @media screen and (min-width: 1025px) */

.program-disc .contents-title {
	font-size: 1.2rem;
	color: var(--main-color);
	padding-left: .6rem;
	border-left: 6px solid var(--main-color);
}

.program-disc p {
	font-size: 1rem;
	line-height: 1.35rem;
}

.disc-list-container {
	color: var(--light-ink);
	margin-top: .75rem;
}

.disc-list-container.upper {
	margin-top: 0;
	margin-bottom: 0.5rem;
}

.disc-list-container li {
	display: block;
	position: relative;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
	width: 100%;
	line-height: 1.525rem;
	border-radius: var(--radius-large);
}

@media screen and (max-width: 1024px) {
	.disc-list-container li:not(.disc-list-container li.list-professor, .disc-list-container li.list-time) {
		padding-top: .4rem;
		padding-bottom: .5rem;
	}
}

/* end @media screen and (max-width: 1024px) */

.top .disc-list-container li.list-time {
	font-size: 1.1rem;
}

.list-category,
.list-format,
.list-trial {
	color: var(--main-color);
	display: inline-block;
	width: fit-content;
	padding: 0.25rem .6rem;
	font-weight: 300;
	background: var(--main-color);
	box-sizing: border-box;
	margin-bottom: .5rem;
	position: relative;
	border-radius: var(--radius-small);
}

.list-category:not(.category span),
.list-format:not(.category span),
.list-trial:not(.category span) {
	vertical-align: middle;
}

.disc-list-container li.list-category,
.disc-list-container li.list-format,
.disc-list-container li.list-trial {
	display: inline-block;
	width: fit-content;
	margin-right: .25rem;
	vertical-align: middle;
	margin-bottom: .5rem;
}

.text-container li.list-trial {
	font-size: .85rem;
}

@media screen and (min-width: 1025px) {
	.disc-list-container li:not(.list-time, .list-professor) {
		font-size: .85rem;
		line-height: .85rem;
		padding: .4rem .6rem;
	}

	.text-container .disc-list-container li.list-trial {
		font-size: .85rem;
		line-height: .85rem;
	}
}

/* end @media screen and (min-width: 1025px) */

.list-category {
	color: var(--light-yellow);
}

.list-format {
	background: var(--yellow);
}

.list-trial {
	background: var(--light-gray);
}

.my-zanseki-full {
	background: #ff2121;
	color: var(--white);
}
.my-zanseki-few {
	background: #ff2121;
	color: var(--white);
}
.my-kengaku-label {
	background:#6464c8;
	color: var(--white);
}
.my-trial-label {
	background: #3296c8;
	color: var(--white);
}
.my-chusen-label {
	background: #00B16B;
	color: var(--white);
}

.list-time:not(.side-container .list-time) {
	overflow: visible;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.my-topic {
	overflow: hidden !important;
}

.disc-list-container li:last-of-type {
	margin-top: .25rem;
	margin-bottom: .25rem;
}

.list-professor::before,
.list-time:not(.info_list .list-time)::before,
.list-time-date::before,
.list-price:not(.info_list .list-price, .cart .list-price, .entry .list-price)::before,
.list-classroom::before {
	font-family: 'Material Symbols Outlined';
	font-size: 1.35rem;
	transform: translateY(-50%);
	color: var(--pale-ink);
	font-variation-settings: 'FILL'1, 'wgth'500;
	vertical-align: sub;
	margin-right: .15rem;
	line-height: 1.65rem;
}

.top .list-time:not(.info_list .list-time)::before {
	vertical-align: text-top;
	color: var(--pale-ink);
}

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

	.list-professor::before,
	.list-time:not(.info_list .list-time)::before,
	.list-time-date::before,
	.list-price:not(.info_list .list-price, .cart .list-price, .entry .list-price)::before,
	.list-classroom::before {
		margin-right: .25rem;
	}

	.list-price:not(.info_list .list-price, .cart .list-price)::before,
	.list-time:not(.info_list .list-time, .text-container .list-time)::before {
		color: var(--main-color);
	}
}

/* end @media screen and (min-width: 1025px) */

.top .list-professor::before,
.top .list-time::before {
	font-size: 1.45rem;
	margin-right: .25rem;
	line-height: 1.75rem;
	vertical-align: text-top;
}

.list-time:not(.info_list .list-time)::before {
	font-family: 'Material Symbols Outlined';
}

.list-time-date::before {
	font-family: 'Material Symbols Outlined';
	content: '\f6b8';
}

.list-price:not(.info_list .list-price, .cart .list-price)::before {
	font-family: 'Material Symbols Outlined';
	content: '\eafb';
}

.list-classroom::before {
	font-family: 'Material Symbols Outlined';
	content: 'location_on';
}

@media screen and (min-width: 1025px) {
	.list-price:not(.info_list .list-price, .cart .list-price)::before {
		color: var(--main-color);
		top: calc(50% - 0.125rem);
		transform: translateY(-50%);
	}
}

/* end @media screen and (min-width: 1025px) */

@media (min-width: 600px) and (max-width: 1024px) {
	.list-price:not(.info_list .list-price, .cart .list-price)::before {
		top: calc(50% - 0.25rem);
		transform: translateY(-50%);
	}
}

/* end @media (min-width: 600px) and (max-width: 1024px) */

.list-time span {
	vertical-align: bottom;
	font-size: .8rem;
	background: var(--pale-ink);
	color: var(--white);
	font-weight: 700;
	/*border-radius: 1000px;*/
	padding: .075rem .25rem 0.125rem;
	margin: 0 .15rem;
	vertical-align: text-bottom;
}

.info_list .list-time span {
	font-size: 1.15rem;
	vertical-align: middle;
	display: inline-block;
	padding: 0.1rem 0.45rem .15rem;
	margin: -0.35rem 0.5rem 0 0;
	background: var(--ink);
	border-radius: var(--radius-small);
}

.info_list .list-price .program-price {
	margin: 0 .75rem .15rem 0;
	display: inline-block;
}

.info_list .list-price .program-price:last-child {
	margin-right: 0;
}

.info_list .list-price .program-price .course01,
.info_list .list-price .program-price .course02,
.info_list .list-price .program-price .course03 {
	font-size: .65em;
	margin-right: 0.35rem;
	padding: 0.2rem 0.5rem;
}

.info_list .list-price .program-price:last-of-type {
	margin-left: 0
}

.info_list.inter .list-time::before,
.info_list.inter .list-price::before {
	content: '\e935';
	font-family: 'Material Symbols Outlined';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	font-variation-settings: 'FILL'1, 'wght'600, 'GRAD'0, 'opsz'24;
	color: var(--main-color);
	font-size: 1.9rem;
}

.info_list.inter .list-time::before {
	line-height: 2.25rem;
}

.info_list.inter .list-price::before {
	content: '\eafb';
	font-family: 'Material Symbols Outlined';
	background: var(--main-color);
	color: var(--white);
	border-radius: 1000px;
	padding: 0.1rem 0.35rem 00;
	font-size: 1.2rem;
	top: .25rem;
}

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

	.info_list.inter .list-time,
	.info_list.inter .list-price {
		position: relative;
		padding-left: 3rem;
		margin-bottom: 1rem;
		font-size: 1.65rem;
		font-weight: 700;
	}

	.info_list .list-time span {
		display: inline-block;
		vertical-align: text-bottom;
		margin-right: 0.35rem;
	}

	.info_list.inter {
		padding: 1rem;
	}
}

/* end @media screen and (max-width: 1024px) */

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

	.info_list.inter .list-time,
	.info_list.inter .list-price {
		font-size: 1.35rem;
	}

	.info_list.inter .list-time span {
		font-size: 1rem;
		padding: 0.05rem 0.35rem 0.1rem;
	}
}

/* end @media screen and (max-width: 600px)  */

.cart .list-time span {
	background: var(--light-gray);
}

.top .list-time span {
	font-size: .9rem;
	padding: .1rem .3rem 0.125rem;
}

.program-text .list-time span {
	vertical-align: top;
	font-size: .9rem;
	padding: .15rem .325rem .125rem;
}

@media screen and (min-width: 1025px) {
	.list-time span {
		font-weight: 500;
		padding: .1rem .3rem 0.125rem;
	}

	.program-text .list-time span {
		font-size: 1rem;
	}
}

/* end @media screen and (min-width: 1025px)  */

.delete, .cart .list-price, .entry .list-price {
	text-align: right;
}

.delete a {
	color: var(--light-ink);
	text-decoration: underline;
}

.cart .list-price::before {
	content: none;
}

.cart .program-text .list-price,
.entry .program-text .list-price {
	font-size: 1.75rem;
	font-weight: 700;
}

.cart .program-text .list-price .unit-small-text,
.cart .program-text .list-price .unit-small-text_left,
.entry .program-text .list-price .unit-small-text,
.entry .program-text .list-price .unit-small-text_left {
	font-weight: 500;
	font-size: .6em;
}

.link-more {
	letter-spacing: .05rem;
	text-align: center;
	display: block;
	width: 60%;
	margin: 0 auto;
	background: var(--white);
	padding: .5rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--main-color);
	border: 1px solid var(--main-color);
	border-radius: var(--radius-normal);
}

/* 教室、通信講座を選ぶ / カテゴリから探す */
.area .link-area-container,
.search-category .link-category-container, .link-guide-container, search-koza-kyoten-top {
	display: flex;
	flex-wrap: wrap;
	/*gap: 1rem;*/
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.area .link-area-container, .link-guide-container {
	max-width: 960px;
}

.area .link-area-container .material-symbols-outlined,
.search-category .link-category-container .material-symbols-outlined,
.material-symbols-outlined {
	font-size: 1.75rem;
	display: block;
	margin: 0 auto .5rem;
	font-variation-settings:
		'FILL'1,
		'wght'300,
		'GRAD'200;
}

.search-category .link-category-container .material-symbols-outlined {
	height: 1.75rem;
	width: 1.75rem;
}

.area .link-area {
	vertical-align: middle;
	text-align: center;
	font-size: 1.125rem;
	margin: 0.5rem .25rem .75rem;
	padding: .75rem .25rem .75rem;
	color: var(--white);
	letter-spacing: .05rem;
	position: relative;
	border-radius: var(--radius-small);
	box-shadow: var(--shadow-normal);
	cursor: pointer;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.search-category .link-category,
.tile, .link-guide {
	vertical-align: middle;
	text-align: center;
	font-size: 1.125rem;
	margin: 0.5rem .5rem .75rem;
	padding: .75rem .25rem .75rem;
	color: var(--white);
	letter-spacing: .05rem;
	position: relative;
	border-radius: var(--radius-small);
	box-shadow: var(--shadow-normal);
	cursor: pointer;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.modal-content.modal-content-category {
	padding: 1.5rem 0.75rem;
}

.modal-content .link-category {
	padding: .5rem;
	font-size: .9rem;
	text-align: left;
}

@media screen and (max-width: 1024px) {
	.modal-content .only-category .link-category {
		font-size: .95rem;
	}
}

@media screen and (min-width: 1025px) {
	.modal-content.modal-content-category {
		max-width: 768px;
	}
}

.modal-content .link-category-container {
	align-items: flex-start;
}

.modal-content .link-category-container .material-symbols-outlined {
	display: inline-block;
	margin: 0 0.25rem 0 0;
	font-size: 1.1rem;
	height: 1.1rem;
	width: 1.1rem;
}

.link-category-container.inline {
	margin-left: -.5rem;
}

.link-category-container.inline .link-category {
	width: fit-content;
	margin: .35rem 0.5rem;
	font-weight: 500;
	white-space: nowrap;
}

.link-category-container.inline .link-category:nth-child(3n+1),
.link-category-container.inline .link-category:nth-child(odd),
.link-category-container.inline .link-category:nth-child(even) {
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}

.area .link-area,
.search-category .link-category {
	width: calc(50% - 1rem);
	background: var(--main-color);
}

.link-guide {
	width: calc(100% - 1.5rem);
	background: var(--main-color);
	margin: 0.75rem auto;
	border-left: var(--main-color) 0.5rem solid;
	padding: .75rem .5rem .75rem 0;
}

@media screen and (max-width: 599px) {
	.link-guide:nth-child(even) {
		background: var(--dark-brown-bright);
	}
}

.link-guide::after {
	content: '\e409';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	display: block;
	position: absolute;
	right: .25rem;
	top: 50%;
	transform: translateY(-50%);
	font-variation-settings: 'FILL'1, 'wght'500, 'GRAD'0, 'opsz'24;
	font-size: 1.75rem;
}

.area .link-area {
	font-weight: 700;
}

.search-category .link-category, .link-guide {
	font-weight: 500;
}

.area .link-area:hover,
.search-category .link-category:hover,
.tile:hover {
	box-shadow: none;
}

.area .modal-content .link-area,
.area .modal-content .link-area:last-child {
	font-size: .95rem;
	padding: 0.35rem 0.25rem .35rem .75rem;
	margin: 0.5rem;
	border-left: none;
	font-weight: 500;
}

.area .modal-content .link-area::before {
	font-size: .9rem;
	left: 0.5rem;
}

@media screen and (max-width: 599px) {
	.link-guide:first-child {
		margin: 0.5rem auto .75rem;
	}

	.area .link-area:nth-child(4n+2), .search-category .link-category:nth-child(4n+2),
	.area .link-area:nth-child(4n+3), .search-category .link-category:nth-child(4n+3) {
		background: #597acf;
	}
}

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

	.area .link-area,
	.search-category .link-category,
	.link-guide {
		margin: 1rem;
	}

	.modal-content .link-category {
		margin: .75rem;
	}

	.area .link-area:nth-child(even), .search-category .link-category:nth-child(even) {
		background: #597acf;
	}

	.link-guide:nth-child(4n+2),
	.link-guide:nth-child(4n+3) {
		background: var(--dark-brown-bright);
	}
}

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

	.area .link-area,
	.search-category .link-category {
		font-weight: 700;
		border-radius: var(--radius-normal);
		font-size: 1.5rem;
		padding: 10px 0;
	}

	.modal-content .link-category {
		font-size: 1rem;
		padding: 0.5rem .7rem;
	}

	.modal-content .link-category-container .material-symbols-outlined {
		margin: 0 0.5rem 0 0;
		font-size: 1.2rem;
		width: 1.2rem;
		height: 1.2rem;
	}

	.area .modal-content .link-area, .area .modal-content .link-area:last-child {
		padding: 0.4rem 0.25rem .4rem 1rem;
	}

	.link-guide {
		font-size: 1.35rem;
	}
}

@media screen and (min-width: 600px) {
	.modal-content.modal-content-category {
		padding: 1.5rem;
	}

	.modal-content .link-category-container {
		max-width: 100%;
	}
}


.member-container {
  padding-left: 1rem;
  margin: 0;
  list-style: none;
}

.member-container li {
  display: inline-block; /* 横並び */
  margin-right: 3rem;    /* 隙間を調整 */
}


.link-category-container.inline .link-category {
	background: var(--main-color);
}

/*mypage-menu*/
#mypage-menu .tile-container {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-variation-settings:
		'FILL'1,
		'wght'300,
		'GRAD'200;
}

/*マイページ通知バッジ*/
#mypage-menu .badge {
	position: absolute;
	top: -15px;	/* 上からの位置調整 */
	right: 6px;	/* 右からの位置調整 */
	width: 30px;	/* 丸の大きさ */
	height: 30px;	/* 丸の大きさ */
	background-color: #ff0000;	/* 赤色 */
	border-radius: 50%;	/* 正円にする */
	border: 2px solid #fff;	/*円と背景の区切り*/

	display: flex;
	justify-content: center; /* 左右中央 */
	align-items: center;     /* 上下中央 */
	font-size: 1rem;
	color: #fff;
}

#mypage-menu .tile {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	padding: .75rem .25rem;
	color: var(--main-color);
	background: var(--white);
	box-shadow: var(--shadow-button);
	letter-spacing: 0;
	border: 1px solid var(--main-color);
	border-radius: var(--radius-normal);
	flex: 0 0 calc((95% - 3 * 10px) / 4);
	position: relative;
}
@media screen and (max-width: 1304px) {
	#mypage-menu .tile {
		flex: 0 0 calc((93% - 3 * 10px) / 4);
	}
}
@media screen and (max-width: 1024px) {
	#mypage-menu .tile-container {
		gap: 0;
	}
	#mypage-menu .tile {
		flex: 0 0 calc((95%) / 2);
	}
}
@media screen and (max-width: 664px) {
	#mypage-menu .tile {
		flex: 0 0 calc((93%) / 2);
	}
}
@media screen and (max-width: 599px) {
	#mypage-menu .tile {
		flex: 0 0 calc((95%) / 2);
	}
}
#mypage-menu .tile::before {
	content: '';
	display: block;
	margin: .5rem auto;
	width: 3.5rem;
	height: 3.5rem;
	background: url("../img/mypage/icon-cart.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#mypage-menu .tile:nth-of-type(2)::before {
	background: url("../img/mypage/icon-histry.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#mypage-menu .tile:nth-of-type(3)::before {
	background: url("../img/mypage/icon-cancel.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#mypage-menu .tile:nth-of-type(4)::before {
	background: url("../img/mypage/play_lesson.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#mypage-menu .tile:nth-of-type(5)::before {
	background: url("../img/mypage/icon-edit.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#mypage-menu .tile:nth-of-type(6)::before {
	background: url("../img/mypage/ads-click.png");
	background-repeat: no-repeat;
	background-size: contain;
}
#mypage-menu .tile:nth-of-type(7)::before {
	background: url("../img/mypage/money-bag.png");
	background-repeat: no-repeat;
	background-size: contain;
}

.tile:nth-of-type(4)::before {
	background: url("../img/mypage/icon-histry.png");
	background-repeat: no-repeat;
	background-size: contain;
}

#mypage-menu .tile:last-of-type::before {
	background: url("../img/mypage/card-membership.png");
	background-repeat: no-repeat;
	background-size: contain;
}

.search-category .link-category {
	width: calc(50% - .5rem);
}

.search-category-koza {
	width:100%;
	display:flex;
	justify-content:right;
}

.search-category-koza span {
	font-size: 1.2rem;
	text-decoration: underline;
}

.koza-button {
	border: 1px solid transparent;
}
.koza-button:hover {
	border: 1px solid var(--main-color);
	background-color: #fff;
	color:var(--main-color);
}


.tile {
	width: calc(50% - .5rem);
}

.area .link-area {
	padding-left: 1.35rem;
}

.area .link-area::before {
	display: inline-block;
	font-family: 'Material Symbols Outlined';
	content: 'location_on';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	left: .35rem;
	font-variation-settings:
		'FILL'1,
		'wght'400,
		'GRAD'0,
		'opsz'24
}

.area .link-area:last-child::before {
	font-family: 'Material Symbols Outlined';
	/*content: '\e163';*/
}

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

	/*.area .link-area:not(.modal-content.area .link-area):first-child,
	.area .link-area:not(.modal-content.area .link-area):nth-child(3n+1),*/
	.tile:nth-of-type(odd),
	.search-category .link-category:nth-child(odd) {
		margin-left: 0;
	}

	/*.area .link-area:not(.modal-content.area .link-area):nth-child(3n),*/
	.search-category .link-category:nth-child(even),
	.tile:nth-of-type(even) {
		margin-right: 0;
	}
}

.area .link-area a {
	color: var(--white);
}


/* 拠点TOP講座検索 */
.search-koza-kyoten-top-form-group {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.search-koza-kyoten-top-form-group h4{
	flex: 0 0 20%; /* 幅 */
	font-size: 1.8rem;
	color: var(--light-ink);
	text-align: left;
	font-weight: bold;
	list-style: none;
	border-left: none;
}
.search-koza-kyoten-top-form-group h5{
	flex: 0 0 20%; /* 幅 */
	font-size: 1rem;
	color: var(--light-ink);
	text-align: left;
	font-weight: bold;
	list-style: none;
	border-left: none;
}
.search-koza-kyoten-top-form-group div{
	flex: 1; /* 残りの幅を入力欄に */
}


.search-koza-kyoten-top-form-janru {
  display: flex;
  flex-wrap: wrap;
  gap: 16px; /* アイテム間の余白 */
}

.search-koza-kyoten-top-form-janru .janru-select{
	flex: 1 1 calc(50% - 16px); /* 2列 */
	box-sizing: border-box;
	display: flex;
	flex-direction: column; /* タイトルとプルダウンを縦並び */
}
.search-koza-kyoten-top-form-janru .janru-select label{ 
	font-size: 1rem;
}



















/* banner */
section#banner-area {
	padding: 0.75rem 0;
}

#banner-area .banner,
.banner-sns-area .banner {
	aspect-ratio: 4 / 1;
	margin-bottom: 2rem;
}

#banner-area .banner img,
.banner-sns-area .banner img {
	display: block;
	height: auto;
	width: 100%;
	object-fit: cover;
	border-radius: var(--radius-normal);
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

#banner-area .banner img:active,
.banner-sns-area .banner img:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

#banner-area .banner img:hover,
.banner-sns-area .banner img:hover {
	opacity: .75;
}



/* パンくず */
#bread {
	color: var(--light-brown);
	font-size: .85rem;
	font-weight: 500;
	padding: .75rem;
	line-height: 1.65;
}

#cover #bread {
	color: var(--main-color);
}

#bread ol li {
	display: inline-block;
}

#bread ol li:first-of-type {
	color: var(--light-brown);
	padding-left: 0;
}

#bread a {
	color: var(--light-brown);
	text-decoration: underline;
}

#cover #bread a {
	color: var(--main-color);
}

#breadcrumb-list ul li span {
	margin: .75rem;
}

#breadcrumb-list ol li:last-of-type span {
	display: none;
}

#bread ol li:before {
	content: ">";
	margin: 0 .5rem;
}

#bread ol li:first-child:before {
	content: none;
}

/*　講座詳細 */
/* main visual */
#title, #title02, .program-image {
	padding-bottom: 1rem;
}

@media screen and (min-width: 1025px) {
	.inner-program #title {
		margin-top: -.75rem;
	}
}

#program-image-introduction {
	padding-bottom: 2.5rem;
	/*display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;*/
}

.program-introduction {
	/*width: calc(45% - .75rem);*/
	position: relative;
}

.text-introduction, .text-container p:not(.message-large, .message-normal, .message-small, .sns-feature p, .hover-mask p), .text-medium {
	white-space: pre-wrap;
	font-size: 1.05rem;
	line-height: 1.85;
}

@media screen and (min-width: 1025px) {
	.register .text-medium {
		padding-bottom: 2rem;
	}
}

.text-introduction {
	padding-bottom: 1rem;
}

.program-introduction .text-introduction {
	padding-bottom: 3.5rem;
	height: 17.5rem;
}

.program-introduction .text-program-annai {
	display: flex;            /* Flexboxを有効化 */
	flex-direction: column;
	align-items: flex-start;  /* 上詰め（縦方向） */
	gap: 1rem;                /* 要素間の間隔を10px */
}


.show_more {
	position: absolute;
	bottom: -.75rem;
	left: .75rem;
	width: calc(100% - 1.5rem);
	height: 3rem;
	text-align: center;
	line-height: 2.75rem;
	font-size: 1.1rem;
	background: var(--white);
	cursor: pointer;
	transition: bottom 0.2s;
	font-weight: 700;
	color: var(--main-color);
	border: solid 2px var(--main-color);
	border-radius: var(--radius-normal);
}

.text-introduction.open-text {
	padding-bottom: 3rem;
}

.slider-image .slick-list {
	background: var(--light-gray);
}

.thumbnail {
	/*width: 50%;*/
	margin-left: auto;
	margin-right: auto;
}

.thumbnail .slick-track {
	transform: unset !important;
	justify-content: center;
}

.thumbnail .slick-slide {
	width: 2.25rem !important;
	height: 2.25rem;
}

.thumbnail .slick-slide {
	/*aspect-ratio: 1 / 1;*/
	margin: .75rem 1rem;
	border-radius: var(--radius-normal);
	overflow: hidden;
	border: 2px solid var(--pale-gray);
	cursor: pointer;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	position: relative;
	/*padding-top: 5%;*/
}

.thumbnail .slick-slide img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.thumbnail .slick-slide:hover {
	opacity: .75;
}

.thumbnail .slick-slide.slick-current {
	border: 2px solid var(--main-color);
}

.recent {
	width: 8.5rem;
	height: 8.5rem;
	/*aspect-ratio: 1 / 1;*/
	object-fit: cover;
	border-radius: 1000px;
}

.recent-container:not(:first-of-type) {
	padding-top: 2.5rem;
}

.recent-container, .recent-container .recent {
	display: block;
	text-align: center;
}

.recent-container .recent {
	margin: 0 auto 1rem;
}

.recent-container h3 {
	color: var(--main-color);
	font-weight: 700;
	font-size: 1.5rem;
}

.recent-container h1.title-left.inline-title {
	display: block;
}

.recent-container h3 span {
	display: block;
}

.recent-container h3 span:first-child {
	border-bottom: 3px solid var(--main-color);
	padding: 0 0.25rem 0.25rem 0.25rem;
	display: inline-block;
}

@media screen and (min-width: 1025px) {
	.recent-container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.recent-container h1.title-left.inline-title,
	.recent-container p {
		flex-basis: 100%;
	}

	.recent-container .recent {
		flex-basis: 8rem;
	}

	.recent-container h3 {
		/*flex-basis: calc(100% - 10.5rem);*/
		text-align: left;
		/*margin-left: 1.5rem;*/
	}

	.recent-container h3.koshi-img {
		flex-basis: calc(100% - 10.5rem);
	}
}

.program-price span {
	vertical-align: middle;
}

.course01, .course02, .course03, .taiken01 {
	border-radius: var(--radius-small);
	padding: .2rem .2rem;
	font-weight: 500;
	margin-right: .1rem;
	font-size: .9rem;
	display: inline-block;
	vertical-align: middle;
}

.cart .course01, .cart .course02, .cart .course03 {
	background: var(--light-gray);
}

.course01 {
	background: #d6e6f5;
}

.course02 {
	background: var(--pale-orange);
}

.course03 {
	background: var(--pale-violet);
}
.taiken01 {
	padding: .2rem .1rem;
	background: var(--gold-set);
}

#entry tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	align-items: center;
	padding: 1rem 2rem;
	border: 2px solid var(--light-gray);
	border-radius: var(--radius-normal);
	margin-left: 4rem;
}

#entry .unit-small-text, #entry .unit-small-text_left {
	font-weight: 500;
}

#entry td {
	padding-left: .5rem;
	padding-right: .5rem;
}

.program-price-course {
	flex-basis: 22.5%;
	text-align: right;
}

.program-price:not(.inter .program-price) {
	flex-basis: auto;
	font-size: 1.6rem;
	font-weight: 700;
	flex-shrink: 0;
	min-width: 13rem;
}

#entry .button-container {
	flex-basis: 38.5%;
}

#entry .button-container .button {
	width: 100%;
}

@media screen and (max-width: 1024px) {
	#entry {
		padding: 0 .75rem 2.5rem .75rem;
	}

	#entry tr {
		padding: 1rem .5rem;
		margin-left: 0;
	}

	.category span.area-name,
	.category span.list-format,
	.category span.list-trial {
		font-weight: 500;
	}
}

@media screen and (min-width: 1025px) {
	.category span:not(.area-name) {
		font-size: .95rem;
	}

	.category span.area-name {
		margin-top: 0;
		vertical-align: middle;
	}

	.inner-program #entry .button-container {
		flex-basis: 53% !important;
	}

	.my-program-entry-btn-wrap .button,
	.my-program-entry-btn-wrap button {
		padding: var(--unit);
	}

	.button-container .my-price-meisai-wrap {
		margin-bottom: 0;
	}
}

/*@media screen and (max-width: 599px) {*/
@media screen and (max-width: 652px) {
	#entry td.button-container {
		flex-basis: 100%;
	}

	#entry tr {
		justify-content: flex-start;
		padding: 1rem;
	}

	#entry td {
		padding: 0;
	}

	#entry td.program-price-course {
		text-align: center;
		flex-basis: auto;
	}

	.button-container {
		margin-top: .5rem;
	}
}

/* カテゴリ */
.category {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.category span,
.program-model span {
	display: inline-block;
	margin: .5rem .75rem 0 0;
	font-size: 1rem;
	border-radius: var(--radius-small);
	position: relative;
}

.category span.area-name {
	padding-right: .65rem;
}

@media screen and (max-width: 599px) {
	.category span {
		margin: .5rem .5rem 0 0;
	}

	.category span.area-name {
		padding-right: .4rem;
	}
}

.program-model span {
	padding: .25rem .75rem;
}

.category span:not(.format span) {
	margin: .5rem 0 0;
}

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

	.category span,
	.program-model span {
		font-size: .9rem;
		line-height: 1.15rem;
	}
}

.format span.area-name:first-child {
	/* .area-name追加 */
	margin-left: -.5rem;
	/*margin-right: .25rem;*/
	vertical-align: middle;
}

.category .area-name {
	padding-left: 1.75rem;
}

.category .list-category {
	padding-left: 2rem;
}

.category>span:last-child {
	margin-right: 0;
}

.disc-list-container li.list-category {
	padding-left: 1.8rem;
}

.disc-list-container li.list-category::before,
.category .list-category::before {
	content: '\e2c7';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	display: block;
	left: 0.6rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: .95rem;
	font-variation-settings: 'FILL'1, 'wght'600, 'GRAD'0, 'opsz'24;
}

.disc-list-container li.list-category::before {
	left: .5rem;
	font-size: .9rem;
}

.program-model span:first-of-type {
	margin-left: 0;
	font-size: .9rem;
}

.professor {
	padding: .5rem 0 0;
	color: var(--light-ink);
	font-size: 1rem;
	font-weight: 500;
}

.professor+.professor {
	padding: .25rem 0 0;
}

.professor .list-professor::before {
	color: inherit;
}

@media screen and (min-width: 1025px) {
	.professor {
		text-align: right;
		font-size: 1.2rem;
		font-weight: bold;
	}
}

.professor a {
	vertical-align: middle;
	color: inherit;
	font-size: .9rem;
	display: inline-block;
	border: 2px solid var(--light-ink);
	padding: .15rem 1.5rem .15rem .5rem;
	position: relative;
	border-radius: var(--radius-small);
}

.professor span {
	vertical-align: middle;
	margin-right: .65rem;
}

.professor a::after {
	content: '\e5cf';
	font-family: 'Material Symbols Outlined';
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-variation-settings: 'FILL'1, 'wght'600, 'GRAD'0, 'opsz'24;
	font-size: 1.4rem;
	color: inherit;
}

/* info_list */
.info_list-container {
	background: transparent;
	padding: 0 .75rem 1.5rem;
}

.side-area, .info_list, .cart-caution {
	background: var(--white);
	padding: 1rem 1.25rem;
}

.cart-caution {
	font-size: 1.05rem;
	line-height: 1.7rem;
	font-weight: 500;
	padding: 0 0 1rem 0;
	background: transparent;
	white-space: pre-wrap;
}

.cart-caution:last-child {
	margin-bottom: 1.5rem;
}

.cart-caution {
	margin-bottom: 1rem;
}

.h-register .cart-caution {
	border: none;
}

.register-confirm tr:nth-last-of-type(2) .h-register:not(.card-confirm tr:nth-last-of-type(2) .h-register) {
	padding: 4rem 0 0;
}

.h-register .cart-caution {
	margin-bottom: 0;
	padding: 0;
}

.side-area dl,
.info_list dl {
	margin-bottom: 1.75rem;
}

.side-area dl:last-of-type,
.info_list dl:last-of-type {
	margin-bottom: 1.5rem;
}

#side .side-area dl h2,
#side .info_list dl h2 {
	font-size: 1.2rem;
}

#side .side-area dl:first-of-type h2,
#side .info_list dl:first-of-type h2 {
	margin-top: 0.5rem;
}

/*.side-area dl dt,
.info_list dl dt {
	width: 2rem;
	margin-right: 1rem;
}*/
.side-area dl dd,
.info_list dl dd {
	width: 100%;
	font-size: 1.65rem;
	font-weight: 900;
	table-layout: fixed;
	white-space: pre-wrap;
}

@media screen and (min-width: 1025px) {
	.search-window {
		margin-bottom: 1rem;
	}

	.side-area dl dd, .info_list dl dd {
		font-weight: 700;
	}
}

/* テーブル */
#program-table, .program-table {
	width: calc(100% - 1.75rem);
	margin: auto 0.75rem 2rem 0.75rem;
	font-size: 1.05rem;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
	white-space: pre-wrap;
	border-collapse: collapse;
}

.program-moshikomi-table{
	width: calc(100% - 1.75rem);
	margin: auto 0.75rem 2rem 0.75rem;
	font-size: 1.05rem;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
	white-space: pre-wrap;
/*	border-collapse: collapse;*/
	text-align:left;
}

.modal-content .program-table {
	width: 100%;
	margin: .5rem 0 0 0;
	font-size: 1.1rem;
}

.modal-content .modal-content-inner {
	max-height: calc(75vh - 6rem);
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	width: 100%;
	overflow-x: hidden;
}

@media screen and (min-width: 1025px) {
	.modal-content .modal-content-inner {
		max-height: calc(90vh - 6rem);
	}
}

#my-schedule .modal-content,
.credit-card .modal-content {
	max-width: 960px;
	padding: 1rem 1.25rem 1.5rem 1.25rem;
}

.modal-content .modal-content-inner::-webkit-scrollbar {
	display: none;
}

#program-table a:link,
.program-table a:link,
.text-introduction a:not(.button):link,
.text-container a:not(.button):link {
	color: var(--main-color);
	text-decoration: underline;
}

#program-table a:visited,
.program-table a:visited,
text-introduction a:not(.button):visited,
.text-container a:not(.button):visited {
	color: var(--main-color);
}

#program-table a:hover,
.program-table a:hover,
.text-introduction a:not(.button):hover,
.text-container a:not(.button):hover {
	color: var(--main-color);
}

#program-table a:active,
.program-table a:active,
.text-introduction a:not(.button):active,
.text-container a:not(.button):active {
	color: var(--main-color);
}

#program-table tr,
.program-table tr {
	height: 4.25rem;
	border-bottom: solid 1px var(--light-gray);
}

#my-schedule .program-table tr:last-of-type {
	border-bottom: none;
}

#program-table th,
.program-table th {
	/*text-align-last: justify;*/
	text-align: left;
}

#program-table th span,
.program-table th span {
	padding-left: .75rem;
	line-height: 1.1rem;
	border-left: solid .4rem var(--gray);
	display: inline-block;
	height: 1.1rem;
}

.program-moshikomi-table th span {
	padding-left: .75rem;
	line-height: 1.1rem;
	border-left: solid .4rem var(--gray);
	display: inline-block;
	height: 1.1rem;
}

.program-moshikomi-table td .taiken-text {
	font-size:1rem;
}

.register tr,
.credit-card tr {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-items: center;
	display: flex;
}

.register th, .register td,
.credit-card td, .credit-card td {
	display: flex;
	align-items: center;
	width: 100%;
}

.credit-card td hr {
  border-top: 2px solid #ccc;
  margin: 1rem 0;
  width: 100%;
}

.register td {
/*	justify-content: center;*/
	justify-content: flex-start;
}

.register tr:last-of-type td,
.register-confirm tr:last-of-type td,
.credit-card tr:last-of-type td {
	display: block;
}

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

	.register-confirm tr:last-of-type td.w100,
	.credit-card tr:last-of-type td.w100 {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}

	.register-confirm tr:last-of-type td.w100 button,
	.register-confirm tr:last-of-type td.w100 .button,
	.register-confirm tr:last-of-type td.w100 a,
	.credit-card tr:last-of-type td.w100 button,
	.credit-card tr:last-of-type td.w100 .button,
	.credit-card tr:last-of-type td.w100 a {
		flex-basis: 50%;
		margin-right: 1.5rem;
		margin-left: 1.5rem;
	}

	.register-confirm tr:last-of-type td.w100 button:last-of-type,
	.register-confirm tr:last-of-type td.w100 .button:last-of-type,
	.register-confirm tr:last-of-type td.w100 a:last-of-type,
	.credit-card tr:last-of-type td.w100 button:last-of-type,
	.credit-card tr:last-of-type td.w100 .button:last-of-type,
	.credit-card tr:last-of-type td.w100 a:last-of-type {
		margin-left: 0;
	}

	.register-confirm tr:last-of-type td.w100 button:first-of-type,
	.register-confirm tr:last-of-type td.w100 .button:first-of-type,
	.register-confirm tr:last-of-type td.w100 a:first-of-type,
	.credit-card tr:last-of-type td.w100 button:first-of-type,
	.credit-card tr:last-of-type td.w100 .button:first-of-type,
	.credit-card tr:last-of-type td.w100 a:first-of-type {
		margin-right: 0;
	}
}

.register-confirm tbody {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.register-confirm td,
.message-large, .message-normal, .message-small {
	font-size: 1.35rem;
	color: var(--ink);
}

.message-large, .message-normal, .message-small {
	white-space: pre-wrap;
}

.message-normal {
	font-size: 1rem;
}

.register-confirm td {
	display: flex;
	width: 100%;
	align-items: baseline;
	margin-left: 0;
}

.h-register {
	text-align: left;
	font-size: 1.15rem;
	padding: 2.5rem 0 1rem;
}

.h-register.short {
	padding: 4rem 0 0;
}

.register tr:first-of-type .h-register,
.credit-card tr:first-of-type .h-register {
	padding: 2rem 0 1rem;
}

.register-confirm .h-register {
	padding: 4rem 0 1.5rem;
}

.register-confirm tr:first-of-type .h-register {
	padding: 2.5rem 0 1.5rem;
}

.required {
	background: var(--main-color);
	color: var(--white);
	font-size: .8rem;
	border-radius: var(--radius-small);
	padding: .15rem .5rem;
	margin-left: .5rem;
	vertical-align: middle;
	white-space: nowrap !important;
}

.unit {
	font-size: .95rem;
	font-weight: 700;
	color: var(--main-color);
	text-align: center;
}

.unit.unit-large {
	font-size: 1.75rem;
	font-weight: 500;
}

.image-check {
	background: var(--light-gray);
	transition: all 0.15s ease 0s;
	position: relative;
	font-size: 0;
	height: 5rem;
	width: 5rem;
	display: inline-block;
	border-radius: 1000px;
}

.image-check::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 57%;
	left: 45.5%;
	width: 43%;
	height: 0.65rem;
	transform: translate(-0.25rem, 0.35rem) rotateZ(-135deg);
	transform-origin: 0.125rem 0.125rem;
	background: var(--main-color);
	transition: all 0.15s ease 0s;
	border-radius: var(--radius-small);
}

.image-check::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 55%;
	left: 43.5%;
	width: 70%;
	height: 0.65rem;
	transform: translate(-0.25rem, 0.35rem) rotateZ(-45deg);
	transform-origin: 0.125rem 0.125rem;
	background: var(--main-color);
	transition: all 0.15s ease 0s;
	border-radius: var(--radius-small);
}

.image-circle {
	background: var(--white);
	padding: 1.5rem;
	border-radius: 1000px;
}

.flex-container .image-circle {
	margin: 0 .75rem 0 0;
	flex-basis: 4.25rem;
	height: 4.25rem;
}


/* マイページ */
.member-card {
	text-align: center;
	position: relative;
	background: #fff;
	background-repeat: repeat;
	background-size: 112px;
	margin: -7rem auto 0;
	width: calc(100% - 1.5rem);
	padding: .25rem 0 0;
	border-radius: var(--radius-large);
	box-shadow: var(--shadow-normal);
	border-top: solid .25rem var(--white);
	border-left: solid .25rem var(--white);
	border-right: solid .25rem var(--white);
	overflow: hidden;
	letter-spacing: .05rem;
}

.member-card ul li {
	display: block;
	margin: 0.5rem auto;
}

.member-card.modal-content ul li {
	margin: 0 auto;
}

.member-card.modal-content ul li.user-cord {
	width: 80%;
	margin: .25rem auto .75rem;
}

.modal-content.member-card {
	margin: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(0);
}

.user-name {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	color: var(--main-color);
	padding: 0.5rem 0 .75rem;
	font-size: 1.4rem;
	font-weight: 500;
}

.modal-content .user-name {
	width: 80%;
	font-size: 1.8rem;
	padding: 0.75rem 0;
}

.user-cord {
	background: var(--white);
	margin: .15rem .75rem .35rem;
}

.card-period-container {
	background: var(--light-gray);
	padding: 0.25rem 0 0.3rem 0;
	border-bottom: solid .25rem var(--main-color);
	font-weight: 500;
	font-size: 1.05rem;
}

.modal-content .card-period-container {
	font-size: 1.25rem;
	letter-spacing: .05rem;
}

.user-number-container {
	display: flex;
	align-items: center;
	justify-content: center;

}

.user-number-container span:first-child {
	border-radius: var(--radius-small);
	background: var(--pale-ink);
	color: var(--white);
	font-weight: 500;
	padding: .25rem .5rem;
	font-size: .9rem;
	line-height: 1;
}

.number, .card-period {
	font-weight: 700;
}

.number {
	color: var(--main-color);
	font-size: 1.35rem;
	vertical-align: middle;
	pointer-events: none;
}

.number a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

.modal-content .number {
	font-size: 1.5rem;
}

.card-logo {
	width: 40%;
	display: block;
	margin: 0 auto;
}

.modal-content.member-card {
	padding: .75rem 0 0;
}

@media screen and (min-width: 1025px) {
	.modal-content .card-logo {
		width: 35%;
	}

}

.loupe, .my-program-info,
span.basic-modal-close.icon_zoom-out,
.icon_help {
	height: 2.5rem;
	width: 2.5rem;
	font-size: 0;
	display: block;
	position: absolute;
	top: .75rem;
	right: .75rem;
	z-index: 1;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.icon_help {
	height: 2rem;
	width: 2rem;
}

h1.title-left.inline-title span.icon_help {
	font-size: 0;
	display: inherit;
	vertical-align: initial;
	margin: 0 0 0 1.5rem;
	cursor: pointer;
}

.my-program-info {
	top: auto;
	bottom: 1.5rem;
	right: 1.75rem;
	cursor: pointer;
}

.loupe, span.basic-modal-close.icon_zoom-out {
	border-radius: 1000px;
	background: var(--light-gray);
	padding: 0.25rem;
	overflow: hidden;
}

.credit-card .icon_help {
	position: relative;
	top: auto;
	right: auto;
	cursor: pointer;
}

.loupe::before,
span.basic-modal-close.icon_zoom-out::before,
.icon_help::before,
h1.title-left.inline-title span.icon_help::before {
	font-family: 'Material Symbols Outlined';
	content: '\e8ff';
	font-size: 2.5rem;
	transform: translateY(-50%);
	color: var(--ink);
	font-variation-settings: 'FILL'1, 'wgth'600;
	vertical-align: sub;
	line-height: 2.5rem;
}

h1.title-left.inline-title span.icon_help::before,
.credit-card .icon_help::before {
	font-size: 2rem;
	content: '\e887';
	font-variation-settings: 'FILL'0, 'wght'600, 'GRAD'0, 'opsz'48;
	color: var(--pale-ink);
}

.credit-card .icon_help::before {
	line-height: 2rem;
}

span.basic-modal-close.icon_zoom-out::after {
	content: none;
}

span.basic-modal-close.icon_zoom-out::before {
	content: '\e900';
	width: 2.5rem;
	top: 60%;
	left: 60%;
	transform: translate(-50%, -50%);
	padding: 0;
	display: block;
	position: absolute;
	height: 2.5rem;
	border-bottom: 0;
}

/* マイスケジュール */
#my-schedule {
	padding: 0 0 3rem;
}

#my-schedule .select-search-container {
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#my-schedule .select-search-container .unit {
	font-size: 1.1rem;
}

#my-schedule .select-search-container .select-container {
	margin-bottom: 0;
	flex-basis: 60%;
}

@media screen and (min-width: 1025px) {
	#my-schedule {
		padding: 0;
	}

	#my-schedule .select-search-container .select-container {
		margin-bottom: 0;
		flex-basis: 50%;
	}
}

.program-list-tmb {
	flex-basis: 30%;
	margin-right: 1rem;
	position: relative;
	padding-top: calc(30% - 0.3rem);
}

.program-list-tmb.tmb-small {
	flex-basis: 15%;
	padding-top: 15%;
}

.program-list-tmb img {
	width: 100%;
	/*height: auto;*/
	object-fit: contain;
	/*aspect-ratio: 1 / 1;*/
	border-radius: var(--radius-small);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
}

.program-list-tmb.tmb-small img {
	border-radius: var(--radius-small);
}

.program-text {
	flex-basis: 70%;
}

.tmb-small+.program-text {
	flex-basis: 85%;
}

.program-text li:not(.program-digest, .program-title, .cart .list-price, .cart .list-format, .entry .list-price, .entry .list-format) {
	position: relative;
	font-size: 1rem;
	padding-bottom: .35rem;
	padding-left: 1.8rem;
	line-height: 1.4rem;
	text-indent: 0;
	overflow: visible;
}

.program-text li:not(.program-digest, .program-title, .cart .list-price, .cart .list-format, .cart .list-classroom, .cart .list-time, .entry .list-price, .entry .list-format) {
	color:
		/*var(--light-ink)*/
		var(--ink);
}

.cart .program-text li:not(.program-title, .cart .list-price, .cart .list-format),
.entry .program-text li:not(.program-title, .entry .list-price, .entry .list-format),
#my-schedule .program-text li:not(.program-title) {
	font-size: 1.1em;
	line-height: 1.65rem;
}

.cart .list-format, .cart .list-classroom,
.entry .list-format, .entry .list-classroom {
	display: inline-block;
	vertical-align: middle;
}

.cart .list-format {
	padding: .35rem .5rem;
	margin-left: .75rem;
	background: transparent;
	color: var(--gray);
}

.entry .list-format {
	padding: .15rem .5rem;
	margin-left: .75rem;
}

.program-text li:last-of-type {
	padding-bottom: 0;
}

.program-text .list-professor:not(.program-01 .professor)::before,
.program-text .list-time:not(.program-01 .list-time)::before,
.program-text .list-time-date::before,
.program-text .list-price::before,
.program-text .list-classroom::before {
	margin-right: 0.3rem;
	font-size: 1.5rem;
	font-variation-settings: 'FILL'1, 'wght'500, 'GRAD'0, 'opsz'24;
	display: block;
	position: absolute;
	top: calc(50% - 0.25rem);
	transform: translateY(-50%);
	left: 0;
}

.cart .program-text .list-time:not(.program-01 .list-time)::before,
.cart .program-text .list-classroom::before {
	color: var(--light-gray);
}

#my-schedule .program-text .list-time:not(.program-01 .list-time)::before,
#my-schedule .program-text .list-classroom::before {
	color: var(--pale-ink);
}

.program-list-info .program-text li.list-price {
	padding-bottom: 0;
}

.program-text .list-price::before {
	top: 50%;
}

.program-text-overflow {
	overflow: hidden !important;
	text-overflow: ellipsis;
	max-width: 100%;
	min-width:0;
}


/* 特集 */
.sns-feature {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: .5rem 0 .25rem;
}

.sns-feature a {
	width: 2rem;
	margin: 0 .5rem;
}

.sns-feature a:last-of-type {
	margin-right: 0;
}

.sns-feature p {
	margin-right: .5rem;
	font-weight: 900;
	color: var(--pale-ink);
	letter-spacing: .075rem;
}

.list-feature {
	display: flex;
	border-radius: var(--radius-normal);
	background: var(--white);
	padding: 0.75rem .75rem .75rem .9rem;
	margin-bottom: 1rem;
	align-items: flex-start;
	border-left: 6px solid var(--main-color);
}

.list-feature:last-of-type {
	margin-bottom: 3rem;
}

.list-feature:hover {
	opacity: .75;
}

.list-feature .program-text {
	margin-right: .5rem;
	flex-basis: 80%;
}

#side .list-feature {
	background-color: var(--pale-gray);
	box-shadow: 0 2px 4px var(--shadow-normal);
	border: 1px solid var(--light-gray);
	border-left: 6px solid var(--main-color);
}

#side .list-feature h2 {
	font-size: 1.1rem;
	color: var(--ink);
	font-weight: 900;
	border-left: none;
	line-height: 1.6rem;
	padding-left: 0;
	padding-right: 0;
	margin-top: 0;
	margin-bottom: 0;
}

@media screen and (min-width: 1025px) {
	#side .list-feature h2 {
		font-weight: 700;
	}
}

.list-tmb {
	/*padding: 0.5rem 0.75rem;*/
	color: var(--light-yellow);
	border-radius: 0.2rem;
	font-weight: 500;
	background: var(--main-color);
	font-size: 0;
	flex-basis: 4rem;
	text-align: center;
	line-height: 1.35rem;
	letter-spacing: .075rem;
	position: relative;
	/*aspect-ratio: 1 / 1;*/
	height: calc(4rem - 0.375rem);
}

.list-tmb:before {
	content: '\e431';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	display: block;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 2.25rem;
	font-variation-settings:
		'FILL'1,
		'wght'300,
		'GRAD'-25,
		'opsz'24;
}

#side .list-tmb {
	color: var(--pale-gray);
}

/* 講座検索 */
.side-content-container {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1rem;
	margin-bottom: 2.75rem;
}

.narrowing .side-content-container {
	margin-top: 0;
	margin-bottom: 2rem;
}
.koza-main-content-container {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1rem;
	margin-bottom:1rem;
}


.program-list {
	position: relative;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	padding: 1.5rem 3rem 1.25rem 1.75rem;
	background: var(--white);
	margin: .5rem 0;
	z-index: 1;
	cursor: pointer;
}

.cart .program-list,
.entry .program-list,
#my-schedule .program-list {
	-webkit-transform: none;

	transform: none;
	cursor: default;
}

#my-schedule .program-list {
	padding: 1.5rem .75rem 1.25rem;
}

.program-list h2 {
	border-left: none;
	padding-left: 0;
	font-size: 1.3rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
	line-height: 1.35;
	color: var(--main-color);
}

.program-list::before {
	content: '\e409';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	font-weight: 900;
	display: block;
	position: absolute;
	right: -.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.75rem;
	color: var(--pale-ink);
	font-variation-settings: 'FILL'1, 'wght'400, 'GRAD'0, 'opsz'24;
}

.cart .program-list::before,
.entry .program-list::before,
#my-schedule .program-list::before {
	content: none;
}

.program-list:first-of-type {
	margin-top: 0;
}

.program-list:last-of-type {
	margin-bottom: 0;
}

.program-list:not(.entry .program-list, .cart .program-list, #my-schedule .program-list):active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.cart .program-list,
.entry .program-list,
#my-schedule .program-list {
	-webkit-transform: none;
	transform: none;
	padding: 1.25rem 1rem 1.5rem;
}

.entry .program-list {
	padding: 1.25rem 1rem .75rem;
}

.program-list .program-inner {
	position: relative;
	z-index: 0;
}

.program-list a:not(.delete a) {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.program-list-title,
.program-list-info {
	display: flex;
	position: relative;
	z-index: 0;
}

.program-list-info {
	align-items: flex-start;
}

.program-list-title {
	justify-content: space-between;
}

.program-list-title ul {
	text-align: right;
}

.program-list-title ul li {
	vertical-align: middle;
	padding: 0.25rem 0.7rem;
	border-radius: var(--radius-small);
	position: relative;
	font-weight: 500;
	display: inline-block;
	white-space: pre;
	margin-bottom: .35rem;
	margin-right: .5rem;
}

.program-list-title ul li:not(.list-format, .list-trial) {
	font-weight: 500;
	padding: 0.25rem .125rem 0.25rem 1.8rem;
	margin-left: -0.5rem;
}

.program-list-title ul li.container:not(.list-format, .list-trial) {
	padding: 0 .125rem 0.25rem .5rem;
}

@media screen and (max-width: 1024px) {
	.program-list-title ul li.container:not(.list-format, .list-trial) {
		padding: 0 .125rem 0 .5rem;
		overflow: visible;
	}
}

.program-list-title ul li:not(.list-format, .list-trial, .container)::before,
.category .format .area-name::before {
	content: 'location_on';
	font-family: 'Material Symbols Outlined';
	position: absolute;
	display: block;
	left: .55rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1rem;
	color: inherit;
	font-variation-settings: 'FILL'1, 'wght'600, 'GRAD'0, 'opsz'24;
}

.program-list-title ul li.text-school00:not(.list-format, .list-trial, .container)::before,
.program-list-title ul li.text-school12:not(.list-format, .list-trial, .container)::before,
.category .format .area-name.text-school00::before,
.category .format .area-name.text-school12::before {
	content: '\e163';
	font-family: 'Material Symbols Outlined';
}

.program-digest p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: .95rem;
	color:
		/*var(--pale-ink)*/
		var(--light-ink);
	margin:
		/*.75rem 0 0 0*/
		.25rem 0 0 0;
	line-height: 1.55;
}

.search-window h2,
.info_list h2 {
	color: var(--main-color);
	border-left: none;
	font-size: .95rem;
	font-weight: 700;
	margin-bottom: .5rem;
}

.unit-small-text, .unit-small-text_left {
	font-size: .75em;
	margin-left: .25rem;
}

.unit-small-text_left {
	margin-left: 0;
	margin-right: .35rem;
}

.recent-container .unit-small-text {
	margin-left: 0;
	font-weight: 400;
	display: inline-block;
	color: var(--black-ink);
	margin: .5rem 0 0;
	width: 100%;
	font-size: 1.05rem;
	text-align: left;
}

#side h2 .material-symbols-outlined {
	vertical-align: middle;
	margin-right: .2rem;
	font-size: 1.25rem;
}

/*@media screen and (max-width: 1024px) {*/
#side h2 .material-symbols-outlined {
	height: 1.25rem;
	width: 1.25rem;
}

/*}*/
#side h2 .material-symbols-outlined.icon-yen {
	height: 1.5rem;
	width: 1.5rem;
}

#side .side-area dl h2 .material-symbols-outlined,
#side .info_list dl h2 .material-symbols-outlined {
	vertical-align: text-top;
	padding-top: .1rem;
}

#side .info_list dl h2 .material-symbols-outlined.icon-yen {
	background: var(--light-ink);
	color: white;
	padding: 0.25rem;
	border-radius: 1000px;
	vertical-align: initial;
	font-size: 1rem;
}

.banner-container {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

/* ページ内リンク・上部 */
.main-container {
	margin-bottom: 2rem;
}

.main-container.fixed-page {
	margin-top: 12rem;
}

#link-page-navi:not(.fixed-area-frame) {
	margin-bottom: 1.5rem;
}

#link-page-navi ul {
	display: flex;
	background: var(--white);
	border-radius: var(--radius-normal);
	justify-content: flex-start;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 0 0 2rem -0.5rem;
	padding: 0;
	width: 100%;
	position: relative;
	z-index: 1;
}

#link-page-navi.fixed-navi ul {
	display: flex;
	background: var(--main-color);
	border-radius: var(--radius-normal);
	box-shadow: var(--shadow-normal);
	margin: 1rem 0 0 1rem;
	padding: .25rem;
	width: calc(72.5% - 2rem);
}

#link-page-navi li {
	margin: .5rem;
}

#link-page-navi a:not(.button),
.modal-content h2 {
	border-radius: var(--radius-normal);
	border: 2px solid var(--main-color);
	background: var(--white);
	box-sizing: border-box;
	display: block;
	font-weight: 700;
	padding: .5rem .75rem;
	color: var(--main-color);
	text-decoration: none;
}

.modal-content h2 {
	border: none;
	font-size: 1.2rem;
	padding: 0;
	margin: 1.5rem 0 0.5rem 0;
}

.modal-content .my-program-info {
	left: 1rem;
	/*transform: translateX(-50%);*/
	display: block;
	cursor: auto;
	position: relative;
	bottom: 0.5rem;
	margin-top: 1.5rem;
}

.modal-content h2:first-child {
	margin: .25rem 0 .5rem;
}

#link-page-navi a:not(.button)::after,
.modal-content h2::after {
	content: '';
	display: block;
	width: 1.5rem;
	height: 0.2rem;
	margin: 0.25rem calc(100% - 1rem) 0 0;
	background: var(--main-color);
}

.fixed-navi:not(.fixed-area-frame) {
	position: fixed;
	top: 0;
	padding: 0;
	width: 100%;
	z-index: 3;
	width: 100%;
	max-width: 1280px;
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
}

#link-page-navi.fixed-navi ul li a {
	border: none;
}

/* cart */
.fixed-area-frame {
	position: fixed;
	bottom: .5rem;
	left: .75rem;
	width: calc(100% - .75rem - 1.5rem - 3rem - .75rem);
	display: flex;
	justify-content: center;
	align-items: center;
	height: fit-content;
	padding-top: .5rem;
	padding-bottom: .5rem;
	border-radius: var(--radius-normal);
	box-shadow: var(--shadow-strong);
	background: var(--white-75);
	transition-duration: .3s;
	z-index: 2;
}

/* カード情報入力 */
.register-select .select-normal {
	background: transparent;
	border: var(--main-color) solid 2px;
	position: relative;
	z-index: 1;
	font-size: 1.25rem;
}

.credit-card-logo {
	justify-content: flex-start;
	margin-top: .75rem;
}

.credit-card-cord {
	justify-content: flex-start;
}

.credit-card-logo img,
.credit-card-cord img {
	height: 2.25rem;
	margin-right: .75rem;
}

.credit-card-logo img {
	background: var(--white);
	border-radius: var(--radius-small);
}

.credit-card-cord img {
	height: 2rem;
}

.credit-card-logo img.no-bg {
	background: transparent;
	border-radius: 0;
}

.total-container:not(.total-container-confirm .total-container) {
	margin: 0 .75rem 1.5rem;
	border: solid 2px var(--ink);
	border-radius: var(--radius-normal);
	padding: .75rem;
}

.frame-normal {
	display: block;
	margin: 1rem 0;
	border: solid 2px var(--gray);
	padding: .75rem;
	border-radius: var(--radius-normal);
}

.text-container .frame-normal p:last-of-type {
	margin-bottom: 0;
	font-weight: 500;
	font-size: 1rem;
}

.text-container .frame-normal p .tel-access {
	font-weight: 700;
	font-size: 1.2rem;
	padding-left: 1.5rem;
	position: relative;
	pointer-events: none;
}

.text-container .frame-normal p .tel-access::before {
	content: '\e0b0';
	font-family: 'Material Symbols Outlined';
	speak: none;
	font-variation-settings: 'FILL'1, 'wght'700, 'GRAD'0, 'opsz'24;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--main-color);
	font-size: 1.25rem;
}

.text-container figure {
	margin-top: 1rem;
}

.text-container figure img {
	border-radius: var(--radius-normal);
}

@media screen and (min-width: 1025px) {
	.frame-normal {
		width: 50%;
	}
}

.total {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: .5rem;
}

.tax {
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--light-ink);
}

.total, .tax {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.total .money {
	font-size: 2rem;
	color: var(--red);
}

.tax .money {
	font-size: 1.35rem;
}

.register-confirm.card-confirm {
	background: var(--white);
	width: calc(100% - 1.5rem);
	max-width: calc(100% - 1.5rem);
	padding: .75rem .75rem 2.5rem .75rem;
	margin: 0 .75rem;
	border-radius: var(--radius-normal);
}

@media screen and (max-width: 1024px) {
	.credit-card-cord {
		margin-left: 1rem;
	}

	.total-container-confirm {
		background: var(--white);
		margin: 0 .75rem 1.5rem;
		border: solid 2px var(--ink);
		border-radius: var(--radius-normal);
		padding: .75rem;
	}

	.total-container-confirm .program-list {
		border-radius: var(--radius-small);
		background: var(--pale-gray);
	}

	.total-container-confirm .program-list h2 {
		font-size: 1.2rem;
		margin-bottom: .75rem;
	}

	.total-container-confirm .program-list .list-time span {
		color: var(--pale-gray);
	}

	.total-container-confirm .entry {
		margin-top: 1.5rem;
	}

	.fixed-total {
		font-size: .95rem;
	}

	.fixed-total .money {
		font-size: 1.2rem;
		font-weight: 700;
	}

	.register-confirm.card-confirm tr:first-of-type .h-register {
		padding: 1rem 0 1.5rem;
	}
}

@media screen and (min-width: 1025px) {
	.total-container:not(.total-container-confirm .total-container) {
		border: solid 2px var(--ink);
		border-radius: var(--radius-normal);
		margin: 0;
		padding: 1rem;
	}

	.total, .tax {
		flex-wrap: wrap;
	}

	.total .money {
		width: 100%;
		text-align: right;
	}

	.register-confirm.card-confirm {
		width: 100%;
		max-width: 100%;
		margin: 0;
		border-radius: var(--radius-normal);
		padding: 1.5rem 2rem;
	}
}

.row-button-container {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: center;
}

@media screen and (max-width: 599px) {
	.row-button-container>a:first-child {
		margin: 3rem 0 0;
	}

	.row-button-container>a {
		margin: 2rem 0 0;
	}

	.row-button-container>a:last-child {
		margin: 2rem 0 3rem;
	}
}

@media (min-width: 600px) and (max-width: 1024px) {
	.row-button-container>a:first-child {
		margin: 3rem 25% 0 25%;
	}

	.row-button-container>a {
		margin: 2rem 25% 0 25%;
	}

	.row-button-container>a:last-child {
		margin: 2rem 25% 3rem 25%;
	}
}

@media screen and (min-width: 1025px) {
	.row-button-container>a {
		margin: 3rem 0 3rem 1.5rem;
		width: calc(50% - 1.5rem);
	}

	.row-button-container>a:nth-child(2n) {
		margin: 3rem 1.5rem 3rem 0;
	}
}

/* faq */
.faq-link {
	width: calc(33.33% - 1rem);
	padding: .75rem .75rem .75rem 2.5rem;
	color: var(--main-color);
	font-weight: 500;
	background: var(--white);
	border-radius: var(--radius-small);
	margin: 0 .75rem;
	position: relative;
	font-size: 1.1rem;
}

.faq-link:hover {
	background: var(--light-brown);
	color: var(--white);
}

.faq-link::before {
	content: '';
	position: absolute;
	left: .75rem;
	top: 1.25rem;
	width: 0;
	height: 0;
	border-left: 0.65rem solid transparent;
	border-right: 0.65rem solid transparent;
	border-top: 0.65rem solid var(--main-color);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.faq-link:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.faq-link:hover::before {
	border-top: 0.65rem solid var(--white);
}

.faq-link:first-child {
	margin-left: 0;
}

.faq-link:last-child {
	margin-right: 0;
}

.accordion .accordion_header.faq-q {
	width: 100%;
	margin: .5rem 0 .5rem;
	padding: .75rem 2.75rem .75rem .75rem;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -.0025rem;
	background: var(--light-gray);
	color: var(--black-ink);
	border-radius: var(--radius-normal);
	justify-content: flex-start;
	line-height: 1.5;
	align-items: flex-start;
	cursor: pointer;
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	-webkit-transform: scale(1);
	transform: scale(1);
	position: relative;
}

.text-container .accordion:last-of-type {
	margin-bottom: 2rem;
}

.text-container p:last-of-type {
	/*margin-bottom: 1rem;*/
	padding-bottom: 1rem;
}

.cart+.text-container p:last-of-type {
	margin-bottom: 0;
}

.icon_open-close {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 2.25rem;
	height: 2.25rem;
	background: var(--white);
	border-radius: 1000px;
	display: block;
}

.icon_open-close::before,
.icon_open-close::after {
	content: "";
	position: absolute;
	left: 1.025rem;
	top: .5625rem;
	width: .2rem;
	height: 1.125rem;
	background-color: var(--main-color);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.icon_open-close::after,
.open-button .icon_open-close::before {
	transform: rotate(90deg);
}

.accordion .accordion_header.faq-q:active {
	-webkit-transform: scale(0.975);
	transform: scale(0.975);
}

.faq-q span,
.faq-a span {
	color: var(--main-color);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.25;
	margin-right: .5rem;
}

.accordion .faq-a {
	display: none;
	padding-bottom: .75rem;
}

.faq-a p {
	text-indent: .8rem;
}

.only-line h2:first-child {
	margin-top: 0;
}

.only-line .accordion+h2,
.only-line .button+h2,
.only-line p+h2, .only-line span+h2,
.only-line ul+h2,
.only-line figure+h2 {
	margin-top: 2.25rem;
}

.access-map-container {
	/*aspect-ratio: 16 / 9;*/
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: var(--radius-normal);
	padding-top: 56.25%;
}

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

@media screen and (min-width: 1024px) {
	.access-map-container {
		/*aspect-ratio: 5 / 2;*/
		padding-top: 40%;
	}
}

/* mobile */
@media screen and (max-width: 599px) {
	.new-arrival::before {
		font-size: 4.25rem;
		line-height: 4.25rem;
		top: -.75rem;
		left: -1rem;
		color: var(--main-color);
		font-variation-settings: 'FILL'1, 'wght'400, 'GRAD'0, 'opsz'24;
		z-index: 1;
	}

	.new-arrival::after {
		content: 'NEW';
		top: .65rem;
		left: .1rem;
		font-size: .9rem;
	}

	.area-name.bg-school01 span,
	.area-name.bg-school02 span,
	.area-name.bg-school03 span,
	.area-name.bg-school04 span,
	.area-name.bg-school05 span,
	.area-name.bg-school06 span,
	.area-name.bg-school07 span,
	.area-name.bg-school08 span,
	.area-name.bg-school09 span,
	.area-name.bg-school10 span,
	.area-name.bg-school11 span,
	.area-name.bg-school12 span,
	.area-name.bg-school00 span {
		padding: 0.3rem;
		top: 0.5rem;
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: .05rem;
	}

	.area-name.bg-school01 span::before,
	.area-name.bg-school02 span::before,
	.area-name.bg-school03 span::before,
	.area-name.bg-school04 span::before,
	.area-name.bg-school05 span::before,
	.area-name.bg-school06 span::before,
	.area-name.bg-school07 span::before,
	.area-name.bg-school08 span::before,
	.area-name.bg-school09 span::before,
	.area-name.bg-school10 span::before,
	.area-name.bg-school11 span::before,
	.area-name.bg-school12 span::before,
	.area-name.bg-school00 span::before {
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.25rem;
		left: .45rem;
	}

	.text-container .area-name.bg-school01 span,
	.text-container .area-name.bg-school02 span,
	.text-container .area-name.bg-school03 span,
	.text-container .area-name.bg-school04 span,
	.text-container .area-name.bg-school05 span,
	.text-container .area-name.bg-school06 span,
	.text-container .area-name.bg-school07 span,
	.text-container .area-name.bg-school08 span,
	.text-container .area-name.bg-school09 span,
	.text-container .area-name.bg-school10 span,
	.text-container .area-name.bg-school11 span,
	.text-container .area-name.bg-school12 span,
	.text-container .area-name.bg-school00 span {
		padding: 0.25rem;
		font-size: .95rem;
	}

	.text-container .area-name.bg-school01 span::before,
	.text-container .area-name.bg-school02 span::before,
	.text-container .area-name.bg-school03 span::before,
	.text-container .area-name.bg-school04 span::before,
	.text-container .area-name.bg-school05 span::before,
	.text-container .area-name.bg-school06 span::before,
	.text-container .area-name.bg-school07 span::before,
	.text-container .area-name.bg-school08 span::before,
	.text-container .area-name.bg-school09 span::before,
	.text-container .area-name.bg-school10 span::before,
	.text-container .area-name.bg-school11 span::before,
	.text-container .area-name.bg-school12 span::before,
	.text-container .area-name.bg-school00 span::before {
		top: calc(50% + .025rem);
		transform: translateY(-50%);
		font-size: 1.15rem;
		left: .4rem;
	}

	.delete a {
		font-size: .95rem;
	}

	#banner-area .inner {
		padding: 0 .75rem;
	}

	#program-table tr,
	.program-table tr {
		height: auto;
	}

	#program-table th, #program-table td,
	.program-table th, .program-table td {
		display: block;
		width: 100%;
		line-height: 1.6rem;
	}

	#program-table th,
	.program-table th {
		padding: 1rem 0 .25rem;
	}

	#program-table tr:first-of-type th,
	.program-table tr:first-of-type th {
		padding: 0 0 .25rem;
	}

	#program-table td,
	.program-table td {
		padding: .5rem 1rem 1rem 1.5rem;
	}

	.area .link-area:last-child {
		font-size: 1rem;
		padding-left: 1.8em;
		padding-right: 0;
		padding-top: .85rem;
	}

	#banner-area .banner:last-of-type,
	.banner-sns-area .banner:last-of-type {
		margin-bottom: 0;
	}

	.modal-content.member-card {
		width: 80vh;
		margin: 0;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%) rotate(90deg);
		transform-origin: 50% 50%;
	}

	.footer .footer-area-linka div{
		flex-basis: 100%; /* 1列 */
		padding: 2rem 1rem 2rem 1rem;
		justify-content: flex-start;
	}
	
	.footer .footer-area-linkb{
		padding: 2rem 1rem 2rem 1rem;
	}

	.footer .footer-area-linkb a {
		flex-basis: 100%; /* 1列 */
	}

}

/* タブレット */
@media screen and (min-width: 600px) {
	#main-visual {
		background: var(--white);
	}

	/* section */
	.area .link-area {
		width: calc(33% - 1.5rem);
	}

	.area .link-area:nth-child(2n+1), #area .link-area:nth-child(2n) {
		margin-left: 1rem;
		margin-right: 1rem;
	}

	.area .link-area:nth-child(3n) {
		margin-right: 0;
	}

	.area .link-area:first-child, .area .link-area:nth-child(3n+1) {
		margin-left: 0;
	}

	.area .link-area::before {
		content: 'location_on';
		font-family: 'Material Symbols Outlined';
		left: 1.25rem;
		font-size: 1.75rem;
	}

	.area .modal-content .link-area:nth-child(3n+1), .area .modal-content .link-area:nth-child(3n) {
		margin-left: .5rem;
		margin-right: .5rem;
	}

	.area .modal-content .link-area:first-child, .area .modal-content .link-area:nth-child(4n+1) {
		margin-left: 0;
	}

	.area .modal-content .link-area:nth-child(4n) {
		margin-right: 0;
	}

	.area .modal-content .link-area {
		width: calc(25% - 0.75rem);
	}

	.area .modal-content .link-area::before,
	.area .modal-content .link-area:last-child::before {
		font-size: 1.2rem;
	}

	.slider-program li {
		width: 40vw;
	}
/*
	.slider-topic li {
		width: 40vw;
	}*/
	
	/* カテゴリ */
	.search-category .link-category {
		width: calc(33% - 1.5rem);
	}

	.search-category .link-category:nth-child(odd),
	.search-category .link-category:nth-child(even) {
		margin-left: 1rem;
		margin-right: 1rem;
	}

	.search-category .link-category:nth-child(3n) {
		margin-right: 0;
	}

	.search-category .link-category:nth-child(3n+1) {
		margin-left: 0;
	}

	.link-guide {
		width: calc(50% - 1rem);
	}

	.link-guide:nth-child(even) {
		margin-right: 0;
	}

	.link-guide:nth-child(odd) {
		margin-left: 0;
	}

	/* banner area */
	#banner-area .inner,
	.banner-sns-area .inner .banner-container {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		width: calc(100% - 24px);
		max-width: 1500px;
		margin-left: auto;
		margin-right: auto;
	}

	.sns-feature {
		padding: .75rem 0 .5rem;
	}

	.link-more {
		max-width: 17rem;
	}

	.link-tile a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1.25rem 0 1rem;
	}

	.link-tile a img {
		display: inline-block;
		width: 15%;
		margin: 0 1rem 0 0;
		vertical-align: top;
	}

	.link-tile a span {
		display: inline-block;
		text-align: left;
		font-weight: 700;
		font-size: 2rem;
	}

	.link-tile a span span {
		font-weight: 500;
		font-size: 1.1rem;
	}

	/* SNS */
	.sns, .banner-sns-area .sns {
		margin: 2rem 20% 0;
		display: flex;
		justify-content: space-around;
		align-items: center;
	}

	#side .sns {
		margin: 1.25rem .75rem;
	}

	#side .sns a {
		width: 2.5rem;
	}

	/* 講座詳細 メインビジュアル */
	.thumbnail .slick-track {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

	.thumbnail .slick-slide {
		width: 3rem !important;
		height: 3rem;
	}

	.program-list-tmb {
		flex-basis: 25%;
		margin-right: 1.5rem;
		/*max-width: 10rem;*/
		padding-top: calc(25% - .375rem);
	}

	.program-text {
		flex-basis: 75%;
	}

	.program-text li:not(.program-digest, .list-format) {
		font-size: 1.1rem;
		line-height: 1.5rem;
	}

	.cart .program-text li.list-format {
		font-size: 1rem;
		line-height: 1rem;
		margin-bottom: .35rem;
	}

	.register, .register-confirm {
		max-width: 768px;
		margin: auto;
	}

	.area {
		font-size: .95rem;
	}

	.date {
		font-size: 1.15rem;
	}

	.news-title {
		font-size: 1.15rem;
	}

	#program-table th,
	.program-table th {
		padding: .75rem .75rem .75rem 0;
	}

	#program-table td,
	.program-table td {
		padding: .75rem
	}

	.school.top .link-keyword-top+section {
		padding-bottom: 1.5rem;
	}

}

/* end @media screen and (min-width: 600px) */


/* 本文テーブル */
.text-container .table-normal {
	font-size: 1.05rem;
}

.text-container .table-normal thead {
	border-bottom: 1px solid var(--gray);
}

.text-container .table-normal td,
.text-container .table-normal th {
	border: 1px solid var(--gray);
	padding: .75rem;
}

.text-container .table-normal th {
	background: var(--light-gray);
}

@media screen and (min-width: 768px) {
	.text-container .table-20-15 td:first-child {
		width: 20%;
	}

	.text-container .table-20-15 td:last-child {
		width: 15%;
		text-align: right;
	}
}

/* end @media screen and (min-width: 768px) */

@media screen and (max-width: 767px) {
	.text-container .table-normal thead {
		display: none;
	}

	.text-container .table-normal tbody tr {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin-bottom: 1rem;
	}

	.text-container .table-normal tbody tr:last-of-type {
		margin-bottom: 0;
	}

	.text-container .table-normal td {
		width: 100%;
	}

	.text-container .table-normal td:first-of-type {
		background: var(--light-gray);
		font-weight: 700;
	}

	.text-container .table-normal td:not(:first-of-type) {
		border-top: solid 0px;
	}
}

/* end @media screen and (max-width: 767px) */

@media (min-width: 600px) and (max-width: 767px) {
	.area .link-area {
		border-left: solid 0.45rem var(--main-color);
	}

	.area .link-area::before {
		content: 'location_on';
		font-family: 'Material Symbols Outlined';
		left: .25rem;
	}
}

/* end @media (min-width: 600px) and (max-width: 767px) */

/* タブレット */
@media (min-width: 600px) and (max-width: 1024px) {
	#main h1, #cover h1 {
		font-size: 1.75rem;
	}

	.sns a {
		width: 15%;
	}

	section.banner-sns-area .inner {
		padding: 0 !important;
	}

	#banner-area .inner, .banner-sns-area .inner .banner-container {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	#banner-area .banner,
	.banner-sns-area .inner .banner-container .banner {
		max-width: calc(50% - .75rem);
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 2rem;
	}

	#banner-area .banner:nth-of-type(even),
	.banner-sns-area .inner .banner-container .banner:nth-of-type(even) {
		margin-left: 1.5rem;
	}

	#side .banner-container {
		padding-bottom: 2rem;
	}

	.loupe {
		display: none;
	}

	.tile {
		width: calc(50% - 1rem);
	}

	.program-disc .program-title {
		font-size: 1.35rem;
		line-height: 1.85rem;
	}

	.list-feature .program-text {
		flex-basis: calc(100% - 4rem);
	}

	/*.list-tmb {
	flex-basis: 4rem;
	}*/
	.program-list h2 {
		font-size: 1.65rem;
		margin-top: 1.75rem;
		margin-bottom: 1.75rem;
	}

	.tmb-small+.program-text {
		flex-basis: 85%;
	}

	.program-text li:not(.program-digest, .program-title, .cart .list-price, .cart .list-format, .entry .list-price, .entry .list-format) {
		font-size: 1.1rem;
		padding-bottom: .5rem;
		padding-left: 1.8rem;
	}

	.program-list-title ul li {
		margin-right: .75rem;
	}

	.program-list-title ul li:not(.list-format, .list-trial) {
		font-weight: 500;
		padding: 0.25rem .25rem 0.25rem 1.8rem;
	}

	.cart .program-text li.list-format {
		margin-bottom: .5rem;
	}

	.banner-container {
		display: flex;
	}

	#program-table th,
	.program-table th {
		width: 33.33%;
	}

	.link-guide-container {
		max-width: 100%;
	}

	.fixed-total, .fixed-total+.button {
		display: inline-block;
		vertical-align: middle;
	}

	.fixed-total {
		width: calc(30% - 1.5rem);
		padding-left: 0.75rem;
	}

	.fixed-total+.button {
		width: 70%;
	}

	.user-name {
		font-size: 1.75rem;
		line-height: 2;
		padding: 0.75rem 0 0.5rem;
	}

	.card-logo {
		width: 35%;
	}

	.card-period-container {
		font-size: 1.35rem;
	}

	.number {
		font-size: 1.6rem;
	}

	.user-cord img {
		width: 90%;
		margin: 0 auto;
	}
	
	.footer .footer-area-linka div{
		flex-basis: calc(33.333% - 1rem); /* 3列 */
		padding: 2rem 1rem 2rem 1rem;
		justify-content: flex-start;
		max-width: 33%;
	}
	
	.footer .footer-area-linkb a {
		padding: 0.5rem 0 1.75rem 1rem;
		flex-basis: calc(33.333% - 1rem); /* 3列 */
		font-size: 1.15rem;
		font-weight: 500;
		line-height: 1.5rem;
	}

}

/* end @media (min-width: 600px) and (max-width: 1024px)*/

/* タブレット */
@media screen and (max-width: 1024px) {
	#content {
		padding-bottom: 0;
	}

	#main>.inner {
		padding-bottom: 2rem;
	}

	.material-symbols-outlined {
		vertical-align: sub;
		margin-right: .35rem;
	}

	#title, #title02, .text-container:not(.recommend-container, .register) {
		padding-left: .75rem;
		padding-right: .75rem;
	}

	#title, #title02 {
		padding-top: .75rem;
	}

	section#side {
		padding: 0;
	}

	.side-container {
		padding: 0 0 2rem 0;
		/*background: var(--white);*/
	}

	.side-left .side-container {
		padding: 0;
	}

	.side-container,
	.banner-sns-area:not(:first-of-type) {
		padding-top: 3rem;
	}

	.bg-white {
		background: var(--white);
	}

	/* select */
	.select-container, .select-contaner-half {
		display: block;
		width: 100%;
		font-size: 1rem;
		background: var(--white);
		border-radius: var(--radius-normal);
	}

	.select-container-half {
		width: calc(50% - .25rem);
	}

	.select-container-half:first-of-type {
		margin-right: .5rem;
	}

	/* .search-window */
	section .inner:not(.narrowing, .program-container, #banner-area .inner, .schedule-container) {
		padding-left: .75rem;
		padding-right: .75rem;
		position: relative;
	}

	.info_list {
		border-radius: var(--radius-normal);
		border: solid 2px var(--light-gray);
	}

	.tel, .tel>span.tel {
		margin: 0 0 .5rem;
		line-height: 2.2rem;
		font-size: 2rem;
		font-weight: 700;
	}

	.tel span {
		font-size: 1.1rem;
	}

	.tel>span.tel {
		pointer-events: none;
		display: block;
		text-decoration: inherit;

	}

	.tel-container {
		margin-bottom: 1.5rem;
	}

	#main {
		padding: 0;
		overflow: hidden;
		/*background: var(--white);*/
	}

	.hover-mask {
		background: transparent;
	}

	.top .banner-container {
		padding-top: 3rem;
	}

	#side .banner-container {
		padding-top: 0;
		padding-bottom: 3rem;
	}

	#mypage-menu {
		padding: 1.5rem .75rem;
	}

	/* モーダル・絞り込み窓 */
	#upward {
		display: none;
	}

	#upward-container .open_up {
		padding: .5rem .75rem;
		position: absolute;
		right: 0.75rem;
		bottom: -4rem;
		font-size: 1rem;
		font-weight: 700;
		min-width: calc(5.5rem + 2rem + 4px);
	}

	#upward-container .open_up .material-symbols-outlined {
		vertical-align: bottom;
		margin-right: .25rem;
	}

	.open_up {
		transition: background .3s, transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.close_down {
		/*inset: 0;*/
		pointer-events: none;
		transition: background .3s;
		display: block;
		position: absolute;
		height: 2rem;
		width: 2rem;
		transform: translateY(100%);
		position: fixed;
		z-index: 4 !important;
		height: 2rem;
		bottom: calc(67.5vh - 3.25rem);
		right: .75rem;
		width: 2rem;
		transform: translateY(calc(60vh + 3.25rem));
		transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.close_down::before, .close_down::after {
		content: "";
		position: absolute;
		top: calc(50% - 0.35rem);
		left: calc(50% - 0.8rem);
		width: 1.35rem;
		border-bottom: 3px solid var(--pale-ink);
		transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.close_down::before {
		transform: rotate(135deg) scaleX(1.2);
	}

	.close_down::after {
		transform: rotate(-135deg) scaleX(1.2);
	}

	.open_upward.close_down {
		inset: 0 0.25rem auto auto;
	}

	#upward:checked~.close_down {
		pointer-events: auto;
		background: transparent;
	}

	#upward:checked~.close_down.open_up {
		pointer-events: auto;
		background: transparent;
	}

	#upward-container label {
		scrollbar-width: none;
		-ms-overflow-style: none;
		z-index: 1;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}

	.narrowing {
		z-index: 3;
		position: fixed;
		overflow: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 67.5vh;
		margin: 0;
		/*padding: 2rem .75rem;*/
		box-sizing: border-box;
		background: var(--white);
		box-shadow: 0 -8px 8px var(--black-eighth);
		transform: translateY(100%);
		transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		scrollbar-width: none;
		-ms-overflow-style: none;
		border-radius: 1rem 1rem 0 0;
		border-top: var(--white) 3.25rem solid;
		border-bottom: var(--white) .25rem solid;
		border-left: var(--white) .75rem solid;
		border-right: var(--white) .75rem solid;
		box-sizing: border-box;
	}

	.narrowing.side-area {
		padding: 0 0 2.5rem 0;
	}

	.narrowing.side-area h2 {
		color: var(--light-ink);
	}

	#upward-container label::-webkit-scrollbar,
	.narrowing::-webkit-scrollbar {
		display: none;
	}

	/*#upward-container label, .narrowing { touch-action: none; }*/
	#upward:checked~.narrowing {
		transform: none;
	}

	#upward:checked~.close_down {
		transform: none;
	}

	/* 検索結果 */
	.accordion {
		/*background: var(--white);	*/
		padding-bottom: .75rem;
		overflow-x: hidden;
	}

	.search-condition {
		/*background: var(--white);*/
		padding:
			/*1rem*/
			0 .75rem 0 .75rem;
	}

	.search-condition_inner {
		background: var(--white)
			/*--light-gray)*/
		;
		border-radius: .2rem .2rem 0 0;
		padding: .75rem .5rem;
		color: var(--black-ink);
		font-weight: 500;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
	}

	.search-condition_inner>span {
		display: inline-block;
		padding: .25rem .75rem .25rem 0;
		width: fit-content;
	}

	.search-condition_inner .material-symbols-outlined {
		margin-right: .2rem;
		color: var(--main-color);
	}

	@media screen and (max-width: 1024px) {
		.search-condition_inner .material-symbols-outlined {
			height: 1.5rem;
			width: 1.5rem;
		}

		.search-condition {
			overflow-x: hidden;
		}
	}

	.side-area .select-search-container:nth-child(4) {
		margin-bottom: 1rem;
		padding-bottom: 0;
	}

	.side-area.accordion_inner {
		background: transparent;
	}

	.side-area.search-window .select-normal {
		background: transparent;
		border: var(--main-color) solid 2px;
		position: relative;
		z-index: 1;
	}

	.side-area.search-window .button {
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
	}

	@media screen and (max-width: 1024px) {
		.accordion .accordion_inner {
			display: none;
		}
	}

	.accordion .accordion_inner .close-button,
	.accordion .accordion_header {
		display: flex;
		background: var(--pale-ink);
		width: 100%;
		font-weight: 700;
		padding: .5rem 0;
		font-size: 1rem;
		color: var(--white);
		justify-content: center;
		align-items: center;
		position: relative;
		transition-duration: 0.2s;
		border-radius: var(--radius-small);
	}

	.accordion .accordion_header {
		letter-spacing: .05rem;
		width: calc(100% - 1.5rem);
		margin-left: .75rem;
		margin-right: .75rem;
		font-size: 1rem;
		z-index: 1;
		background: var(--main-color);
		border-radius: 0 0 .2rem .2rem;
	}

	@media screen and (max-width: 1024px) {
		.accordion .accordion_header .material-symbols-outlined {
			height: 1.5rem;
			width: 1.5rem;
		}
	}

	.accordion_header,
	.close-button {
		-webkit-transform: scale(1);
		transform: scale(1);
		-webkit-transition: .2s ease-in-out;
		transition: .2s ease-in-out;
	}

	.accordion_header:active,
	.close-button:active {
		-webkit-transform: scale(0.975);
		transform: scale(0.975);
	}

	.program-container {
		position: relative;
		width: 100%;
		overflow-x: hidden;
	}

	.program-list {
		padding-left: .75rem;
		padding-right: 2.25rem;
	}
	.program-list.my-koza-kensaku {
		border-top: 1px solid var(--gray);
	}

	.program-list-title {
		flex-wrap: wrap;
	}

	.program-list-title ul,
	.program-list-check {
		width: 100%;
		text-align: left;
	}

	.program-list-title ul li {
		display: inline-block;
		font-size: .9rem;
		line-height: .9rem;
		padding: 0.4rem 0.65rem;
	}

	.program-list-title ul li:not(.list-format, .list-trial) {
		font-size: .95rem;
	}

	.program-list-title ul li:last-child {
		margin-right: 0;
	}

	.program-list-title ul {
		margin-bottom: -.35rem;
	}

	.program-text .list-professor:not(.program-01 .professor)::before,
	.program-text .list-time:not(.program-01 .list-time)::before,
	.program-text .list-time-date::before,
	.program-text .list-price::before,
	.program-text .list-classroom::before {
		color: var(--pale-ink);
	}

	.cart .list-format {
		font-size: .9rem;
		line-height: .9rem;
		margin-bottom: .35rem;
	}

	.highlight {
		padding: 1.75rem .75rem .75rem;
	}

	.search-window h2 {
		padding: 0 0.25rem 0 0;
	}

	.search-window.narrowing h2 {
		font-size: 1.1rem;
	}

	#side .search-window.narrowing h2 .material-symbols-outlined {
		vertical-align: sub;
		margin-right: 0.25rem;
		font-size: 1.35rem;
		width: 1.35rem;
		height: 1.35rem;
	}

	.search-window h2:first-of-type {
		margin-top: .25rem;
	}

	.search-window h2.h-inline {
		margin: 0;
		padding: 0 .25rem 0 0;
		display: inline-block;
	}

	.select-search-container {
		display: flex;
		align-items: center;
		padding: .5rem 0;
	}

	.side-area {
		padding-top: 1rem;
		padding-bottom: 0;
	}

	.search-window h2.h-inline {
		width: 6.5rem;
	}

	.select-search-container .side-content-container {
		width: calc(100% - 6.5rem);
		padding: 0;
		margin: 0;
	}

	.select-search-container .koza-main-content-container {
		width: calc(100% - 6.5rem);
		padding: 0;
		margin: 0;
	}
	
	.register-confirm tr {
		width: 100%;
	}

	#link-page-navi.fixed-navi ul {
		margin: .75rem;
		width: auto;
		overflow-x: scroll;
		scrollbar-width: none;
		flex-wrap: nowrap;
		padding-right: .5rem;
		padding-left: 0;
		border: var(--main-color) .25rem solid;
		box-sizing: border-box;
	}

	#link-page-navi.fixed-navi ul::-webkit-scrollbar {
		display: none;
	}

	#link-page-navi.fixed-navi li {
		min-width: 2.5rem;
		flex: 0 0 auto;
		margin: .25rem .5rem;
	}

	#link-page-navi a {
		padding: .5rem .75rem;
	}

	.faq-link {
		width: 100%;
		margin: .5rem 0;
	}

	.faq-link:first-child {
		margin-top: 0;
	}

	.faq-link:last-child {
		margin-bottom: 0;
	}

	.faq-link::before {
		content: '';
		top: 50%;
		transform: translateY(-50%);
	}

	.side-container.member-card {
		padding: .35rem 0 0 0;
	}

}

/* end @media screen and (max-width: 1024px) */

/* タブレット 記述順調整 */
@media (min-width: 600px) and (max-width: 1024px) {
	.side-container.member-card {
		padding: 0.75rem 0 0 0
	}

}

/* end @media (min-width: 600px) and (max-width: 1024px) */

/* PC */
@media screen and (min-width: 1025px) {

	/*a:hover {	opacity: .9; }*/
	.material-symbols-outlined {
		vertical-align: middle;
		margin-right: .35rem;
	}

	label.off-pc {
		display: none;
	}

	.overall #header {
		padding: 0;
		height: 4.5rem;
	}

	#wrapper.overall {
		margin-top: 4.5rem;
		scroll-padding-top: 4.5rem;
	}

	#wrapper.school, #wrapper {
		margin-top: 7rem;
	}

	/* 見出し */
	#news-top {
		padding: 1.5rem 0 1.5rem 0;
		background: var(--white);
	}

	#news-top h1 {
		padding: .5rem;
	}

	h1 {
		font-size: 2rem;
	}

	.top h1:not(#news-top h1, .title-left, .title-center, .modal-content h1) {
		font-size: 2rem;
		padding-bottom: 0;
	}

	#main h1, #cover h1 {
		padding: 1rem 0;
	}

	h1.title-left, h1.title-center:not(.h1-sns) {
		font-size: 1.75rem;
		padding-bottom: 1.75rem;
	}

	#side h1.title-left, h1.title-center:not(.h1-sns) {
		font-size: 1.4rem;
		padding-bottom: 1rem;
		padding-top: 0.5rem;
		font-weight: 700;
	}

	#side h1.title-left .material-symbols-outlined, h1.title-center .material-symbols-outlined {
		font-size: 1.75rem;
		height: 1.75rem;
		width: 1.75rem;
	}

	h1.title-left span, h1.title-center span,
	h1.title-left.inline-title span {
		font-size: 2rem;
		height: 2rem;
		width: 2rem;
	}

	#title h1, #title02 h1 {
		font-weight: 900;
	}

	#title h1+h2, #title h2 {
		font-size: 1.5rem;
	}

	#title h1:last-child,
	#title02 h1:last-child {
		/* padding-left: .5rem; */
		padding-top: 1rem;
		/*padding-bottom: .5rem;*/
	}

	#title02 {
		padding-top: 3rem;
	}

	#main.w75-pc #title h1:last-child {
		padding-left: 0;
		text-align: center;
	}

	h2 {
		font-size: 1.65rem;
	}

	.text-container h2 {
		padding-bottom: .85rem;
	}

	.text-container h2::after {
		margin: .85rem calc(100% - 3rem) 0 0;
	}

	.text-container h2 .material-symbols-outlined {
		vertical-align: bottom;
		font-size: inherit;
		speak: none;
	}

	.top h2:not(.modal-content h2) {
		font-size: 2rem;
		text-align: center;
		border: none;
		padding-left: 0;
		display: block;
	}

	/*.top h2:not(.modal-content h2)::after {
			content: '';
		display: block;
		height: 0.5rem;
		margin: 1.5rem auto 0;
	}*/
	.top h2:not(.modal-content h2)::before {
		vertical-align: bottom;
		font-size: 2.5rem;
		display: inline-block;
		position: relative;
		margin: 0 0.75rem 0 -0.75rem;
	}

	#side h2 {
		display: block;
		font-size: 1.1rem;
		margin-top: 1.25rem;
		margin-bottom: .5rem;
		padding-left: 0;
	}

	#side h2 .material-symbols-outlined {
		vertical-align: sub;
		margin-right: .35rem;
	}

	#news-top ul li {
		line-height: 1.4rem;
		font-size: 1.1rem;
		font-weight: 700;
	}

	#header, #cover h1 {
		width: calc(100% - 24px);
		/*max-width: 1280px;*/
		margin: 0 auto;
		height: fit-content;
	}

	#cover h1 {
		display: block;
		padding-top: 3rem;
	}

	.program-disc .program-title, .program-disc .contents-title {
		font-size: 1.4rem;
		line-height: 1.9rem;
	}

	.row-program .program-disc .program-title {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}

	.row-program.recommend-container .program-disc .program-title {
		font-size: 1.15rem;
		line-height: 1.7rem;
	}

	.recommend-container .list-professor::before,
	.recommend-container .list-time:not(.info_list .list-time)::before,
	.recommend-container .list-time-date::before,
	.recommend-container .list-price::before,
	.recommend-container .list-classroom::before {
		color: var(--pale-ink);
	}

	#search-btn {
		bottom: 6rem;
	}

	.button-arrow.button--small {
		padding-right: calc(var(--unit) * 4);
	}

	.register, .register-confirm {
		width: 85%;
		margin: auto;
		overflow: hidden;
	}

	/*.register-confirm { width: 90%; }*/
	.register-confirm .h-register,
	.register-confirm tr:first-of-type .h-register {
		padding: 2.5rem 0 2.5rem;
	}

	.register-box {
		margin: 0 1rem;
	}

	.register-select {
		margin: 0 0 0 1rem;
	}

	.register tr:first-of-type .h-register {
		padding: 1rem 0 1rem;
	}

	/*.register-confirm tr:nth-child(odd) {
	width: 30%;		
}*/
	/*.register-confirm tr:nth-child(even) {
	width: 70%;			
}*/
	.register-confirm tr {
		width: 100%;
		display: flex;
		align-items: center;
	}

	.register-confirm th {
		width: 37.5%;
	}

	.register-confirm td {
		width: 62.5%;
	}

	.register-confirm td, .message {
		font-size: 1.5rem;
	}

	.message-normal {
		font-size: 1.1rem;
	}

	.unit {
		font-size: 1rem;
	}

	.unit.flex-item-50text {
		text-align: right;
	}

	.radio {
		font-size: 1.1rem;
		padding: .75rem 0 .75rem 2.75rem;
	}

	/* section */
	section {
		padding: 3rem 0 3rem;
	}

	#content+section {
		padding: 1rem 0 6rem;
	}

	section#notice:not(.school section#notice) {
		padding: 1rem;
	}

	#mypage-menu {
		padding: 2rem 0;
	}

	section .inner:not(.search-window, #upward-container, .program-container, #banner-area .inner, .banner-sns-area .inner, #news-top .inner, #hashtag-container, .inner.inner-cancel-pc, #notice .inner, #side > .side-container > .inner, .text-container, .text-container .inner, #mypage .inner), section .link-tile, footer div {
		width: calc(100% - 24px);
		max-width: 1280px;
		margin: 0 auto;
		padding-right: 0;
		padding-left: 0;
		position: relative;
	}

	section#notice>.inner {
		width: calc(100% - 24px);
		margin: 0 auto;
		padding-right: 0;
		padding-left: 0;
		position: relative;
		max-width: 1024px;
	}

	/*section#banner-area { padding: 1.5rem 0; }*/
	.link-keyword-top {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

	section#side .inner {
		width: 100%;
	}

	section#main .inner:not(.program-container, #mypage .inner),
	.inner-program {
		width: 100%;
		padding: 2rem;
		border-radius: var(--radius-normal);
	}

	section#main.w75-pc .inner {
		padding: 1.5rem 2rem;
	}

	section#news-top .inner	{
		display: flex;
		align-items: center;
		width: 960px;
		max-width: 960px;
		margin: auto;
		padding: 1rem;
		height: 5rem;
		background-color: var(--white);
		border: 4px solid var(--main-color);
		border-radius: 10px;
	}

	section .link-tile,
	.top section .inner#hashtag-container {
		width: 960px;
		max-width: 960px;
		margin: auto;
	}

	section#side .inner#hashtag-container {
		width: 100%;
		max-width: 100%;
		padding-top: 2rem;
	}

	.link-tile a:first-of-type {
		margin: 0 0.5rem 0 0;
	}

	.link-tile a:last-of-type {
		margin: 0 0 0 0.5rem;
	}

	.link-tile a {
		width: calc(50% - .5rem);
	}

	#cover {
		padding-bottom: 4rem;
	}

	.select-container:not(.register-select .select-container), .select-container-half {
		width: 100%;
		margin: 0 0 .75rem 0;
	}

	.highlight {
		padding-left: .5rem;
	}

	#news {
		padding: 1.25rem 1.5rem 4.75rem 1.5rem;
	}

	#banner-area:not(#side #banner-area) {
		margin-top: 3rem;
	}

	/* パンくず */
	#bread {
		width: calc(100% - 24px);
		max-width: 1280px;
		margin: auto;
		padding: 1.25rem 0 1.25rem .25rem;
	}

	#bread ol li span {
		margin: .35rem;
	}

	/* ハッシュタグ */
	.hashtag {
		font-size: 1.1rem;
		padding: 0.35rem 0.75rem 0.35rem 1.5rem;
		margin: 0 1.5rem 1rem 0;
	}

	.hashtag:before {
		left: .55rem;
	}

	.top section .inner#hashtag-container {
		padding-top: 3.25rem;
	}

	/* topic */
	.slider-topic, .row-program {
		margin-left: auto;
		margin-right: auto;
		display: flex;
		flex-wrap: wrap;
	}

	.slider-topic {
		width: calc(100% - 24px);
		max-width: 1280px;
		/*gap: 2rem;*/
		margin-top: 3.5rem;
		margin-bottom: 0;
	}

	/* 講座 */
	.slider-program, .row-program {
		margin-left: auto;
		margin-right: auto;
		display: flex;
		flex-wrap: wrap;
	}

	.slider-program {
		width: calc(100% - 24px);
		max-width: 1280px;
		/*gap: 2rem;*/
		margin-top: 3.5rem;
		margin-bottom: 0;
	}

	.contents-attention {
		display: flex;
		flex-wrap: wrap;
		/*gap: 2rem;*/
	}

	.program-01 {
		margin-right: 0;
		margin-left: 0;
	}

	.slider-program>li, .contents-attention>li {
		width: calc(33.33% - 1.34rem);
		/*width: calc(25% - 1.34rem);*/
		margin: 0 0 3rem 1rem;
	}

	.slider-topic>li, .contents-attention>li {
		width: calc(16% - 0rem);
		margin: 0 0 3rem .5rem;
	}

	.row-program>li, .row-program>li:nth-child(odd) {
		/*width: calc(33.33% - 1rem);*/
		width: calc(25% - 1rem);
		margin: .25rem .75rem 2.25rem;
	}

	.row-program.recommend-container>li,
	.row-program.recommend-container>li:nth-child(odd),
	.row-program.recommend-container>li:nth-child(4n+1) {
		width: calc(20% - 1.2rem);
		margin: .25rem .75rem 1.75rem;
	}

	.contents-attention li:first-child, .contents-attention li:nth-child(4n+1),
	.row-program>li:first-child, .row-program>li:nth-child(4n+1),
	.row-program.recommend-container>li:first-child, .row-program.recommend-container>li:nth-child(5n+1) {
		margin-left: 0;
	}

	.contents-attention li:nth-child(4n),
	.row-program>li:nth-child(4n),
	.row-program.recommend-container>li:nth-child(6n), .row-program.recommend-container>li:last-child {
		margin-right: 0;
	}

	.program-02,
	.program-02 .program-disc,
	.program-02 .program-img {
		width: auto;
		height: auto;
	}

	.program-disc {
		padding: .75rem 1rem;
	}

	.top .program-disc {
		padding: 1rem 1.25rem 1.25rem;
	}

	.banner-container {
		margin-top: 2rem;
		padding-top: 2rem;
		padding-bottom: 0;
	}

	#side .banner-container {
		margin-top: 0;
		padding: 0 0 1rem;
	}

	.banner-sns-area .banner {
		margin-bottom: 0;
	}

	#banner-area .banner:not(#side #banner-area .banner),
	.banner-sns-area .inner .banner-container .banner {
		max-width: calc(33.33% - 0.75rem);
		margin-left: .5rem;
		margin-right: .5rem;
	}

	#banner-area .inner .banner:not(#side #banner-area .banner):first-of-type,
	.banner-sns-area .inner .banner-container .banner:first-of-type {
		margin-left: 0;
		margin-right: .5rem;
	}

	#banner-area .inner .banner:not(#side #banner-area .banner):last-of-type,
	.banner-sns-area .inner .banner-container .banner:last-of-type {
		margin-left: .5rem;
		margin-right: 0;
	}

	#recommend .inner:not(:first-of-type) {
		padding-top: 6rem;
	}

	/*.program-01 {
	overflow: hidden;
}*/

	.hover-mask {
		text-align: left;
		line-height: 1.67;
		font-weight: 500;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: rgba(87, 64, 54, .85);
		opacity: 0;
		color: #fff;
		display: flex;
		padding: 0 1.25rem 1.25rem 1.25rem;
		z-index: 2;
		overflow: hidden;
		border-radius: var(--radius-normal);
	}

	.hover-mask p {
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 10;
		-webkit-box-orient: vertical;
		white-space: break-spaces;
		height: 17rem;
		font-weight: 300;
	}

	.row-program .hover-mask {
		line-height: 1.6;
	}

	.row-program .hover-mask p {
		font-size: .95rem;
		display: -webkit-box;
		-webkit-line-clamp: 9;
		-webkit-box-orient: vertical;
		white-space: break-spaces;
		height: 13.75rem;
	}

	.row-program .hover-mask p {
		-webkit-line-clamp: 8;
		height: 12.2rem;
	}

	.text-container .row-program.recommend-container .hover-mask p {
		line-height: 1.5rem;
	}

	.hover-mask span {
		position: absolute;
		padding: .5rem 1.75rem;
		font-weight: 700;
		border: 2px solid var(--white);
		color: var(--white);
		background: rgba(96, 74, 64, 1);
		border-radius: var(--radius-normal);
		bottom: 2.5rem;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		width: calc(100% - 2.5rem);
	}

	.hover-mask:hover {
		opacity: 1;
		transition: all 0.3s ease;
		padding-top: 1.25rem;
	}

	.hover-mask:hover span {
		bottom: 1.25rem;
		transition: all 0.3s ease;
	}

	.top .disc-list-container li.list-time {
		font-size: 1.2rem;
		line-height: 1.75rem;
		overflow: visible;
	}
	.top .disc-list-container li.list-time .my-topic {
		font-size: 1.2rem;
		line-height: 1.75rem;
		overflow: hidden !important;
	}

	#link-page-navi ul li a:hover {
		opacity: .75;
	}


	/* sns */
	.school section.banner-sns-area {
		padding: 4rem 0;
	}

	.banner-sns-area .sns {
		margin: 1.5rem 33.33% 0;
	}

	.banner-sns-area .sns a {
		max-width: 60px;
	}

	/* 講座詳細 */
	#content {
		width: calc(100% - 24px);
		max-width: 1280px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		position: relative;
	}


	#main {
		width: 72.5%;
		padding-top: 0;
		padding-bottom: 0;
	}

	#side {
		background: transparent;
		width: 27.5%;
		right: 0;
		touch-action: none;
		padding: 0 0 0 2rem;
	}

	#mypage #main {
		max-width: 100%;
	}

	#side.side-left {
		padding: 0 2rem 0 0;
	}

	.side-container {
		position: sticky;
		top: 2rem;
	}

	#side .info_list-container {
		padding: 0;
	}

	#side .member-card {
		width: 100%;
	}

	#side .member-card.modal-content {
		width: calc(100% - 3rem);
		max-width: 50rem;
	}

	.info_list-container .sns {
		margin-top: 1rem;
	}

	#detail {
		width: 75%;
	}

	.slider-image .slick-list {
		border-radius: var(--radius-normal);
	}

	.show_more {
		width: 100%;
		left: 0;
		bottom: -.75rem;
	}

	#program-table,
	.program-table {
		margin: 0 0 2.5rem 0;
		width: 100%;
	}
	.program-moshikomi-table {
		margin: 0 0 0.5rem 0;
		width: 100%;
	}

	#program-table th,
	.program-table th {
		width: 27.5%;
	}

	.course01, .course02, .course03, .taiken01 {
		font-size: 1rem;
		vertical-align: bottom;
	}
	.taiken01 {
		font-size: .9rem;
	}

	/* マイページ */
	.member-card {
		margin: -7.5rem auto 0;
	}

	.program-list-tmb {
		flex-basis: 20%;
		margin-right: 1.5rem;
		padding-top: calc(20% - .3rem);
	}

	.program-text {
		flex-basis: 80%;
	}

	.tmb-small+.program-text {
		flex-basis: 85%;
	}


	/* 講座検索 */
	.side-content-container {
		padding: 0.25rem 0;
	}

	.checkbox-normal {
		padding: .25rem 0 1rem;
	}

	.side-content-container.checkbox-inline .checkbox-normal {
		padding: 0.25rem 1.2rem 1rem 0;
	}

	.checkbox-normal_labeltext {
		font-size: .95rem;
	}

	.side-content-container {
		margin-top: 0;
		margin-bottom: 1.5rem;
	}

	.narrowing .side-content-container {
		margin-bottom: 1.5rem;
	}

	.koza-main-content-container {
		padding: 0.25rem 0;
	}

	.koza-main-content-container.checkbox-inline .checkbox-normal {
		padding: 0.25rem 1.2rem 1rem 0;
	}

	.koza-main-content-container {
		margin-top: 0;
		margin-bottom: 0rem;
	}

	.narrowing .koza-main-content-container {
		margin-bottom: 0rem;
	}

	.search-window h2,
	.info_list h2 {
		color: var(--light-ink);
	}

	.program-text .list-professor::before,
	.program-text .list-time::before,
	.program-text .list-time-date::before,
	.program-text .list-price::before {
		color: var(--main-color);
	}

	.program-list {
		border-radius: var(--radius-normal);
		box-shadow: var(--shadow-normal);
		padding: calc(1rem - 4px) 2.75rem 1.25rem 1.75rem;
		border-top: 4px solid var(--gray);
		margin: 1rem 0;
	}
	.program-list.my-koza-kensaku{
		border-left: 1px solid var(--gray);
		border-right: 1px solid var(--gray);
		border-bottom: 1px solid var(--gray);
	}

	#my-schedule .program-list {
		border-top: none;
		box-shadow: none;
	}

	.program-list-tmb img {
		border-radius: var(--radius-normal);
	}

	.program-list-tmb.tmb-small img {
		border-radius: var(--radius-normal);
	}

	.cart .program-list,
	.entry .program-list,
	#my-schedule .program-list {
		padding: 1rem 2.75rem 1.75rem 1.75rem;
		border-top: none;
	}

	.program-list::before {
		right: .125rem;
	}

	.program-list:hover {
		box-shadow: none;
	}

	.program-list-info {
		margin-top: .5rem;
	}

	.program-list-title {
		flex-direction: row-reverse;
		align-items: center;
	}

	.program-list-title>ul {
		width: fit-content;
		margin-top: .5rem;
	}

	.program-list h2 {
		font-size: 1.65rem;
		line-height: 2.25rem;
		margin-top: .75rem;
		margin-bottom: .75rem;
		position: relative;
		padding-right: .75rem;
	}

	.program-list-title ul li {
		margin-right: .5rem;
		margin-left: auto;
		display: inline-block;
		width: fit-content;
		font-size: .85rem;
	}

	.program-list-title>ul li:not(.list-format, .list-trial) {
		display: block;
		padding: 0 0 0 1.8rem;
		margin-right: 0.25rem;
		margin-left: auto;
		font-size: 1rem;
	}

	.program-list-title ul li.container {
		padding: .25rem;
	}

	.program-list-title ul li:not(.list-format, .list-trial)::before {
		font-size: 1.1rem;
	}

	.program-list-title ul li:last-child {
		margin-right: 0;
	}

	.program-list .material-symbols-outlined {
		right: .5rem;
	}

	.cart .program-list,
	.entry .program-list {
		padding: 1.5rem 2rem;
		box-shadow: none;
	}

	.cart .program-list-info h2,
	.entry .program-list-info h2 {
		margin-bottom: 1.25rem;
	}

	.cart .program-list:hover,
	#my-schedule .program-list:hover {
		opacity: 1;
	}

	.cart .program-list-title .entry .program-list-title {
		flex-direction: row;
	}

	.cart .program-text .list-price,
	.entry .program-text .list-price {
		font-size: 2rem;
	}

	.cart-caution {
		font-size: 1rem;
		padding: 1rem;
		border: solid 2px var(--ink);
		border-radius: var(--radius-normal);
	}

	.side-area, .info_list {
		border-radius: var(--radius-normal);
		padding: 1rem 1.35rem;
	}

	.side-area {
		padding: .05rem 1.35rem;
	}

	.search-window .button .material-symbols-outlined {
		vertical-align: sub;
	}

	/* ページ内リンク */
	.main-container.fixed-page {
		margin-top: 16rem;
	}

	.main-container h2.link-page-navi-point[id]::before {
		content: "";
		display: block;
		height: 10rem;
		margin-top: -10rem;
		visibility: hidden,
	}

	.main-container.fixed-page h2.link-page-navi-point[id]::before {
		content: "";
		height: 11.5rem;
		margin-top: -11.5rem;
	}

	.only-line .accordion+h2,
	.only-line .button+h2,
	.only-line p+h2, .only-line span+h2,
	.only-line ul+h2,
	.only-line figure+h2 {
		margin-top: 2.75rem;
	}

	.accordion .accordion_header.faq-q {
		margin: .75rem 0 1rem;
		font-size: 1.1rem;
		padding: 1rem 4.25rem 1rem .75rem;
	}

	.icon_open-close {
		right: 0.5rem;
	}

	.faq-q span, .faq-a span {
		margin-right: 0.75rem;
	}

	.accordion .faq-a {
		padding-bottom: 1rem;
	}

	.faq-a p {
		text-indent: 0.85rem;
	}



	/* footer PC*/
	.copyright {
		background: var(--main-color);
		color: var(--white);
	}

	.footer {
		max-width: 1280px;
		display: flex;
		padding-left: 0;
		padding-right: 0;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.footer div {
		flex-basis: 100%; /* 1列 */
		padding: 1rem 1rem 1rem 1rem;
	}
	.footer .footer-area-linka div{
		flex-basis: calc(33.333% - 1rem); /* 3列 */
		padding: 1rem 1rem 1rem 1rem;
		justify-content: flex-start;
		max-width: 33%;
	}
	.footer .footer-area-linkb{
		padding: 1rem 1rem 1rem 1rem;
	}

	.footer div h3 {
		flex-basis: 100%;
		margin-bottom: 1rem;
	}

	footer span {
		width: 100%;
	}

	.footer .footer-area-linkb a {
		padding: 0.5rem 0 1rem 1rem;
		flex-basis: calc(33.333% - 1rem); /* 3列 */
		font-size: 1.15rem;
		font-weight: 500;
		line-height: 1.5rem;
	}
	.kyoten-footer-area-linka {
		flex-basis: 100%; /* 1列 */
		padding: 1rem 1rem 1rem 1rem;
		justify-content: flex-start;
	}

}

/* end @media screen and (min-width: 1025px) */

@media screen and (min-width: 1042px) {
	.slider-program li:first-child, .slider-program li:nth-child(3n+1) {
		margin-left: 0;
	}

	.slider-topic li:first-child, .slider-topic li:nth-child(6n+1) {
		margin-left: 0;
	}
}

@media screen and (max-width: 1041px) {
	.program-01, .program-02 {
		margin-right: .25rem;
		margin-left: .75rem;
	}
}

/* 特別 */
.bg-input {
	background: var(--pale-gray) !important;
}

.caution {
	color: var(--red);
	font-weight: 700;
}

.annotation, .annotation-upper {
	width: 100%;
	margin: .5rem 0 0 .5rem;
	color: var(--main-color);
	font-weight: 500;
	white-space: pre-wrap;
	font-size: .95rem;
	line-height: 1.65;
}

.annotation-upper {
	margin: 0 0 .5rem .5rem;
}

@media screen and (min-width: 1025px) {
	.annotation {
		margin: .5rem 1rem 0 1rem;
	}

	.annotation-upper {
		margin: 0 1rem .5rem 1rem;
	}
}

@media screen and (max-width: 1024px) {
	.flex-item-33field.radio {
		flex-basis: 33.33%;
	}
}

/* 調整 */
@media screen and (max-width: 1024px) {
	.tel, .tel>span.tel {
		color: var(--main-color)
	}

	.inner-sp+.select-search-container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.hours {
		padding: 0 .5rem;
	}

	.text-container .page_txt:last-child {
		padding-bottom: 1.5rem;
	}

	section#side .inner#hashtag-container {
		padding-top: 2rem;
	}
}

@media screen and (min-width: 1025px) {
	.school .my-logout-button {
		margin: 0 0 0 1.75rem !important;
	}

	.overall .menu li:last-child {
		align-items: center;
	}

	.top .list-time span {
		padding: .1rem .3rem 0.2rem;
	}

	.hours {
		white-space: nowrap;
	}
}

nav .my-logout-button.my-sp {
	margin-bottom: 2rem !important;
}

button.my-button-gray,
.button.my-button-gray {
	box-shadow: none;
	-webkit-transform: none;
	transform: none;
}

button.my-button-gray:active,
.button.my-button-gray:active {
	-webkit-transform: none;
	transform: none;
}

.slider-image p {
	padding: 0.2rem;
	font-size: .95rem;
}

.sns-feature p {
	margin-bottom: 0 !important;
}

#news:not(.school #news) {
	background: var(--white);
}

.news-headline:not(.school .news-headline) {
	border-color: var(--pale-gray);
}

.top .list-time span {
	margin: 0 .3rem 0 .15rem;
}

.category {
	margin-bottom: 0.5rem;
	margin-top: .25rem;
}

.category+.category {
	margin-bottom: 0;
}

.category span {
	margin: 0 .35rem 0 0;
}

.category span:not(.format span) {
	margin-top: 0;
}

.category+.category span {
	margin-bottom: .5rem;
}

.my-koza-label .list-format {
	margin-bottom: 0;
	margin-top: 0.5rem;
	margin-right: .25rem;
	color: var(--white) !important;
	font-size: 0.85rem !important;
	border-radius: var(--radius-large);
}

.pagination a {
	color: var(--main-color);
}

#notice .absolute-right {
	width: auto !important;
	white-space: nowrap;
}

@media (min-width: 782px) and (max-width: 1024px) {
	.program-list-tmb {
		flex-basis: 17.5%;
		margin-right: 1.5rem;
		padding-top: 17.5%;
	}
}

/* color */
.ink {
	color: var(--ink);
}

.pale-ink {
	color: var(--pale-ink);
}

.light-ink {
	color: var(--light-ink);
}

.black-ink {
	color: var(--black-ink) !important;
}

.dark-green {
	color: var(--main-color) !important;
}

.white {
	color: var(--white);
}

.red, .coution {
	color: var(--red);
}

.light-red {
	color: var(--light-red);
}

.bg-main-green {
	background: var(--main-color) !important;
}

.bg-dark-green {
	background: var(--main-color) !important;
}

.bg-light-green {
	background: var(--main-color) !important;
}

.bg-dark-brown {
	background: var(--main-color) !important;
}

.bg-light-brown {
	background: var(--light-brown) !important;
}

.bg-school01, .school01 .program-01 .area-name {
	background: var(--main-color) !important;
	color: var(--white) !important;
}

.bg-school02, .school02 .program-01 .area-name {
	background: var(--cobalt-set) !important;
	color: var(--white) !important;
}

.bg-school03, .school03 .program-01 .area-name {
	background: var(--earth-set) !important;
	color: var(--white) !important;
}

.bg-school04, .school04 .program-01 .area-name {
	background: var(--light-green-set) !important;
	color: var(--white) !important;
}

.bg-school05, .school05 .program-01 .area-name {
	background: var(--gold-set) !important;
	color: var(--white) !important;
}

.bg-school06, .school06 .program-01 .area-name {
	background: var(--pink-set) !important;
	color: var(--white) !important;
}

.bg-school07, .school07 .program-01 .area-name {
	background: var(--marine-set) !important;
	color: var(--white) !important;
}

.bg-school08, .school08 .program-01 .area-name {
	background: var(--red-set) !important;
	color: var(--white) !important;
}

.bg-school09, .school09 .program-01 .area-name {
	background: var(--violet-set) !important;
	color: var(--white) !important;
}

.bg-school10, .school10 .program-01 .area-name {
	background: var(--blue-set) !important;
	color: var(--white) !important;
}

.bg-school11, .school11 .program-01 .area-name {
	background: var(--orange-set) !important;
	color: var(--white) !important;
}

.bg-school00, .bg-school12,
.school00 .program-01 .area-name, .school12 .program-01 .area-name {
	background: var(--dark-green-set) !important;
	color: var(--white) !important;
}

.text-school01 {
	color: var(--main-color) !important;
	border-color: var(--main-color) !important;
}

.text-school02 {
	color: var(--cobalt-set) !important;
	border-color: var(--cobalt-set) !important;
}

.text-school03 {
	color: var(--earth-set) !important;
	border-color: var(--earth-set) !important;
}

.text-school04 {
	color: var(--light-green-set) !important;
	border-color: var(--light-green-set) !important;
}

.text-school05 {
	color: var(--gold-set) !important;
	border-color: var(--gold-set) !important;
}

.text-school06 {
	color: var(--pink-set) !important;
	border-color: var(--pink-set) !important;
}

.text-school07 {
	color: var(--marine-set) !important;
	border-color: var(--marine-set) !important;
}

.text-school08 {
	color: var(--red-set) !important;
	border-color: var(--red-set) !important;
}

.text-school09 {
	color: var(--violet-set) !important;
	border-color: var(--violet-set) !important;
}

.text-school10 {
	color: var(--blue-set) !important;
	border-color: var(--blue-set) !important;
}

.text-school11 {
	color: var(--orange-set) !important;
	border-color: var(--orange-set) !important;
}

.text-school00, .text-school12 {
	color: var(--dark-green-set) !important;
	border-color: var(--dark-green-set) !important;
}

.text-light-green {
	color: var(--main-color) !important;
	border-color: var(--main-color) !important;
}

.text-light-brown {
	color: var(--light-brown) !important;
	border-color: var(--light-brown) !important;
}

@media screen and (max-width: 1024px) {
	.bg-school01-sp {
		background: var(--main-color) !important;
		color: var(--white) !important;
	}

	.bg-school02-sp {
		background: var(--cobalt-set) !important;
		color: var(--white) !important;
	}

	.bg-school03-sp {
		background: var(--earth-set) !important;
		color: var(--white) !important;
	}

	.bg-school04-sp {
		background: var(--light-green-set) !important;
		color: var(--white) !important;
	}

	.bg-school05-sp {
		background: var(--gold-set) !important;
		color: var(--white) !important;
	}

	.bg-school06-sp {
		background: var(--pink-set) !important;
		color: var(--white) !important;
	}

	.bg-school07-sp {
		background: var(--marine-set) !important;
		color: var(--white) !important;
	}

	.bg-school08-sp {
		background: var(--red-set) !important;
		color: var(--white) !important;
	}

	.bg-school09-sp {
		background: var(--violet-set) !important;
		color: var(--white) !important;
	}

	.bg-school10-sp {
		background: var(--blue-set) !important;
		color: var(--white) !important;
	}

	.bg-school11-sp {
		background: var(--orange-set) !important;
		color: var(--white) !important;
	}

	.bg-school12-sp {
		background: var(--dark-green-set) !important;
		color: var(--white) !important;
	}

	.bg-school00-sp {
		background: var(--dark-green-set) !important;
		color: var(--white) !important;
	}
}

@media screen and (min-width: 1025px) {
	.bg-white-pc {
		background: var(--white);
	}

	.text-school01-pc {
		color: var(--main-color) !important;
		border-color: var(--main-color) !important;
	}

	.text-school02-pc {
		color: var(--cobalt-set) !important;
		border-color: var(--cobalt-set) !important;
	}

	.text-school03-pc {
		color: var(--earth-set) !important;
		border-color: var(--earth-set) !important;
	}

	.text-school04-pc {
		color: var(--light-green-set) !important;
		border-color: var(--light-green-set) !important;
	}

	.text-school05-pc {
		color: var(--gold-set) !important;
		border-color: var(--gold-set) !important;
	}

	.text-school06-pc {
		color: var(--pink-set) !important;
		border-color: var(--pink-set) !important;
	}

	.text-school07-pc {
		color: var(--marine-set) !important;
		border-color: var(--marine-set) !important;
	}

	.text-school08-pc {
		color: var(--red-set) !important;
		border-color: var(--red-set) !important;
	}

	.text-school09-pc {
		color: var(--violet-set) !important;
		border-color: var(--violet-set) !important;
	}

	.text-school10-pc {
		color: var(--blue-set) !important;
		border-color: var(--blue-set) !important;
	}

	.text-school11-pc {
		color: var(--orange-set) !important;
		border-color: var(--orange-set) !important;
	}

	.text-school12-pc {
		color: var(--dark-green-set) !important;
		border-color: var(--dark-green-set) !important;
	}

	.text-school00-pc {
		color: var(--dark-green-set) !important;
		border-color: var(--dark-green-set) !important;
	}
}

/* font-size */
.font-size10 {
	font-size: 1rem;
}

.font-size15 {
	font-size: 1.5rem;
}
.my-font-size10 {
	font-size: 1rem;
}

.icon-text-cancel {
	font-size: 0;
}

/* font-weight */
.weight900 {
	font-weight: 900;
}

.weight700 {
	font-weight: 700;
}
.my-weight400 {
	font-weight: 400;
}

/* wide */
.w100, .w75, .w50, .w40, .w33 {
	display: block;
	position: relative;
	margin: auto !important;
}

.w100 {
	width: 100% !important;
}

.w75 {
	width: 75% !important;
}

.w725 {
	width: 72.5% !important;
}

.w50, .w-half {
	width: 50% !important;
}

.w40 {
	width: 40% !important;
}

.w33, .w-1third {
	width: 33.33% !important;
}

.my-w100 {
	width: 100%;
}

@media screen and (min-width: 1025px) {
	.w100-pc, .w75-pc, .w50-pc, .w33-pc {
		display: block;
		position: relative;
		margin: auto !important;
	}
	.w50-pc.my-w50-pc {
		margin: 0 !important;
	}

	.w100-pc {
		width: 100% !important;
	}

	.w75-pc {
		width: 75% !important;
	}

	.w725-pc {
		width: 72.5% !important;
	}

	.w50-pc {
		width: 50% !important;
	}

	.w33-pc {
		width: 33.33% !important;
	}
}

/* align */
.center {
	text-align: center;
}

.right {
	text-align: right;
}

.left {
	text-align: left;
}

.absolute-right {
	position: absolute;
	right: .75rem;
	display: inline-block;
}

.block-right {
	margin-right: 0;
	margin-left: auto;
}

.list-item-block {
	display: block !important;
}

/* margin */
.mar10 {
	margin: 1rem !important;
}

.mar15 {
	margin: 1.5rem !important;
}

.mar20 {
	margin: 2rem !important;
}

.mar30 {
	margin: 3rem !important;
}

.mar025 {
	margin: 0.25rem !important;
}

.mar05 {
	margin: 0.5rem !important;
}

.mar075 {
	margin: 0.75rem !important;
}

.marY10 {
	margin-top: 1rem !important;
	margin-bottom: 1rem !important;
}

.marY15 {
	margin-top: 1.5rem !important;
	margin-bottom: 1.5rem !important;
}

.marY20 {
	margin-top: 2rem !important;
	margin-bottom: 2rem !important;
}

.marY25 {
	margin-top: 2.5rem !important;
	margin-bottom: 2.5rem !important;
}

.marY30 {
	margin-top: 3rem !important;
	margin-bottom: 3rem !important;
}

.marY025 {
	margin-top: 0.25rem !important;
	margin-bottom: 0.25rem !important;
}

.marY05 {
	margin-top: 0.5rem !important;
	margin-bottom: 0.5rem !important;
}

.marY075 {
	margin-top: 0.75rem !important;
	margin-bottom: 0.75rem !important;
}

.marX10 {
	margin-left: 1rem !important;
	margin-right: 1rem !important;
}

.marX15 {
	margin-left: 1.5rem !important;
	margin-right: 1.5rem !important;
}

.marX20 {
	margin-left: 2rem !important;
	margin-right: 2rem !important;
}

.marX30 {
	margin-left: 3rem !important;
	margin-right: 3rem !important;
}

.marX025 {
	margin-left: 0.25rem !important;
	margin-right: 0.25rem !important;
}

.marX05 {
	margin-left: 0.5rem !important;
	margin-right: 0.5rem !important;
}

.marX075 {
	margin-left: 0.75rem !important;
	margin-right: 0.75rem !important;
}

.marT10 {
	margin-top: 1rem !important;
}

.marT15 {
	margin-top: 1.5rem !important;
}

.marT20 {
	margin-top: 2rem !important;
}

.marT30 {
	margin-top: 3rem !important;
}

.marT025 {
	margin-top: 0.25rem !important;
}

.marT05 {
	margin-top: 0.5rem !important;
}

.marT075 {
	margin-top: 0.75rem !important;
}

.marB10 {
	margin-bottom: 1rem !important;
}

.marB15 {
	margin-bottom: 1.5rem !important;
}

.marB20 {
	margin-bottom: 2rem !important;
}

.marB30 {
	margin-bottom: 3rem !important;
}

.marB025 {
	margin-bottom: 0.25rem !important;
}

.marB05 {
	margin-bottom: 0.5rem !important;
}

.marB075 {
	margin-bottom: 0.75rem !important;
}

.marL10 {
	margin-left: 1rem !important;
}

.marL15 {
	margin-left: 1.5rem !important;
}

.marL20 {
	margin-left: 2rem !important;
}

.marL025 {
	margin-left: 0.25rem !important;
}

.marL05 {
	margin-left: 0.5rem !important;
}

.marL075 {
	margin-left: 0.75rem !important;
}

.marR10 {
	margin-right: 1rem !important;
}

.marR15 {
	margin-right: 1.5rem !important;
}

.marR20 {
	margin-right: 2.0rem !important;
}

.marR025 {
	margin-right: 0.25rem !important;
}

.marR05 {
	margin-right: 0.5rem !important;
}

.marR075 {
	margin-right: 0.75rem !important;
}

/* padding */
.pad10 {
	padding: 1rem !important;
}

.pad15 {
	padding: 1.5rem !important;
}

.pad025 {
	padding: 0.25rem !important;
}

.pad05 {
	padding: 0.5rem !important;
}

.pad075 {
	padding: 0.75rem !important;
}

.padY10 {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

.padY15 {
	padding-top: 1.5rem !important;
	padding-bottom: 1.5rem !important;
}

.padY20 {
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
}

.padY30 {
	padding-top: 3rem !important;
	padding-bottom: 2rem !important;
}

.padY025 {
	padding-top: 0.25rem !important;
	padding-bottom: 0.25rem !important;
}

.padY05 {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

.padY075 {
	padding-top: 0.75rem !important;
	padding-bottom: 0.75rem !important;
}

.padX10 {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

.padX15 {
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
}

.padX025 {
	padding-left: 0.25rem !important;
	padding-right: 0.25rem !important;
}

.padX05 {
	padding-left: 0.5rem !important;
	padding-right: 0.5rem !important;
}

.padX075 {
	padding-left: 0.75rem !important;
	padding-right: 0.75rem !important;
}

.padT10 {
	padding-top: 1rem !important;
}

.padT15 {
	padding-top: 1.5rem !important;
}

.padT20 {
	padding-top: 2rem !important;
}

.padT25 {
	padding-top: 2.5rem !important;
}

.padT30 {
	padding-top: 3rem !important;
}

.padT025 {
	padding-top: 0.25rem !important;
}

.padT05 {
	padding-top: 0.5rem !important;
}

.padT075 {
	padding-top: 0.75rem !important;
}

.padB10 {
	padding-bottom: 1rem !important;
}

.padB15 {
	padding-bottom: 1.5rem !important;
}

.padB20 {
	padding-bottom: 2rem !important;
}

.padB025 {
	padding-bottom: 0.25rem !important;
}

.padB05 {
	padding-bottom: 0.5rem !important;
}

.padB075 {
	padding-bottom: 0.75rem !important;
}

.padL10 {
	padding-left: 1rem !important;
}

.padL15 {
	padding-left: 1.5rem !important;
}

.padL025 {
	padding-left: 0.25rem !important;
}

.padL05 {
	padding-left: 0.5rem !important;
}

.padL075 {
	padding-left: 0.75rem !important;
}

.padR10 {
	padding-right: 1rem !important;
}

.padR15 {
	padding-right: 1.5rem !important;
}

.padR025 {
	padding-right: 0.25rem !important;
}

.padR05 {
	padding-right: 0.5rem !important;
}

.padR075 {
	padding-right: 0.75rem !important;
}

@media screen and (max-width: 1024px) {
	.marX075-sp {
		margin-left: 0.75rem !important;
		margin-right: 0.75rem !important;
	}
}

@media screen and (min-width: 1025px) {
	.marY15-pc {
		margin-top: 1.5rem !important;
		margin-bottom: 1.5rem !important;
	}

	.marY20-pc {
		margin-top: 2rem !important;
		margin-bottom: 2rem !important;
	}

	.marT20-pc {
		margin-top: 2rem !important;
	}

	.marL15-pc {
		margin-left: 1.5rem !important;
	}

	.marR15-pc {
		margin-right: 1.5rem !important;
	}
}

/* flex-item */
.flex-container {
	display: flex;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-item {
	margin-left: 1rem;
	margin-right: 0;
	word-break: break-all;
}

.flex-reverse {
	flex-direction: row-reverse;
}

/*.flex-item:first-of-type { margin-left: 0; }*/
.flex-item-100field {
	flex-basis: 100%;
}

.flex-item-50text {
	flex-basis: 2.5rem;
}

.flex-item-50field {
	flex-basis: calc(50% - 2.5rem);
}

.flex-item-40text {
	flex-basis: 2rem;
}

.flex-item-40field {
	flex-basis: calc(40% - 2rem);
}

.flex-item-33text {
	flex-basis: 2rem;
}

.flex-item-33field {
	flex-basis: calc(33.33% - 1rem);
}

.flex-item-30text {
	flex-basis: 2rem;
}

.flex-item-30field {
	flex-basis: calc(30% - 2rem);
}

.flex-item-4field {
	flex-basis: 5.5rem;
}

.flex-item-nenrei{
	flex-basis: 10rem;
	background-color: #f0f0f0;
	cursor: default;
	pointer-events: none;
}

.align-item-center {
	align-items: center !important;
}

.justify-content-center {
	justify-content: center !important;
}

.justify-content-start {
	justify-content: flex-start !important;
}

/* cancel */
.cancel-sticky {
	position: relative !important;
	top: 0;
}

.frame-white, .frame-light-brown {
	border-radius: var(--radius-normal);
	border: solid 2px var(--white);
}

.frame-light-brown {
	border: solid 2px var(--light-brown);
}

@media screen and (max-width: 1024px) {
	.off-sp {
		display: none !important;
	}

	html {
	  font-size: 16px !important;
	}

	.pad_cancel-sp {
		padding-top: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.inner-sp {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	#main>.inner-sp {
		padding-bottom: 2rem;
	}
	
	.search-koza-kyoten-top-form-group {
		display: flex;
		align-items: flex-start;
		margin-bottom: 10px;
		flex-direction: column;
	}
	.search-koza-kyoten-top-form-group h4{
		width: 100%;
		font-size: 1.2rem;
	}
	.search-koza-kyoten-top-form-group div{
		width: 100%;
	}
}

@media screen and (min-width: 1025px) {
	.off-pc {
		display: none !important;
	}

	.pad_cancel-pc {
		padding: 0 !important;
	}

	.inner-sp:not(.credit-card) {
		padding-bottom: 1.5rem;
	}
}

.pad_cancel {
	padding: 0 !important;
}
/*文字サイズ変更ボタン */
#textsize-size-change {
/*	background: #fff;*/
	border-radius: 0px 0px 5px 5px;
	display: flex;
	align-items: center;
	padding: 10px 15px;	
	right: 0px;	
	top: 0px;
}

#textsize-size-change p {
	margin: 0;
	margin-right: 10px;
	font-size: 0.85rem;
}

#textsize-size-change ul {
	list-style: none;margin: 0;padding: 0;
	display: flex;
	align-items: center;
}

#textsize-size-change ul li#textsize-small::before {
	display: block;
	content: "A";
	font-size: 14px;
	width: 28px;
	line-height: 28px;
	text-align: center;
	background: #eee;
}

#textsize-size-change ul li#textsize-small {
	margin-right: 5px;
}

#textsize-size-change ul li#textsize-large::before {
	display: block;
	content: "A";
	font-size: 20px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	background: #eee;	
}

#textsize-size-change li#textsize-large.current::before,
#textsize-size-change li#textsize-small.current::before {
	background: var(--main-color);
	color: #fff;
}

#textsize-size-change li {
	cursor: pointer;
}
/*ヘッダー背景色*/
.header-kyoten-top-bc {
  background-color: #DAEEF3;
}

.programs-sub-title{
	margin-bottom: -.25rem;
}
.programs-title {
	padding: 0 !important;
}
.programs-sub-title2{
	margin-top: -.25rem;
}
.kozaShosai_sns {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
.kozaShosai_sns_item {
	margin-top:20px;
	padding: 6px 12px;
}

.program-table-span {
	padding-left: .75rem;
	line-height: 1.1rem;
	border-left: solid .4rem var(--gray);
	display: inline-block;
	height: 1.1rem;
}

.koushi-shokai-container {
	display: flex;
	gap: 1.5rem;              /* 画像とテキストの間隔 */
}

.koshi-picture {
	  flex: 0 0 160px;           /* 固定幅（必要に応じて調整） */
 }
/*.koshi-profile {*/
/*	display: flex;*/
/*	flex-direction: column;  縦並び */
/*	justify-content: flex-start;  上詰め */
/*}*/
 
.koshi-name {
	text-decoration: underline;
	text-underline-offset: .3rem;
	margin-top: 0.5rem;
	margin-bottom: .5rem;
}

/* 会員証 */
.kaiin-info {
  display: flex;
  align-items: stretch;
  margin: 20px 40px 20px 40px;
  border-radius: 18px;
  border: 4px solid var(--main-color);
  flex-direction: column;
  gap: 10px;
  padding: 13px 30px 28px;
  background: linear-gradient(to bottom, var(--main-color) 52px, transparent  52px);
}
.kaiin-info-hikaiin {
  border: 4px solid rgb(192, 192, 192);
  background: linear-gradient(to bottom, rgb(192, 192, 192) 52px, transparent  52px);
}
.kaiin-info .kaiin-info-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
}
.kaiin-info-header {
  margin: 0px 0px 20px 0px;
}

.kaiine-info .kaiin-info-header p {
  font-weight: 700;
  line-height: 1;
}
.kaiin-info .kaiin-info-header p span {
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.2;
  font-size: 1.4rem;
}
.kaiin-info .kaiin-info-qrcode,
.kaiin-info .kaiin-info-barcode {
  background-color: #FFFFFF;
  padding: 38px 20px 20px 20px;
}
.kaiin-info-message{
  margin: 10px 0px 10px 0px;
}
.kaiine-info .kaiin-info-message p {
  font-weight: 700;
  line-height: 1;
}
.kaiin-info .kaiin-info-message p span {
  font-weight: 700;
  line-height: 1.2;
  font-size: 1.2rem;
}
@media screen and (max-width: 380px) {
	.kaiin-info .kaiin-info-message p span {
	  font-size:1rem;
	  white-space: nowrap;
	}
}

/*特集*/
@media screen and (min-width: 1025px){
	.row-program-all {
		margin: .25rem .75rem 2.25rem !important;
	}
	.row-program-left {
		margin-left: 0 !important;
	}
	.row-program-right {
		margin-right: 0 !important;
	}
}

/* =========================================
 * 特集本文用スタイル
 * ========================================= */
.tokushu-content {
	margin: 40px auto 0;
	max-width: 800px;
	font-family: var(--font);
	color: var(--black-ink);
	line-height: 1.85;
}

.tokushu-content p {
	margin: 0 0 20px 0;
	font-size: 1.05rem;
}

/* ================== 見出し ================== */
.text-container .tokushu-content h2::after,
#main .text-container .tokushu-content h2::after,
.tokushu-content h2::after {
	display: none !important;
	content: none !important;
}

.tokushu-content h2 {
	font-size: 1.4rem;
	padding: 0.5rem 0.75rem;
	border-top: none !important;
	border-right: none !important;
	border-left: 6px solid var(--main-color) !important;
	border-bottom: 1px solid var(--light-gray) !important;
	background-color: transparent !important; 
	color: var(--main-color) !important;
	font-weight: 700;
	margin: 50px 0 20px !important;
}

#main .tokushu-content h3,
.text-container .tokushu-content h3,
.tokushu-content h3 {
	font-size: 1.2rem;
	padding: 0.2rem 0.7rem;
	border-top: none !important;
	border-right: none !important;
	border-bottom: none !important;
	border-left: 4px solid var(--main-color) !important;
	color: var(--main-color) !important;
	font-weight: 700;
	margin: 40px 0 15px !important;
}

.tokushu-content h4 { font-size: 1.15rem; margin: 30px 0 15px; color: var(--ink); font-weight: 700; }
.tokushu-content h5 { font-size: 1.05rem; margin: 20px 0 10px; color: var(--ink); font-weight: 700; }
.tokushu-content h6 { font-size: 1.0rem; margin: 20px 0 10px; color: var(--ink); font-weight: 700; }

.tokushu-content a {
	text-decoration: underline;
	color: var(--main-color);
}
.tokushu-content a:hover { opacity: 0.75; }

/* ================== リスト ================== */
.tokushu-content > ul,
.tokushu-content > ol {
	border: 1px solid var(--gray);
	border-radius: var(--radius-normal);
	padding: 15px 20px 15px 35px;
	margin: 24px 0;
	background-color: var(--white);
}

.tokushu-content ul { list-style: none !important; }
.tokushu-content ul li { position: relative; line-height: 1.8; margin-bottom: 8px; display: block !important; }
.tokushu-content ul li::before {
	content: '';
	width: 6px; height: 6px;
	background-color: var(--main-color); /* メインカラーの丸ポチ */
	border-radius: 50%;
	position: absolute;
	left: -1.2rem;
	top: 0.65rem;
}

.tokushu-content ol { counter-reset: tokushu-counter; list-style: none !important; }
.tokushu-content ol li { position: relative; line-height: 1.8; margin-bottom: 8px; display: block !important; }
.tokushu-content ol li::before {
	content: counter(tokushu-counter) ".";
	counter-increment: tokushu-counter;
	position: absolute;
	left: -1.5rem;
	color: var(--main-color); /* メインカラーの数字 */
	font-weight: bold;
}
.tokushu-content li:last-child { margin-bottom: 0; }

/* ================== 文字装飾・画像 ================== */
.tokushu-content b { font-weight: bold; }
.tokushu-content span[style*="color:red"] { font-weight: bold; color: var(--red) !important; }

.tokushu-content img {
	width: auto; 
	max-width: 80%;
	height: auto;
	display: block; 
	margin: 24px auto; 
	border-radius: var(--radius-normal);
	background-color: transparent;
}
@media screen and (max-width: 599px) {
	.tokushu-content img {
		max-width: 100%;
	}
}

.tokushu-content iframe {
	width: 100%; max-width: 100%; margin: 24px auto;
	aspect-ratio: 16/9; border-radius: var(--radius-normal);
}

/* =========================================
 * スマホ（SP）専用：特集ページレイアウト調整
 * ========================================= */
@media screen and (max-width: 768px) {
	/* 1. 全体的な左右の余白（パディング）の復活 */
	#title, 
	#tokushuShosaiSNS, 
	.tokushu-content {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	/* 2. サブ画像（4枚）を「2列×2段」に変更する */
	.tokushu-img ul {
		flex-wrap: wrap !important;
		gap: 10px !important;
		padding: 0 15px !important;
		margin-bottom: 20px !important;
	}
	.tokushu-img li {
		width: calc((100% - 10px) / 2) !important;
		margin-bottom: 5px !important;
	}

	/* メイン画像にも少し左右の余白を持たせる */
	.tokushu-image-big {
		width: calc(100% - 30px) !important;
		margin: 0 auto 15px !important;
		border-radius: var(--radius-small) !important;
	}

	/* 3. 見出しの文字サイズ・上下の余白をスマホサイズに圧縮 */
	.tokushu-content {
		margin-top: 10px !important;
	}
	.tokushu-content h2 {
		font-size: 1.25rem !important;
		margin: 35px 0 15px !important;
	}
	.tokushu-content h3 {
		font-size: 1.1rem !important;
		margin: 30px 0 10px !important;
	}
	.tokushu-content h4 { font-size: 1.05rem !important; margin: 25px 0 10px !important; }
	.tokushu-content h5, 
	.tokushu-content h6 { font-size: 1rem !important; margin: 20px 0 10px !important; }

	/* 4. リストの余白とインデントをスマホ用に調整 */
	.tokushu-content > ul,
	.tokushu-content > ol {
		padding: 15px 15px 15px 30px !important;
		margin: 16px 0 !important;
	}
	/* 丸ポチ・数字の位置微調整 */
	.tokushu-content ul li::before {
		left: -1.1rem !important;
	}
	.tokushu-content ol li::before {
		left: -1.3rem !important;
	}
}

/* =========================================
 * 特集ページ上部：画像のレイアウト調整
 * ========================================= */
/* メイン画像（見切れを防止し、全体を表示） */
.tokushu-image-big {
	width: 100%;
	max-height: 500px; 
	object-fit: contain !important;
	background-color: var(--light-gray);
	border-radius: var(--radius-normal);
	margin-bottom: 20px;
}

/* サブ画像（3等分から4等分に変更し並べる） */
.tokushu-img ul {
	display: flex;
	justify-content: space-between;
	gap: 15px;
}
.tokushu-img li {
	width: calc((100% - 45px) / 4) !important; /* 4等分 (gap15px × 3箇所 = 45px) */
	height: auto !important;
	aspect-ratio: 4 / 3; /* 高さを自動で綺麗な比率に */
	margin-left: 0 !important;
}
.tokushu-img li img {
	width: 100%;
	height: 100%;
	object-fit: contain !important;
	background-color: var(--light-gray);
	border-radius: var(--radius-small);
}

.img_box {
	position: relative !important;
	width: 100% !important;
	height: 0 !important;
	padding-top: 100%;
	overflow: hidden !important;
	display: block !important;
}

.img-out,
.img-in {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

.img-out {
	object-fit: cover !important;
	filter: blur(10px) brightness(0.7) !important;
	z-index: 1 !important;
}

.img-in {
	object-fit: contain !important;
	z-index: 2 !important;
}

/* =========================================
 * 特集講座一覧：3列レイアウト自動調整
 * ========================================= */
.row-program-3cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.row-program-3cols > li {
	width: 100% !important;
	margin: 0 !important;
	min-width: 0;
}

.row-program-3cols .program-text-overflow {
	white-space: nowrap !important;
}

@media screen and (max-width: 1024px) {
	.row-program-3cols {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media screen and (max-width: 599px) {
	.row-program-3cols {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 599px) {
	.logo-sns {
		padding-bottom: 0px;
		margin-bottom: 1rem;
		padding-top: 1.5rem;
	}

	.logo-sns ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 15px;
	}

	.kyoten-footer-location-display {
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}

	.kyoten-footer-area-linka + .footer-area-linkb {
		padding-left: 1rem;
	}
}

@media screen and (min-width: 600px) {
	.footer .footer-area-linka {
		justify-content: flex-start !important; 
	}
	.footer .footer-area-linka div {
		flex-basis: 33.333% !important;         
		max-width: 33.333% !important;
		box-sizing: border-box !important;      
		margin: 0 !important;                   
	}
}

.credit-meigi {
	display: flex;
	gap: 8px;
}
@media screen and (max-width: 767px) {
	.credit-meigi {
		flex: 1;
		min-width: 0; 
		width: 100%;
		box-sizing: border-box;
	}
	.w725-pc {
		width: 100% !important;
		max-width: 100%;
	}
}

@media screen and (min-width: 1025px) {
	.my-account-btn .material-symbols-outlined {
		margin-bottom: 0;
	}
}

.kyozai-question-wrapper {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2.5rem 1rem;
	border-top: 1px solid var(--light-gray);
	border-bottom: 1px solid var(--light-gray);
	margin: 1rem 0 2rem 0;
}
.kyozai-question-title {
	font-weight: 700;
	margin-bottom: 0.5rem;
	font-size: 1.1rem;
}
.kyozai-question-text {
	font-size: 1.1rem;
	margin-bottom: 1.5rem;
	line-height: 1.5;
	text-align: center;
}
.kyozai-question-radios {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3rem;
}

/* ==========================================================================
 * フッター：2カラムレイアウト（左：拠点 / 右：コンテンツ）
 * ========================================================================== */
#nk-custom-footer {
	width: 100%;
	background-color: #f3f3f3;
	padding: 50px 20px 40px;
	box-sizing: border-box;
	border-top: none;
	clear: both;
	font-family: 'NotoSansJP', sans-serif;
}

.nk-f-container {
	max-width: 1200px;
	margin: 0 auto;
}

.nk-f-columns {
	display: flex !important;
	justify-content: space-between;
	align-items: flex-start;
	gap: 80px;
}

.nk-col-left, .nk-col-right {
	width: 48%;
}

.nk-section-title {
	font-size: 1.4rem;
	font-weight: 700;
	color: #333;
	margin-bottom: 20px;
}

.nk-col-left .ward-block {
	margin-bottom: 15px;
}

.nk-col-left .ward-title {
	font-weight: 700;
	color: #333;
	font-size: 1.05rem;
	margin-bottom: 2px;
}

.nk-col-left .ward-divider {
	border: none;
	border-top: 1px solid #888;
	margin: 0 0 8px 0;
}

.nk-col-left .ward-facilities {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px 15px;
	padding-left: 1rem;
}

.nk-col-left .ward-facilities a {
	color: #2652e1;
	text-decoration: none;
	font-size: 1rem;
	line-height: 1.4;
}

.nk-col-left .ward-facilities a:hover {
	opacity: 0.75;
}

.nk-col-right .footer-content-list {
	list-style: none;
	padding: 0;
	margin: 0 0 0 1.5rem;
	display: flex !important;
	flex-direction: column; 
	gap: 20px;
}

.nk-col-right .footer-content-list li {
	position: relative;
	padding-left: 1rem;
}

.nk-col-right .footer-content-list li::before {
	content: "-";
	position: absolute;
	left: 0;
	color: #2652e1;
	font-size: 1.15rem;
	line-height: 1.5;
}

.nk-col-right .footer-content-list li a,
.nk-col-right .footer-content-list li a span {
	color: #2652e1 !important;
	text-decoration: none;
	font-size: 1.15rem;
	display: inline-block;
	line-height: 1.5;
}

.nk-col-right .footer-content-list li a:hover,
.nk-col-right .footer-content-list li a:hover span {
	opacity: 0.75;
	text-decoration: underline;
}

.nk-f-copy {
	margin-top: 50px;
	text-align: center;
	font-size: 0.8rem;
	color: #999;
	font-weight: 700;
}

@media screen and (max-width: 768px) {
	.nk-f-columns {
		flex-direction: column;
		gap: 40px;
	}
	.nk-col-left, .nk-col-right {
		width: 100%;
	}
	.nk-col-left .ward-facilities {
		padding-left: 0.5rem;
	}
	.nk-col-right .footer-content-list {
		margin-left: 0.5rem;
	}
}

/* =========================================
 * 拠点カラー設定（トップページ用）
 * ========================================= */
.bg-kita, .bg-kita span { background: #fff !important; color: #007248 !important; border: 2px solid #007248 !important; box-shadow: none !important; }
.bg-higashi, .bg-higashi span { background: #fff !important; color: #0086CE !important; border: 2px solid #0086CE !important; box-shadow: none !important; }
.bg-chuo, .bg-chuo span { background: #fff !important; color: #003894 !important; border: 2px solid #003894 !important; box-shadow: none !important; }
.bg-konan, .bg-konan span { background: #fff !important; color: #B4B900 !important; border: 2px solid #B4B900 !important; box-shadow: none !important; }
.bg-minami, .bg-minami span  { background: #fff !important; color: #00B9EF !important; border: 2px solid #00B9EF !important; box-shadow: none !important; }
.bg-nishi, .bg-nishi span { background: #fff !important; color: #EA5404 !important; border: 2px solid #EA5404 !important; box-shadow: none !important; }

/* =========================================
 * おすすめ講座拠点バッジの構造レイアウト
 * ========================================= */
.area-name.bg-kita span,
.area-name.bg-higashi span,
.area-name.bg-chuo span,
.area-name.bg-konan span,
.area-name.bg-minami span,
.area-name.bg-nishi span {
	position: absolute;
	display: inline-block;
	padding: 0.35rem 0.35rem 0.35rem 0.35rem;
	top: 0.5rem;
	right: -0.5rem;
	font-size: 1.1rem;
	font-weight: 500;
	border-radius: 0.15rem;
	letter-spacing: .05rem;
	box-shadow: var(--shadow-button);
	border-radius: var(--radius-small);
}

@media screen and (max-width: 599px) {
	.area-name.bg-kita span,
	.area-name.bg-higashi span,
	.area-name.bg-chuo span,
	.area-name.bg-konan span,
	.area-name.bg-minami span,
	.area-name.bg-nishi span {
		padding: 0.3rem;
		top: 0.5rem;
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: .05rem;
	}
}

/* =========================================
 * 拠点テキストカラー設定（テキスト色・スマホ背景色）
 * ========================================= */

.text-kita { color: #007248 !important; border-color: #007248 !important; }
.text-higashi { color: #0086CE !important; border-color: #0086CE !important; }
.text-chuo { color: #003894 !important; border-color: #003894 !important; }
.text-konan { color: #B4B900 !important; border-color: #B4B900 !important; }
.text-minami { color: #00B9EF !important; border-color: #00B9EF !important; }
.text-nishi { color: #EA5404 !important; border-color: #EA5404 !important; }

@media screen and (min-width: 1025px) {
	.text-kita-pc { color: #007248 !important; border-color: #007248 !important; }
	.text-higashi-pc { color: #0086CE !important; border-color: #0086CE !important; }
	.text-chuo-pc { color: #003894 !important; border-color: #003894 !important; }
	.text-konan-pc { color: #B4B900 !important; border-color: #B4B900 !important; }
	.text-minami-pc { color: #00B9EF !important; border-color: #00B9EF !important; }
	.text-nishi-pc { color: #EA5404 !important; border-color: #EA5404 !important; }
}

@media screen and (max-width: 1024px) {
	.bg-kita-sp { background: #007248 !important; color: #fff !important; }
	.bg-higashi-sp { background: #0086CE !important; color: #fff !important; }
	.bg-chuo-sp { background: #003894 !important; color: #fff !important; }
	.bg-konan-sp { background: #B4B900 !important; color: #fff !important; }
	.bg-minami-sp { background: #00B9EF !important; color: #fff !important; }
	.bg-nishi-sp { background: #EA5404 !important; color: #fff !important; }
	
	/* スマホで背景色が付く帯の中は、強制的に文字色とアイコンを白にする */
	.bg-kita-sp *, .bg-higashi-sp *, .bg-chuo-sp *, 
	.bg-konan-sp *, .bg-minami-sp *, .bg-nishi-sp * {
		color: #fff !important;
	}
}

/* ▼ SP表示時のヘッダー高さ拡張・ロゴ縮小・アイコン中央揃え ▼ */
@media screen and (max-width: 1024px) {
	/* 1. ヘッダーのバーを下に伸ばす（既存3.5rem → 4.5remに変更） */
	ul.header-manu {
		height: 4.5rem !important;
		max-width: 100vw;
		box-sizing: border-box;
	}
	
	/* ヘッダーが伸びた分、下のコンテンツの開始位置もずらして被りを防ぐ */
	#wrapper.overall { margin-top: 4.5rem !important; scroll-padding-top: 4.5rem !important; }
	.overall .menu { padding-top: 4.5rem !important; }
	#wrapper.school { margin-top: 10.5rem !important; }
	.school.top .menu { padding-top: 10.5rem !important; }

	/* 2. ロゴの縮小許可と、広げた高さに合わせた中央配置 */
	ul.header-manu li.logo {
		min-width: 0; 
		flex: 1 1 auto;
		height: 100%;
		display: flex;
		align-items: center;
	}
	ul.header-manu li.logo a {
		min-width: 0;
		display: flex;
		width: 100%;
		height: 100%;
		align-items: center;
	}
	ul.header-manu li.logo a img {
		width: 100%;
		max-width: 100%;
		height: auto;
		max-height: 3.8rem; /* 広げたヘッダー内で適度な余白を持たせる */
		object-fit: contain;
		object-position: left center;
	}

	/* 3. 会員ページアイコン・テキストの縦並び・中央揃え調整 */
	ul.header-manu li.icon-text {
		flex: 0 0 auto;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding-top: 0 !important;
	}
	ul.header-manu li.icon-text.login-page-header a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100%;
	}
	.icon-text span.material-symbols-outlined {
		margin: 0 auto 0.2rem !important; /* アイコンとテキストの隙間を整える */
	}

	/* 4. メニュー（ハンバーガー）アイコンとテキストの中央揃え調整 */
	.open {
		height: 4.5rem !important; /* クリックできる領域をヘッダーの高さに合わせる */
	}
	.open span, .open::before, .open::after {
		/* 三本線の位置を上にずらし、会員ページのアイコン高さと水平を合わせる */
		top: calc(50% - 0.6rem) !important; 
	}
	ul.header-manu li.icon-text.text-menu {
		justify-content: flex-end; /* テキストを下部に配置 */
		padding-bottom: 0.6rem !important; /* 会員ページのテキストと高さを合わせる */
	}
	ul.header-manu li.icon-text.text-menu span {
		position: relative !important;
		top: auto !important;
		transform: none !important;
		left: auto !important;
	}
}

.chusen-moshikomi-table button {
	font-size: 16px;
	width: 100px;
	margin-top: 4px;
	margin-bottom: 4px;
}

.chusen-moshikomi-table a {
	text-decoration: underline;
}

.chusen-moshikomi-table td {
	box-sizing: content-box;
}

@media screen and (max-width: 640px) {
	.chusen-moshikomi-table td {
		text-align: left !important;
	}
}

@media screen and (min-width: 641px) {
	.pc-center {
		text-align: center !important;
	}
}

.mybarcode {
	white-space: nowrap;
	display: inline-block;
}

.mybarcode .my-barcode-line,
.mybarcode .my-barcode-space {
	display: inline-block;
	vertical-align: bottom;
	padding: 0;
	margin: 0;
}

.my-barcode-hcode {
	text-align: center;
}

.kaiin-info-barcode {
	text-align: center;
	width: 100%;
	overflow: hidden;
}

@media screen and (max-width: 600px) {
	.kaiin-info {
		margin: 20px 15px !important;
		padding: 13px 15px 28px !important;
	}

	.mybarcode {
		zoom: 0.8;
	}
}

@media screen and (min-width: 1025px) {
	#entry .button-container .button {
		width: fit-content !important;
		min-width: 220px;
	}
	
	.my-program-entry-btn-wrap {
		display: flex;
		justify-content: flex-start !important;
		padding-left: 2rem;
	}
}

/* コース0件時のメッセージエリア用 */
.no-course-message {
	padding: 1.5rem 0.5rem;
	color: #666;
}

/* SP版 料金0件時（ハイフン）のスタイル調整用 */
.program-price-empty {
	font-size: 1.2rem;
	font-weight: normal;
	color: #666;
}

/* 印刷用レイアウトのddインデント調整用 */
dl.my-info-list dd.my-print-dd-indent {
	margin-left: 90px !important;
}
