@charset "utf-8";
:root {
	--text: #124704;
	--dark: #17803c;
	--wdark: #14662d;
	--light: #1ebc69;
	--comment: #d6d4c2;
	--yellow: #d4cd8d;
	--gold: #D6D4C2;
	--border: #bab8ab;
}
@media (min-width: 992px) {
	:root {
		--wp--preset--spacing--20: 1rem;
		--wp--preset--spacing--30: 2rem;
		--wp--preset--spacing--40: 3rem;
		--wp--preset--spacing--50: 5rem;
		--wp--preset--spacing--60: 7rem;
		--wp--preset--spacing--70: 10rem;
	}
}
@media (max-width: 991px) {
	:root {
		--wp--preset--spacing--20: 2.083vw;
		--wp--preset--spacing--30: 4.167vw;
		--wp--preset--spacing--40: 6.25vw;
		--wp--preset--spacing--50: 10.417vw;
		--wp--preset--spacing--60: 14.583vw;
		--wp--preset--spacing--70: 20.833vw;
	}
	
}
/* default */

body {
	font-family: 'Lato', sans-serif;
	color: var(--text);
}
.badge {
	border-radius: 5rem;
	font-weight: 400;
	font-size: .75rem;
	letter-spacing: 0.05em;
	padding: .125rem .5rem;
}
.badge-danger {
	background-color: var(--gold);
}
.btn {
	border-radius: 5rem;
	border-width: 2px;
	padding: .2rem 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.btn.disabled, .btn:disabled {
	pointer-events: none;
	filter: grayscale(100%);
	opacity: 0.75;
}
.btn-primary {
	background-color: var(--dark);
	border-color: var(--dark);
	color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus {
	background-color: var(--light);
	border-color: var(--light);
}
.btn-outline-primary {
	background-color: #fff;
	border-color: var(--dark);
	color: var(--dark);
}
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary.focus {
	background-color: var(--comment);
}
.btn-outline-primary2 {
	background-color: #fff;
	border-color: var(--dark);
	color: var(--dark);
	font-size: 0.7rem;
}
.btn-outline-primary2:hover, .btn-outline-primary2:focus, .btn-outline-primary2.focus {
	background-color: var(--comment);
}

@media (min-width: 992px) {
	body {
		padding-top: 9rem;
	}
.wrap {
	padding: 0 0.833vw;
}
}
@media (max-width: 991px) {
	body {
		padding-top: 5.5rem;
	}
	.btn-lg {
    padding: .5em 2em;
    font-size: 6vw;
}
}
.widget a:hover,
.entry-content a:hover,
.post__navigation a:hover,
.breadcrumb-item a:hover {
	color:var(--light);
}

/* Header */

.header-wrap {
	border-top: 4px solid var(--light);
	background-color: #fff;
}
.navbar-brand {
	display: flex;
	align-items: center;
	position: relative;
}
.navbar-brand a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	content: '';
}
.navbar-brand-information h1 {
	color: var(--text);
}
.navbar-brand-title {
	color: var(--text);
	letter-spacing: 0.05em;
	font-weight: 700;
}
.navbar-collapse {
	background-color: var(--light);
	width: 100%;
}
.navbar-expand-lg .navbar-nav .nav-link {
	color: #fff;
}
.navbar-expand-lg .navbar-nav .nav-link:hover {
	color: var(--comment);
}
.navbar-expand-lg .navbar-nav .active .nav-link {
	color: var(--text);
	background-color:var(--comment);
}
.navbar-expand-lg .navbar-nav .active .nav-link:hover {
	color: #fff;
}
.dropdown-toggle::after {
	vertical-align: middle;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	border: 0;
	text-align: center;
}
.nav-link.disabled {
	opacity: 0.375;
}
@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {
	.navbar-expand-lg {
		flex-direction: column;
	}
	.navbar-brand {
		padding-top: 1rem;
		padding-bottom: 1rem;
		transition: padding .5s ease-in-out;
	}
	.navbar-scrolled .navbar-brand {
		padding-top: .25rem;
		padding-bottom: .25rem;
	}
	.navbar-brand img {
		height: 4rem;
		width: auto;
	}
	.navbar-scrolled .navbar-brand img {
		height: 3rem;
	}
	.navbar-brand-information {
		margin-left: 1rem;
		transition: transform .5s ease-in-out;
	}
	.navbar-scrolled .navbar-brand-information {
		transform: scale(0.8, 0.8) translateX(-15%);
	}
	.navbar-brand-information h1 {
		font-size: 0.875rem;
	}
	.navbar-brand-title {
		font-size: 2rem;
	}
	.navbar-contact {
		margin-left: auto;
		align-items: center;
		display: flex;
	}
	.navbar-contact-tel {
		color: var(--dark);
		font-weight: 700;
	}
	.navbar-contact-tel .badge {
		background-color: var(--dark);
		color: #fff;
		font-weight: 700;
	}
	.navbar-contact * + * {
		margin-left: .5rem;
	}
	.navbar-contact-tel {
		margin-right: 1.5rem;
		font-size: 2rem;
		display: flex;
		align-items: center;
	}
	.navbar-contact-tel .badge {
		margin-right: .5rem;
	}
	
	.navbar-contact2 {
		margin-left: auto;
		align-items: center;
		display: flex;
	}
	.navbar-contact2 * + * {
		margin-left: .5rem;
	}
	
	.navbar-expand-lg .navbar-nav .nav-link {
		padding: 1rem;
	}
	.navbar-scrolled.navbar-expand-lg .navbar-nav .nav-link {
		padding: .5rem 1rem;
	}
	.dropdown-toggle {
		display: flex;
		align-items: center;
	}
	.dropdown .dropdown-menu {
		display: block;
		visibility: hidden;
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transition: all .2s ease-in-out;
		-o-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.13);
		margin-top: 0;
	}
	.dropdown:hover .dropdown-menu {
		visibility: visible;
		opacity: 1;
		filter: alpha(opacity=100);
	}
}
@media (max-width: 991px) {
	.navbar-brand {
		width: calc(80% - 1.0rem);
		padding: .5rem;
		white-space: normal;
	}
	.navbar-brand img {
		height: 4rem;
		width: auto;
	}
	.navbar-brand-information {
		width: calc(100% - 3.5rem);
		line-height: 1;
		margin-left: .5rem;
	}
	.navbar-brand-information h1 {
		font-size: 0.75rem;
	}
	.navbar-brand-title {
		font-size: 1.3rem;
	}
	.navbar-contact {
		display: none;
	}
	.navbar-contact2 {
		margin-left: auto;
		align-items: center;
		display: flex;
	}
	.navbar-toggler {
		background-color: var(--dark);
		border-radius: 50%;
		height: 3rem;
		width: 3rem;
		padding: 0.5rem calc(0.75rem - 2px) 1.25rem;
		border: 2px solid var(--dark);
		position: relative;
		
	}
	.navbar-toggler::after {
		position: absolute;
		bottom:.25rem;
		left: 50%;
		content: 'MENU';
		font-size: .5rem;
		color: #fff;
		white-space: nowrap;
		transform: translateX(-50%);
	}
	.navbar-toggler:not(.collapsed) {
		background-color: var(--yellow);
	}
	.navbar-toggler:not(.collapsed)::after {
		color: var(--dark);
	}
	.navbar-toggler .icon-bar {
		background-color: #fff;
		width: 1.5rem;
	}
	.navbar-toggler:not(.collapsed) .icon-bar {
		background-color: var(--dark);
	}
	.navbar-toggler .icon-bar:nth-of-type(1) {
		-webkit-transform-origin: 12.5% 10%;
		-ms-transform-origin: 12.5% 10%;
		-moz-transform-origin: 12.5% 10%;
		-o-transform-origin: 12.5% 10%;
		transform-origin: 12.5% 10%;
	}
	.navbar-toggler .icon-bar:nth-of-type(3) {
		-webkit-transform-origin: 12.5% 90%;
		-ms-transform-origin: 12.5% 90%;
		-moz-transform-origin: 12.5% 90%;
		-o-transform-origin: 12.5% 90%;
		transform-origin: 12.5% 90%;
	}
	.navbar-nav .nav-link {
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.dropdown-toggle::after {
		position: absolute;
		right: 1rem;
	}
	.dropdown-menu {
		box-shadow: none;
	}
}

/* Footer */

.footer-wrap {
	color: #fff;
	letter-spacing: 0.05em;
}
.footer-wrap a:hover {
	opacity: 0.75;
}
.footer-nav {
	background-color: var(--dark);
}
.menu-item.disabled a {
	pointer-events: none;
	cursor: default;
	opacity: 0.375;
}
.copyright {
	text-align: center;
	background-color: var(--wdark);
	line-height: 1.8;
}
.copyright h4 {
	font-weight: 700;
	font-size: 1.25rem;
}
@media (min-width: 992px) {
	.footer-nav {
		display: flex;
		align-items: center;
		justify-content: center;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	.footer-nav li + li::before {
		content: '｜';
		margin-left: 1rem;
		margin-right: 1rem;
	}
	.copyright {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}
@media (max-width: 991px) {
	.footer-nav {
		padding: 1.5rem 1rem;
	}
	.copyright {
		padding: 2rem 1rem;
	}
}

/* Form */

.wpcf7-form .card {
	border: 1px solid var(--border);
	border-radius: 1rem;
}
.wpcf7-form .card-header {
	background-color: #eee;
	border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
}
.wpcf7-form .card-header p {
	margin-bottom: 0 !important;
}
.form-control {
	height: calc(1.5em + 1rem + 2px);
	padding: 0.5rem 1rem;
	font-size: 1.25rem;
	line-height: 1.5;
	border-radius: 0.3rem;
	border-color: var(--border);
}
.form-control:focus {
	border-color: var(--light);
}
.wpcf7-radio {
	padding-top: calc(0.375rem + 1px);
	padding-bottom: calc(0.375rem + 1px);
}
span.wpcf7-list-item .wpcf7-list-item-label::before, .wpcf7-radio span.wpcf7-list-item .wpcf7-list-item-label::after {
	border-color: var(--light);
}
span.wpcf7-list-item input[type=radio]:checked ~ .wpcf7-list-item-label::after {
	background-color: var(--light);
}
@media (min-width: 992px) {
.wpcf7-form .card-body {
	padding: 2rem 2rem 1rem;
}
}
@media (max-width: 991px) {
.wpcf7-form .card-body {
	padding: 1rem 1rem 0;
}
}
/* Front */

.frontbanner .wp-block-image {
	width: auto !important;
	flex-grow: 0 !important;
}
.frontnews {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.frontnews .wp-block-group__inner-container {
	border-radius: 1rem;
	background-color: var(--gold);
	position: relative;
	padding: 1rem;
}
.frontnews .wp-block-heading {
	font-size: 2rem;
	letter-spacing: 0.1em;
}
.frontnews .wp-block-post {
	position: relative;
	display: flex;
	align-items: center;
}
.frontnews .wp-block-post-title {
	order: 3;
}
.frontnews .wp-block-post-title a {
	color: inherit;
}
.frontnews .wp-block-post-title a:hover {
	color: var(--dark);
}
.frontnews .wp-block-post-title a::after {
	position: absolute;
	width: 100%;
	height: 100%;
	content: '';
	top: 0;
	left: 0;
	z-index: 10;
}
.frontnews .taxonomy-category {
	order: 2;
	margin-left: 1rem;
	margin-right: 1rem;
	width: 100%;
	max-width: 6rem;
	text-align: center;
}
.frontnews .taxonomy-category a {
	pointer-events: none;
	cursor: default;
	color: #fff;
	padding: .25rem 1rem;
	border-radius: 2rem;
	background-color: var(--dark);
	font-size: .75rem;
	width: 100%;
	display: inline-block;
}
.frontnews .wp-block-post-date {
	order: 1;
	width: 100%;
	max-width: 6rem;
}
.frontnews .wp-block-buttons {
	position: absolute;
	top: 100%;
	transform: translateY(-50%);
}
.frontschoolwrap {
	gap: 3rem;
}
.frontschoolwrap .wp-block-column {
	position: relative;
	border-radius: 1rem 1rem 0 0;
	overflow: hidden;
}
.frontschoolnumber {
	position: absolute;
	height: 4rem;
	padding: 1rem;
	font-size: 2rem;
	line-height: 1;
	background-color: #fff;
	display: inline-block;
	border-radius: 0 1rem 0 0;
	font-weight: 900;
	transform: translateY(-100%);
	color: var(--light);
}
.frontschoolwrap .wp-block-heading {
	font-size: 1.25rem;
	letter-spacing: 0.05em;
	color: var(--dark);
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}
.frontschoolfeaturetitle {
	position: relative;
	padding-top: 4rem;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
}
.frontschoolfeaturetitle::before {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\f0eb";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	color: #fff;
	background-color: var(--light);
	font-size: 2rem;
	padding-top: .5rem;
	text-align: center;
}
.frontschoolfeaturetitle::after {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 5px;
	border-right-width: 5px;
	margin-left: -5px;
	border-top-color: var(--light);
	top: 2.75rem;
	left: 50%;
}
@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {
	.frontbanner {
	transform: translateY(-50%);
}
.frontnews {
	padding-left: 8.333333%;
	padding-right: 8.333333%;
}
.under-container .frontnews {
	padding-left: 0;
	padding-right: 0;
}
.frontnews .wp-block-group__inner-container {
	display: flex;
}
.frontnews .wp-block-heading {
	width: 25%;
	padding: 1rem;
}
.frontnews .wp-block-query {
	width: 75%;
}
.frontnews .wp-block-buttons {
	right: 2rem;
}
.frontnews .wp-block-post {
	padding: 1rem;
}
.frontschoolwrap .wp-block-image img {
    max-width: none;
    width: 100%;
}
}
@media (max-width: 991px) {
	.frontbanner {
	padding-top:1rem;
}
.frontnews {
	margin-top:1rem;
	
}
.frontnews .wp-block-heading {
	text-align: center;
}
.entry-content .frontnews ul {
    margin-bottom: 0;
    padding:.5rem 0 1.5rem;
}
.frontnews .wp-block-post {
	flex-wrap: wrap;
	padding:.5rem 0;
}
.frontnews .wp-block-post-title {
   width:100%;
   padding-top:.5rem;
}
.frontnews .wp-block-buttons {
	right: 0;
	left: 0;
	margin: auto;
	justify-content: center !important;
}

}
@media (min-width: 1200px) {}

/* Posts */
.post__header {
	margin-bottom: 2rem;
}
.post__header--time {
	text-align: right;
}
.post__header--title + .post__header--time {
	padding-top:.5rem;
	margin-top:.5rem;
	border-top:1px solid var(--border);
}
.post__navigation ,
.post__navigation nav {
	display: flex;
	align-items: center;
	width:100%;
}
.post__navigation {
	margin-top:3rem;
	padding-top:1rem;
	border-top:1px solid var(--border);
}
.post__navigation--prev,
.nav-previous {
	margin-right: auto;
}
.post__navigation--next,
.nav-next {
	margin-left: auto;
}
.widget .wp-block-heading {
	font-size: 1.25rem;
	border-bottom:1px solid var(--border);
	padding-bottom:.5rem;
	margin-bottom:.5rem;
}
.widget + .widget {
	margin-top: 2rem;
}
.widget .wp-block-categories-list a {
	padding:.25rem 1rem;
	display: block;
}
.sidebar .wp-block-tag-cloud a {
	display: block;
	margin-right: 0;
}
@media (max-width: 991px) {
	.sidebar {
		margin-top:2rem;
	}
}
/* Under */
.breadcrumb {
	color: #808080;
}
.breadcrumb .active span {
	color: var(--wdark);
}
.breadcrumb-item + .breadcrumb-item {
	padding-left: 1rem;
}
.breadcrumb-item + .breadcrumb-item::before {
	padding-right: 1rem;
}
.pageHeader {
	position: relative;
	overflow: hidden;
}
.pageHeaderImg {
	background-color: var(--dark);
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.pageHeaderImg img {
	opacity: 0.75;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.pageHeaderTitleWrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	line-height: 1;
}
.pageHeaderTitleWrap .container {
	height: 100%;
}
.pageHeaderTitle {
	position: absolute;
	z-index: 3;
	background-color: #fff;
	letter-spacing: 0.1em;
	font-weight: 700;
}
.pageHeaderTitle::before {
	position: absolute;
	top: 0;
	right: 100%;
	background-color: #fff;
	content: '';
	width: 100vw;
	height: 100%;
}
.pageHeaderTitleEng {
	position: absolute;
	z-index: 4;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.5;
	color: var(--yellow);
	font-weight: 900;
}
@media (min-width: 992px) {
.under-container {
	padding-bottom:10rem;
}
.breadcrumb {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
	.pageHeaderImg {
		border-radius: 1rem;
		height: 500px;
	}
	.pageHeaderImg img {
		width: 1860px;
		max-width: 1860px;
		height: 500px;
	}
	.pageHeaderTitle {
		bottom: calc(2.5vw + 1rem);
		left: 2rem;
		font-size: 2.5vw;
		border-radius: 0 1rem 1rem 0;
		padding: 1.667vw 2.5vw 1.667vw 0;
		min-width: 25.156vw;
	}
	.pageHeaderTitle small {
		margin-left: 1rem;
		font-size: .875rem;
		font-weight: 400;
		letter-spacing: 0.05em;
	}
	.pageHeaderTitleEng {
		bottom: calc(7vw + 1rem);
		left: 2rem;
		font-size: 6.667vw;
	}
}
@media (min-width: 1200px) {
	.pageHeaderTitle, .pageHeaderTitleEng {
		left: 1rem;
	}
}
@media (max-width: 991px) {
.under-container {
	padding-bottom:5rem;
}
.breadcrumb {
	padding-top:1rem;
	padding-bottom: 2rem;
	overflow-x: auto;
	white-space: nowrap;
	font-size: .75rem;
flex-wrap: nowrap;
}
	.pageHeader {
		padding: .5rem;
	}
	.pageHeaderImg {
		border-radius: .5rem;
		height: 30vw;
	}
	.pageHeaderImg img {
		width: 940px;
		max-width: 940px;
		height: 250px;
	}
	.pageHeaderTitle {
		bottom: calc(2.5vw + 1rem);
		left: 1rem;
		font-size: 2.5vw;
		border-radius: 0 1rem 1rem 0;
		padding: 1.667vw 2.5vw 1.667vw 0;
		min-width: 25.156vw;
	}
	.pageHeaderTitleEng {
		bottom: calc(7vw + 1rem);
		left: 1rem;
		font-size: 6.667vw;
	}
}
@media (max-width: 600px) {
	.pageHeaderTitle {
		font-size: 4vw;
	}
	.pageHeaderTitleEng {
		font-size: 10vw;
	}
}
.schoolfeaturenumber {
	counter-reset: number 0;
}
.schoolfeaturenumber .wp-block-media-text__media {
	position: relative;
}
.schoolfeaturenumber .wp-block-media-text__media::before {
	top: 0;
	right: 0;
	position: absolute;
	padding: 1rem;
	font-size: 2rem;
	line-height: 1;
	background-color: #fff;
	display: inline-block;
	border-radius: 0 0 0 1rem;
	font-weight: 900;
	color: var(--light);
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero);
}
.tabletime {
	border: 1px solid var(--border);
}
.tabletime th, .tabletime td {
	text-align: center;
	border: 1px solid var(--border);
}
.tabletime.wp-block-table thead {
	border-bottom-width: 1px;
}
.tabletime thead th {
	background-color: #cac9b3;
}
.tabletime thead td {
	background-color: #e3e2d8;
}
.tabletime tbody th {
	background-color: #e4f8ec;
}
.tabletime tbody td.instructor1 {
	background-color: #faf0e8;
}
.tabletime tbody td.instructor2 {
	background-color: #e4f0f6;
}
.tabletime tbody td.instructor3 {
	background-color: #f8f7e4;
}
.dl-schoolprice {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.dl-schoolprice dt {
	width: 100%;
	max-width: 12rem;
	background-color: var(--gold);
	text-align: center;
	border-radius: 3rem;
	font-size: 1.125rem;
}
.dl-schoolprice dd {
	font-size: 1.5rem;
	line-height: 1.25;
}
.dl-schoolprice dd strong {
	font-size: 2rem;
}
.dl-schoolprice dd small {
	font-size: 1rem;
}
@media (min-width: 992px) {
.dl-schoolprice dt {
	padding: .5rem;
}
.dl-schoolprice dd {
	width: calc(100% - 12rem);
	padding: 0 2rem 2rem;
}
}
@media (max-width: 991px) {
.dl-schoolprice dt {
}
.dl-schoolprice dd {
	width: 100%;
	padding-left:1rem;
}
}

.lessonflowwrap > .wp-block-group__inner-container > .wp-block-group {
	position: relative;
}
.lessonflownumber {
	border-radius: 50%;
	background-color: var(--light);
	position: absolute;
	text-align: center;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
}
.lessonflownumber strong {
	font-size: 3rem;
	display: block;
	line-height: 1;
}
.lessonflownumber::before {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 5px;
	border-right-width: 5px;
	margin-left: -5px;
	border-top-color: var(--light);
	top: 100%;
	left: 50%;
}
@media (min-width: 992px) {
.lessonflowwrap > .wp-block-group__inner-container > .wp-block-group {
	padding-left: 10rem;
}
.lessonflownumber {
	width: 8rem;
	height: 8rem;
	top: -2rem;
	left: 0;
    padding-top: 1rem;
}
}
@media (max-width: 991px) {
.lessonflowwrap > .wp-block-group__inner-container > .wp-block-group {
	padding-top: 7rem;
}
.lessonflownumber {
	width: 6rem;
	height: 6rem;
	top: 0;
	left: 0;
    padding-top: 0.25rem;
}
}

.lessonmain {
	text-shadow: 0 1px 5px rgba(0, 0, 0, 0.35);
}
.lessonmain p {
	margin-bottom: 0;
}
.lessonmain .wp-block-buttons {
	margin-top: 1rem;
}
.lessonmain .lessonbannerballoon, .lessonmain .wp-block-button__link {
	text-shadow: none;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.35);
}
.lessonannotation {}
.lessonannotation em {
	font-style: normal;
	background: linear-gradient(transparent 60%, var(--yellow) 60%);
}
.lessonannotation strong {
	font-size: 2rem;
}
@media (min-width: 992px) {
.lessonmain {
	padding: 3rem;
}
}
@media (max-width: 991px) {
.lessonmain {
	padding: 1rem;
}
}
.trackmanrangenumbur {
	line-height: 1;
	position: relative;
	z-index:-1;
	color: #D2CB8B;
	letter-spacing: 0;
	opacity: 0.5;
	font-weight: 900;
}
@media (min-width: 992px) {
.trackmanrangenumbur {
	margin-bottom: -1rem !important;
	font-size:8rem;
}
}
@media (max-width: 991px) {
.trackmanrangenumbur {
	margin-bottom: -1.5rem !important;
	font-size:5rem;
}
}




/*-------------------------------------------------------------
		top NEWS
---------------------------------------------------------------*/

/* clearfix */
.clearfix:after { content:"."; display:block; clear:both; height:0; visibility:hidden; }
.clearfix { display:inline-block; }
/* for macIE \*/
* html .clearfix { height:1%; }
.clearfix { display:block; }
#news{ background: #ffffff; padding: 0 0 0 0; }
#news .inner { background: #e1dfd0; width: 100%; margin: 0px auto 0; padding: 30px 0 20px 0; border-radius: 20px;}
#news .inner .news_LR{ width: 94%; margin: 0 auto;}
#news .inner .news_LR::after { content:" "; display:block; clear:both;}/*clearfix*/
#news .inner .news_LR .news_L{ float: left; width: 48%;}
#news .inner .news_LR .news_R{ float: right; width: 48%;}
#news .inner .news_LR img{ float: right; width: 100%; padding: 0px 0 50px 0;}
#news .inner .news_LR .news_R .wp-block-button{ text-align: center; }
#news .inner .news_LR .news_L .wp-block-button{ text-align: center; }
@media screen and (max-width: 750px) {
#news .inner{ background: #e1dfd0; max-width: 1000px; width: 95%; margin: 30px auto 0; padding: 25px 0 15px 0; border-bottom: solid 1px #ffffff; }
#news .inner .news_LR .news_L{ float: none; width: 100%;}
#news .inner .news_LR .news_R{ float: none; width: 100%; margin-top: 30px;}
}/*END*/
#news .inner .news_LR .news_L h2 a,
#news .inner .news_LR .news_R h2 a{ font-size: 22px; line-height: 1.5; font-weight: bold; margin: 0 0 15px 0!important; color: #3c7d43; text-decoration: none;}
#news .inner .news_LR .news_L h2 a:hover,
#news .inner .news_LR .news_R h2 a:hover{  font-size: 22px; line-height: 1.5; margin: 0 0 15px 0!important; color: #69da75; text-decoration: none;}
@media screen and (max-width: 750px) {
#news .inner .news_LR .news_L h2 a,
#news .inner .news_LR .news_R h2 a{margin: 0 0 5px 0!important; display: block; font-weight: bold; text-align: center; }
#news .inner .news_LR .news_L h2 a:hover,
#news .inner .news_LR .news_R h2 a:hover{ margin: 0 0 5px 0!important; display: block; text-align: center; }
}/*END*/
#top_newsList ul#newsList{ margin:5px 0 15px; padding:0;}
#top_newsList ul#newsList li{ color:#333; margin:0; padding:10px 10px; line-height: 0; margin-bottom:3px; border-bottom: solid 1px #6a6a6a;list-style-type:none; }
#top_newsList ul#newsList a{color:#333;text-decoration:none; }
#top_newsList ul#newsList a:hover{color:#333;text-decoration:underline;}
#top_newsList ul#newsList .up_ymd /*日付*/{ font-size:12px; line-height:140%; padding-right: 10px; }
#top_newsList ul#newsList .newMark /*NEWマーク*/{ display:inline-block; border:1px solid #bc261a; padding:1px 4px; margin-right: 5px; font-size:11px; line-height:11px;letter-spacing: 0.5px; font-weight: bold; font-family:Arial, Helvetica, "sans-serif"; background:#bc261a; color:#fff; border-radius:2px; }
#top_newsList ul#newsList .title{ font-size:15px; line-height:140%; }
@media screen and (max-width: 750px) {
#top_newsList ul#newsList .title{ font-size:14px; line-height:250%; display: block; }
}/*END*/



/*-------------------------------------------------------------
		 NEWS リスト
---------------------------------------------------------------*/
#newsWrap{ width: 90%; max-width: 924px;  padding: 55px 0 0px 0; display: block; margin: 0 auto;}
#newsWrap h2.h2_news_title { width: 100%; padding: 0 0 23px 0; font-size: 25px; line-height: 1; letter-spacing: 2px; font-weight: bold; color: #3c7d43; text-decoration: none; border-bottom: solid 1px #c4c4c4; text-align: center;}
#newsWrap h2.h2_news_title a{ text-decoration: none; color: #3c7d43; }
@media screen and (max-width: 750px) {
#newsWrap h2.h2_news_title { width: 100%; padding: 40px 0 23px 0; font-size: 22px; line-height: 1; letter-spacing: 2px; font-weight: bold; color: #3c7d43; text-decoration: none; border-bottom: solid 1px #c4c4c4; text-align: center;}
}/*END*/
#newsWrap h2.h2_news_title img{ width: 90%; max-width: 230px;}
#newsWrap .detailText a{ color: #56595d; text-decoration: underline;}
#newsWrap .detailText a:hover{ color: #666; text-decoration: underline;}
#co_newsList {min-height: 400px;}
#co_newsList ul#newsList{ margin:0 0 15px; padding:0;}
#co_newsList ul#newsList li{ color:#56595d; margin:0; padding:17px 40px 17px 50px; margin-bottom:3px; border-bottom: solid 1px #c4c4c4;list-style-type:none; }
#co_newsList ul#newsList a{color:#56595d;text-decoration:none; }
#co_newsList ul#newsList a:hover{color:#56595d;text-decoration:underline;}
#co_newsList ul#newsList .up_ymd /*日付*/{ font-size:14px; line-height:140%; padding-right: 10px; }
#co_newsList ul#newsList .newMark /*NEWマーク*/{ display:inline-block; border:1px solid #bc261a; padding:1px 4px; margin-right: 5px; font-size:11px; line-height:11px;letter-spacing: 0.5px; font-weight: normal; font-family: "Times New Roman", Times, "serif"; background:#bc261a; color:#fff; border-radius:2px; }
#co_newsList ul#newsList .title{ font-size:15px; line-height:140%; }
@media screen and (max-width: 750px) {
#newsWrap{ width: 90%; max-width: 924px;  padding: 130px 0 0px 0; display: block; margin: 0 auto;}
#co_newsList ul#newsList li{ color:#56595d; margin:0; padding:7px 10px 7px 10px; margin-bottom:3px; border-bottom: solid 1px #c4c4c4;list-style-type:none; }
#co_newsList ul#newsList .title{ font-size:14px; line-height:140%; display: block; }
}/*END*/
/*ページャー*/
#newsWrap .pager{ text-align: center;}
#newsWrap .pager a{ color: #56595d; border: solid 1px #c4c4c4; font-size: 12px; line-height: 100%; padding: 8px 11px; margin: 0 3px; text-align: center; border-radius: 0px; -webkit-border-radius: 0px;  -moz-border-radius: 0px;}
#newsWrap .pager a:hover,
#newsWrap .pager a.current{ background: #3c7d43;border: solid 1px #3c7d43; color: #fff;}



/*-------------------------------------------------------------
		 NEWS 詳細
---------------------------------------------------------------*/
#news_detail{ max-width: 680px; min-height: 400px; margin: 0 auto; padding: 50px 0 80px 0;}
@media screen and (max-width: 750px) {
#news_detail{ max-width: 680px; min-height: 400px; margin: 0 auto; padding: 30px 0 80px 0;}
}/*END*/
#news_detail::after { content:" "; display:block; clear:both;}/*clearfix*/
#news_detail #up_ymd{ text-align:left; font-size:14px; line-height: 15px; color: #56595d; margin:0px 0px; padding: 0; }/*日付*/
#news_detail h2{ font-size:24px!important; line-height: 36px!important;  margin:5px 0px; color: #56595d; font-weight:bold; padding-bottom: 30px; }/*タイトル*/
#news_detail h2 a:hover{ color: #7c7f84; }/*タイトル*/
#news_detail .detailText,
#news_detail .detailText span{ font-size: 15px!important; line-height: 30px!important; color: #56595d; padding-bottom:30px!important; -webkit-font-smoothing: antialiased!important; -moz-osx-font-smoothing: grayscale!important;}/*テキスト*/
.backORcloseBtn{ text-align:center; line-height:100%; margin-top:15px; }
.backORcloseBtn a{ display:inline-block; padding:4px 15px; border:1px solid #aaa; color:#999; border-radius:6px; text-decoration:none; font-size:12px; }
.detailUpfile img{ max-width:100%; height:auto; text-align: center; margin: 0 auto; }
.detailUpfile{ margin:0px 0 0px; text-align:left; }

/*PDF*/
.link_icon_pdf{ padding-left: 30px; line-height: 30px!important; background: url(../img3/link_icon_pdf.png) no-repeat left center; background-size: 20px;}

.pNav{ font-size:11px;}
.comment{ display:block; padding:3px 0; float:left; overflow:hidden; width:500px;/* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */}
.thumbNailWrap{ display:block; width:110px; float:left; height:80px; overflow:hidden; }

/* Pager style（外部化可） */
.pager{ text-align:right; padding:10px; clear:both; }
/*ページャーボタン*/
.pager a{ border: 1px solid #999; border-radius: 5px 5px 5px 5px; color: #333; font-size: 12px; padding: 3px 7px 2px; text-decoration: none; margin:0 1px; }

/*現在のページのボタン*/
.pager a.current{ background: #999; border: 1px solid #999; border-radius: 5px 5px 5px 5px; color: #fff; font-size: 12px; padding: 3px 7px 2px; margin:0 1px; text-decoration: none; }
.pager a:hover{ background:#999; color: #fff; }
.overPagerPattern{ padding:0 2px ; }
/*btn_back*/
.btn_back{text-align: center; margin-top: 50px; }
.btn_back a{ display: inline-block; width: 200px; background: #3c7d43; color: #fff;  font-size:15px; font-weight: bold; text-decoration: none; line-height: 45px; transition: 0.3s; border-radius: 5px; -webkit-border-radius: 5px;  -moz-border-radius: 5px;}
.btn_back a:hover{ background: #59b871; }



/*-------------------------------------------------------------
		Add top waiting time 待ち時間ボックス追加 20240509
---------------------------------------------------------------*/
@media (min-width: 992px) {
		.frontbanner.add-wtb {
		transform: initial;
		margin: 30px 0;
	}
}

.top-visual-wrap {
	position: relative;
}
.top-visual-wrap .w-time-box {
	position: absolute;
	left: 10px;
	bottom: 40px;
	color: #fff;
	width: 18rem;
	z-index: 1;
}
.top-visual-wrap .w-time-box h3 {
	background-color: var(--dark);
	font-weight: normal;
	font-size: 15px;
	text-align: center;
	line-height: 1.25;
	padding-top: .75rem;
	padding-bottom: .75rem;
}
.top-visual-wrap .w-time-box p {
	background-color: var(--dark);
	font-size: 14px;
	text-align: center;
	line-height: 1.25;
	margin: 0;
}
.top-visual-wrap .w-time-box dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
}
.top-visual-wrap .w-time-box dt {
	width: 20%;
	background-color: var(--dark);
	font-size: 25px;
	text-align: center;
}
.top-visual-wrap .w-time-box dd {
	width: 80%;
	background-color: #ffffffcc;
	border-bottom: 1px solid var(--dark);
	color: #000;
	text-align: left;
	font-size: 15px;s
	font-weight: 400;
	padding-right: .75rem;
	padding-left: .75rem;
	padding-top: 5px;
	padding-bottom: 5px;
}
.top-visual-wrap .w-time-box dd:last-child {
	border: 0;
}
.top-visual-wrap .w-time-box dd span {
	font-size: 15px;
}
.top-visual-wrap .w-time-box dd span h6 {
	font-size: 15px;
	padding-top: 20px;
	padding-bottom: 20px;
}

@media screen and (max-width: 991px) {
	.top-visual-wrap .w-time-box {
		left: 40px;
	}
}

@media screen and (max-width: 750px) {
	.top-visual-wrap .w-time-box {
		position: initial;
		width: 100%;
		margin: 20px 0;
	}
	.top-visual-wrap .w-time-box h3 {
		font-size: 18px;
	}
	.top-visual-wrap .w-time-box p {
		font-size: 20px;
	}
	.top-visual-wrap .w-time-box dt {
		font-size: 30px;
		line-height: 2;
		border-bottom: 1px solid #59b871;
	}
	.top-visual-wrap .w-time-box dt:first-child {
		border-top: 1px solid #59b871;
	}
	.top-visual-wrap .w-time-box dt:last-child {
		border-bottom: 1px solid var(--dark);
	}
	.top-visual-wrap .w-time-box dd {
		font-size: 18px;
		padding-right: 3rem;
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.top-visual-wrap .w-time-box dd span {
		font-size: 20px;
	}
	.top-visual-wrap .w-time-box dd span h6 {
	font-size: 25px;
	}
	.top-visual-wrap .w-time-box dt:last-child,
	.top-visual-wrap .w-time-box dd:last-child {
		border-bottom: 1px solid var(--dark);
	}
}



/*-------------------------------------------------------------
		PXG/KBS　タブ切り替え
---------------------------------------------------------------*/

.tab02 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 50px;
  font-size: 17px;
}
.tab02:after {
  content: '';
  width: 100%;
  height: 3px;
  background:#3c7e44;
  display: block;
  order: -1;
}
.tab_label {
  height: 60px;
  line-height: 60px;
  color:#2f7237;
  background:#efefef;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
.tab_label:not(:last-of-type) {
  margin-right: 5px;
}
.tab_content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブタブ */
.tab_active:checked+.tab_label {
  color:#fff;
  background:#3c7e44;
}
.tab_active:checked+.tab_label+.tab_content {
  height: auto;
  overflow: auto;
  padding: 5px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 0px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab_active {
  display: none;
}



@media screen and (max-width: 750px) {
.tab02 {
	font-size: 10px;
}
.tab_label {
  height: 60px;
  padding-top: 10px;
  line-height: 20px;
  color:#2f7237;
  background:#efefef;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
}



/*-------------------------------------------------------------
		改行タグ
---------------------------------------------------------------*/

/* display */
@media(min-width: 769px) {
  .pc_off {
    display: none !important;
  }
}
@media(max-width: 768px) {
  .sp_off {
    display: none !important;
  }
}



/*-------------------------------------------------------------
		PC用とスマホ用　非表示
---------------------------------------------------------------*/

/* パソコンで見た時はclass名pc-onlyだけ表示 */
.pc-only{
    display: block;
}
.sp-only{
    display: none;
}

/* スマホで見た時はclass名sp-onlyだけ表示 */
@media screen and (max-width: 768px){
    .pc-only{
        display: none;
    }
    .sp-only{
        display: block;
    } 
}  


