@charset "UTF-8";
/*
Theme Name: npo-Academy
Version: 1.0
*/

.
/**
 * 1.0 - Normalize
 */

:root{
	--p-color:#28303c;
	--s-color:#36a039;
	--a-color:#36a039;
	--g-color:#36a039;
	--ga-color:#0b57d0;
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
		-webkit-transition: ease 0.3s;
    transition: ease 0.3s;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

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

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

.wp-block-image img{
	margin:0 0 1.75em;
	border-radius:1rem;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

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

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

select {
	text-transform: none;
}

button {
	overflow: visible;
}

button,
input,
select,
textarea {
	max-width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    border: none;
    border-radius: 0;
    background: none;
}


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

button[disabled],
html input[disabled] {
	cursor: default;
	opacity: .5;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input:focus{
		border: 0;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}

fieldset {
	border: none;
	margin: 0;
	min-width: inherit;
	padding: 0;
}

fieldset > :last-child {
	margin-bottom: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

optgroup {
	font-weight: bold;
}


/**
 * 2.0 - Genericons
 */

.menu-item-has-children a:after,
.dropdown-toggle:after,
.bypostauthor > article .fn:after,
.search-submit:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-family: "Genericons";
	font-size: 16px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	speak: none;
	text-align: center;
	text-decoration: inherit;
	text-transform: none;
	vertical-align: top;
}

.tel .material-symbols-outlined{
	color:var(--p-color);
	margin-right:3px;
}


/**
 * 3.0 - Typography
 */

body,
button,
input,
select,
textarea {
	color: #212121;
	font-family:"Noto Sans JP", sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: .03em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.article-wrap .article-wrap-title,
.main-navigation a{
	font-family:YakuHanJP,"Noto Sans JP", sans-serif;
}

time{
	  font-family: "Montserrat", Sans-serif;
	font-weight:500;
}

a,
p,
li,
th,
td,
button,
input,
select,
textarea,
time,
h1,
h2,
h3,
h4,
.current-item{
	letter-spacing: .06em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 700;
	margin: 0;
	text-rendering: optimizeLegibility;
}

p {
	margin: 0 0 1.75em;
}

.sr {
	display: block;
}

.pr {
	display: none;
}

.sc{
	text-align:center;
}

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

blockquote {
    border-left-width: 4px;
    color: #686868;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 1.4736842105em;
    overflow: hidden;
    padding: 32px 32px 32px 55px;
    background-color: #f9f9f9;
    position: relative;
}

blockquote a{
	font-size: 13px;
	line-height: 1.5;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after {
    content: "format_quote";
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 36px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    position: absolute;
    top: 14px;
    left: 12px;
    color: #D9D9D9;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
    transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

blockquote p {
	margin-bottom: 1.4736842105em;
}

blockquote cite,
blockquote small {
	color: #686868;
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

blockquote cite:before,
blockquote small:before {
	content: "\2014\00a0";
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

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

address {
	font-style: italic;
	margin: 0 0 1.75em;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family:"Inconsolata",monospace;
}

pre {
	border: 1px solid #d1d1d1;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.3125;
	margin: 0 0 1.75em;
	max-width: 100%;
	overflow: auto;
	padding: 1.75em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

code {
	background-color: #d1d1d1;
	padding: 0.125em 0.25em;
}

pre code{
	background:none;
}

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

mark,
ins {
	background: var(--a-color);
	color: #fff;
	padding: 0.125em 0.25em;
	text-decoration: none;
}

big {
	font-size: 125%;
}


/**
 * 4.0 - Elements
 */

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}


hr {
	background-color: #d1d1d1;
	border: 0;
	height: 1px;
	margin: 0 0 1.75em;
}

ul{
	margin: 0 0 1.75em 1.25em;
	padding: 0;
	list-style: disc;
}

li ul{
	list-style:circle;
}

ol {
	list-style: none;
	margin: 0 0 1.75em 0;
	padding:0;
	counter-reset: level1;
}

ol li{
	padding-left: 1.875em;
	position: relative;
}

ol li::before {
	color: #212121;
	content: counter(level1) ". ";
	counter-increment: level1;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

ol li:nth-child(-n+9)::before,
ol li:nth-child(-n+9)::before {
    left: .5em;
}


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

dl {
	margin: 0 0 1.75em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 0 1.75em;
}

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

del {
	opacity: 0.8;
}

table,
th,
td {
	border: 1px solid #d1d1d1;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.75em;
	table-layout: fixed;
	width: 100%;
	font-size:14px;
	font-size:0.875em;
}

table .material-icons{
	vertical-align:middle;
}

table .x:after { 
	font-family: 'Material Icons';
	color:#e53935;
	content:'cancel';
	font-size:20px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}

table .o:after { 
	font-family: 'Material Icons';
	color:#43A047;
	content:'check_circle';
	font-size:20px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}

table .center{
	text-align:center;
}

table p:last-child,
table ul:last-child,
table ol:last-child{
	margin-bottom:0;
}


.radius-table{
    border-radius: 16px;
    border-spacing: 0;
    border: none;
    border-left: 1px solid #d1d1d1;
    border-top: 1px solid #d1d1d1;
	overflow:hidden;
}

.radius-table tr>*{
    padding: 5px 10px;
    border: none;
    border-right: 1px solid #d1d1d1;
    border-bottom: 1px solid #d1d1d1;
}

.radius-table tr:first-child>*:first-child{
    border-radius: 16px 0 0 0;
}

.radius-table tr:first-child>*:last-child{
    border-radius: 0 16px 0 0;
}

.radius-table tr:last-child>*:first-child{
    border-radius: 0 0 0 16px;
}

.radius-table tr:last-child>*:last-child{
    border-radius: 0 0 16px 0;
}

.comparison .radius-table tr.t--heading td:nth-child(2) {
  background: #36a039;
  color: #fff;
}

.comparison .radius-table tr:not(.t--heading) td:nth-child(2) {
  background: #36a03910;
}


caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	background: #FFF;
}

td {
	border-width: 0 1px 1px 0;
}

th,
td {
	padding: 0.4375em;
}

dd ul:last-child{
	margin-bottom:0;
}


::-webkit-input-placeholder {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
}

:-moz-placeholder {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
}

::-moz-placeholder {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
	opacity: 1;
}

:-ms-input-placeholder {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
}


.caption{
    padding: 1em 0;
    border-radius: 0 0 6px 6px;
    font-size: 13px;
    color: #757575;
	margin:0 0 1.75em;
	line-height: 1.5;
}


.caption a{
	cursor:pointer;
}


.strong{
	color:#f44336;
}


/**
 * 5.0 - Forms
 */

input {
	line-height: normal;
}

button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus {
	color: #fff;
	font-size: 16px;
	font-size:1rem;
	padding: 0 32px;
	-webkit-transition: ease 0.3s;
	transition: ease 0.3s;
	text-decoration: none;
	background-color: #212121;
	border-radius: 3em;	
	border: none;
	box-shadow: none;
	line-height:1;
	font-weight:700;
}

.post-password-form input[type="submit"],
.recruit-2024-stg input[type="submit"]{
	height:54px;
}


button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus{
	opacity:0.7;
}


button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: thin dotted;
	outline-offset: -4px;
}


input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="week"],
input[type="month"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid #d1d1d1;
	color: #686868;
	padding: 0.625em 1em;
	width: 100%;
}

input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="week"]:focus,
input[type="month"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
	background-color: #fff;
	color: #212121;
	outline: 0;
}

.post-password-form {
	margin-bottom: 1.75em;
}

.post-password-form label {
	color: #686868;
	display: block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 1.75em;
	text-transform: uppercase;
}

.post-password-form input[type="password"] {
	margin-top: 0.4375em;
}

.post-password-form > :last-child {
	margin-bottom: 0;
}


.error--notice{
	margin-top:4em;
	}


/**
 * 6.1 - Links
 */

a {
	color: #212121;
	text-decoration: none;
}


a:hover,
a:focus,
a:active {
	color: #212121;
}

a:focus ,
a:hover,
a:active {
	outline: 0;
}

.entry-content a{
	color:#36a039;
}

.entry-content a:hover,
.entry-content a:focus,
.entry-summary a:hover,
.entry-summary a:focus,
.taxonomy-description a:hover,
.taxonomy-description a:focus,
.logged-in-as a:hover,
.logged-in-as a:focus,
.entry-footer a:hover,
.site-info a:hover,
.breadcrumbs a:hover{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.entry-content a,
.entry-summary a,
.taxonomy-description a,
.logged-in-as a,
.entry-content a.button{
	box-shadow: none;
}

a:focus.button,
a:active.button,
a:focus.btn-bk, 
a:focus.btn-g, 
a:focus.btn-b{
	text-decoration:none;
}

.button{
	display:inline-block;
	font-size:16px;
	font-size:1rem;
	padding: .75em 2.625em;
	text-decoration:none;
	-webkit-transition: ease 0.3s;
	transition: ease 0.3s;
	border-radius: 2.625em;
	border:none;
	box-shadow: 0 1px 7px rgba(0,0,0,0.2);
	line-height:1.4em;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.entry-content .button:not(input){
	margin:5px 5px 5px 0;
}

.entry-content a:hover.button,
.button:hover{
	opacity:0.7;
}


/**
 * 6.2 - Menus
 */

.site-header-menu {
	display: none;
	-webkit-flex: 0 1 100%;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	margin: 0;
}

.site-header-menu.toggled-on,
.no-js .site-header-menu {
	display: block;
}

.main-navigation {
	font-family: "Helvetica Neue", Arial, sans-serif;
}

.site-footer .main-navigation {
    padding: 0 2em;
    margin: 0 auto 1.75em;
}

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

.main-navigation li {
	position: relative;
	padding:0 1em;
}

.menu-top-menu-container,
.menu-service-menu-container{
	margin:0 -0.9375em;
	cursor:pointer;
}

.main-navigation a {
	color: #212121;
	display: block;
	font-size:14px;
	line-height: 1.3125;
	outline-offset: -1px;
	padding: 1.2em 0;
	font-weight:500;
}

.main-navigation a:hover,
.main-navigation a:focus {
	
}


.main-navigation ul ul {
	margin-left: -1em;
	margin-right:-1em;
	background: #fff;
	border-radius: 5px;
}

.no-js .main-navigation ul ul {
	display: block;
}

.main-navigation ul .toggled-on {
	display: block;
}

.main-navigation .primary-menu {  
	border-bottom: 1px solid #d1d1d1;
}

.main-navigation ul.sub-menu{
	height:auto;
}

.pagination .current .screen-reader-text {
	position: static !important;
}

.pagination{
	position: relative;
	margin: 50px auto 60px;
}

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

.navigation a,
.navigation span {
	color: var(--p-color);
	font-size: 16px;
	font-size: 1rem;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	line-height: 2;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.navigation a:hover{
    color: #fff;
	background:#36a039;
}

.page-numbers.prev span:hover,
.page-numbers.next span:hover,
.navigation a.next:hover,
.navigation a.prev:hover{
    color: var(--a-color);
}



.navigation a:hover,
.navigation a:focus{
	text-decoration:none;
}

.navigation span.dots{
	align-items: initial;
	background:none;
}

.navigation .page-numbers {
    padding: 0;
	margin: 0 3px 3px;
	display:none;
	display: flex;
    justify-content: center;
	align-items: center;
    width: 2.5rem;
    height: 2.5rem;
	background:#eaeaea;
}

.navigation .page-numbers.prev,
.navigation .page-numbers.next {
    width: auto;
    margin: 0 1rem 0 0;
	background:none;
}

.navigation .page-numbers.next{
	margin: 0 0 0 1rem;
}

.page-numbers.prev span,
.page-numbers.next span{
	display:none;
}

.navigation .page-numbers.prev:before,
.navigation .page-numbers.next:after{	
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: text-bottom;
}

.navigation .page-numbers.prev:before{
	content: "chevron_left";
}

.navigation .page-numbers.next:after{
	content: "chevron_right";
}

.navigation .next:hover,
.navigation .prev:hover{	
	background:none;
}


.navigation .current { 
	border: 2px solid #36a039;
	background-color: #36a039;
	color:#fff;
}


.navigation .not,
.navigation .not:focus,
.navigation .not:hover{
	color: #c4c4c4;
	background-color: #c4c4c4;
}

.navigation .dots,
.navigation .dots:focus,
.navigation .dots:hover{
	color: #36a039;
}



.post-navigation {
	clear: both;
	font-family: "Helvetica Neue", Arial, sans-serif;
	margin: 0 2em 3.5em;
}

.post-navigation .nav-links{
	position:relative;
}

.post-navigation .nav-previous:before,
.post-navigation .nav-next:after{
	border-top: 1px solid #212121;
	width: 100%;
	content: ""; 
	display: block;
	position: absolute;
}

.post-navigation .nav-previous:after,
.post-navigation .nav-next:before{
	content: "";
	display: block;
	width: 100%;
	border-bottom: 1px solid #212121;
	position: absolute;
	right: 0px;
}

.post-navigation a {
	color: #212121;
	display: block;
	padding: 1.75em 0;
}

.post-navigation span {
	display: block;
}

.post-navigation .meta-nav {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.post-navigation .post-title {
	display: inline;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.2173913043;
	text-rendering: optimizeLegibility;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.post-navigation a:hover .post-title,
.post-navigation a:focus .post-title {
	color: var(--a-color);
}



.image-navigation {
	border-top: 1px solid #d1d1d1;
	border-bottom: 1px solid #d1d1d1;
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin: 0 7.6923% 2.1538461538em;
	padding: 1.0769230769em 0;
}



.image-navigation .nav-previous:not(:empty),
.image-navigation .nav-next:not(:empty) {
	display: inline-block;
}

.image-navigation .nav-previous:not(:empty) + .nav-next:not(:empty):before {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}


/**
 * 7.0 - Accessibility
 */

.says,
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.site .skip-link {
	background-color: #f1f1f1;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
	color: #21759b;
	display: block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	left: -9999em;
	outline: none;
	padding: 15px 23px 14px;
	text-decoration: none;
	text-transform: none;
	top: -9999em;
}

.logged-in .site .skip-link {
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
	font-family: "Open Sans", sans-serif;
}

.site .skip-link:focus {
	clip: auto;
	height: auto;
	left: 6px;
	top: 7px;
	width: auto;
	z-index: 100000;
}


#drawer-menu {
  display: none;
}


/**
 * 8.0 - Alignments
 */

.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}

.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}

div img.aligncenter{
	clear: both;
	display: block;
	margin: 0 auto 0;	
}

blockquote.alignleft {
	margin: 0.3157894737em 1.4736842105em 1.473684211em 0;
}

blockquote.alignright {
	margin: 0.3157894737em 0 1.473684211em 1.4736842105em;
}

blockquote.aligncenter {
	margin-bottom: 1.473684211em;
}

.center{
	text-align:center;
}

.left{
	text-align:left;
}

.right{
	text-align:right;
}


.center.right{
	text-align:center;
}


/**
 * 9.0 - Clearings
 */

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.entry-summary:before,
.entry-summary:after,
.site-content:before,
.site-content:after,
.site-main > article:before,
.site-main > article:after,
.primary-menu:before,
.primary-menu:after{
	content: "";
	display: table;
}

.clear:after,
blockquote:after,
.entry-content:after,
.entry-summary:after,
.site-content:after,
.site-main > article:after,
.primary-menu:after {
	clear: both;
}


/**
 * 11.0 - Content
 */

.site {
	background-color: #fff;
	overflow:hidden;
	padding-top:72px;
	font-size:14px;
}

.site-inner {
	margin: 0 auto;
	position: relative;
}

.site-content {
	word-wrap: break-word;
    margin: 0 auto;
	margin-top:3.5em;
	padding:0 1em;
}

.single-organization .site-content,
.guidelines-template-default .site-content,
.search-results .site-content,
.search-no-results .site-content,
.error404 .site-content,
.home .site-content,
.archive .site-content,
.access .site-content,
.course .site-content,
.campus .site-content,
.about .site-content,
.organization .site-content,
.about-template-default .site-content,
.page-template-default .site-content,
.course-template-default .site-content,
.campus-template-default .site-content{
	margin-top:0;
}


.about-template-default .c--content{
	margin:5em 0 0;
}

.orientation .page-content-inner,
.campus-template-default .page-content-inner,
.guidelines-template-default .page-content-inner,
.about-template-default .page-content-inner{
	margin:0 auto 3em;
}

.about-template-default .event .page-content-inner{
	margin:0 auto 2em;
}

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

.pre-footer,
.site-main {
	margin-bottom: 5.5em;
}

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


/**
 * 11.1 - Header
 */

.site-header {
	box-shadow: 0 0 48px rgba(50,76,128,0.05);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 72px;
    transition: all 0.3s ease-out;
    background: #fff;
}

.site-header-main {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin:0 auto;
	padding: 0 1em;
	max-width:1360px;
}


.site-branding {
	margin: 0 auto 0 0;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	height:72px;
	display:flex;
	align-items:center;
	z-index: 3;
}


.site-title {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2173913043;
	margin: 0;
}

.site-branding .site-title a {
	color: #212121;
	display:inline-block;
}

.site-branding .site-title a:hover,
.site-branding .site-title a:focus {
	color: var(--a-color);
}

.site-branding .site-title img,
.site-branding .site-title a img{
	height:36px;
	position:relative;
}


.site-description {
	color: #fff;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.0769230769;
	margin: 0;
}

.menu-toggle {
	background-color: transparent;
	color: #212121;
	font-size: 13px;
	font-size: 0.8125rem;
	margin: 0;
	padding: 0;
	box-shadow:none;
	width: 30px;
    height: 20px;
	position:relative;
}

button.menu-toggle{
	position: absolute;
    right: 16px;
    top: 28px;
}

.no-js .menu-toggle {
	display: none;
}

.menu-toggle:hover,
.menu-toggle:focus {
	background: #fff;
}

.menu-toggle.toggled-on,
.menu-toggle.toggled-on:hover,
.menu-toggle.toggled-on:focus {
}

.menu-toggle:focus {
	outline: none;
}

.menu-toggle.toggled-on:focus {
	outline: none;
}


.header-image {
	clear: both;
	margin: 0.875em 0;
}

.header-image a {
	display: block;
}

.header-image a:hover img,
.header-image a:focus img {
	opacity: 0.85;
}


/**
 * 11.2 - Posts and pages
 */

.site-main > article {
	position: relative;
}

.single-column .site-main > article,
.single-news .site-main > article,
.single-blog .site-main > article,
.single-post .site-main > article,
.page .site-main > article{
	max-width: 768px;
    margin: 0 auto;
}


.related article,
.newr article{
	margin-bottom:36px;
	position:relative;
	width:100%;
}


.article article a.article-item{
	    border-radius: 4px;
}


.article article a.article-item:hover{
	background:#fdfdfd;
}


.article .article-item-excerpt{
	margin-top:0.625em;
	font-size:14px;
	font-size:0.875em;
	color:#888;
	text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    font-weight: normal;
}

.article-wrap{
	position:relative;
}

.article-wrap ul{
	margin:0;
}

.article-item {
	display: block;
	width: 100%;
	height:100%;
}


.article-item-date,
.article-item-category{
	line-height: 1.25;
	font-size: 12px;
	color: #888;
}

.article-item-inner .article-item-text{
	padding:1em 0 0;
	position:relative;
}

.article-item-inner .article-item-text .read-more{
	position:absolute;
	    bottom: 32px;
    right: 64px;
	font-size:14px;
	font-size:0.875em;
}

.article-item-inner .article-item-text .read-more:before{
	content: "";
    width: 26px;
    height: 6px;
    background: url(./images/icon-arrow.svg) no-repeat;
    position: absolute;
    bottom: 9px;
    right: -32px;
	background-size: 100%;
}


.article-item-category{
	bottom: 5px;
}

.article-item-date time{
	margin-right:0.4em;
}

.writer,
.publisher,
.image{
	display:none;
}

.writer-box{
	margin-top:1.5em;
	display:inline-block;
}

.writer-box:after{
	clear:both;
	content:"";
	display: table;
}

.writer-photo{
	width: 40px;
    height: 40px;
    position: relative;
    background-position: center;
    background-size: contain;
    background-color: #ddd;
    float: left;
    border-radius: 50%;
}

.writer-name{
	float: left;
    margin-left: .8em;
    font-size: 12px;
    line-height: 40px;
	color: #888;
}

.writer-name a{
	color: #888;
}

.writer-name a:hover{
	color: var(--a-color);
}

.article-item-inner {
	color: #212121;
}

.article-item-inner:hover,
.other-article-item-inner:hover{
	color:#212121;
}

.article-item-img figure {
	background-color: #F7F4F2;
	position:relative;
	overflow: hidden;
	border-radius:1rem;
}

.article-item-img figure:before{
	content:"";
	display: block;
	padding-top: 56.25%;
}

.article-item-img figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  transition: transform 0.3s ease;
}

.article-item-inner:hover .article-item-img figure img {
  transform: translateY(-50%) translateX(-50%) scale(1.1);
  -webkit-transform: translateY(-50%) translateX(-50%) scale(1.1);
}

.article-item-title {
	margin-top: 0.625em;
}

.article-item-title h3,
.article-item-title h2,
.article-item-title-not-thumb h2 {
	font-size: 16px;
	font-size:1em;
	line-height: 1.47059;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	word-break:break-all;
}

.other-article{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -12px 0;
}

.other-article article{
	width:100%;
	margin: 0 12px 42px ;
}

.other-article article img{
	width:100%;
}

.other-article-item-inner {
	color: #212121;
}

.other-article-item-img{
	margin-bottom:12px;
}

.other-article-item-img figure {
	box-shadow: 0 1px 6px 0 rgba(0,0,0,.1);
}

.other-article-item-title h2{
	font-size: 17px;
	font-size: 1.0625em;
	line-height: 1.47059;
	margin: 4px 0 12px;
	height: 2.94118em;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.other-article-item-date,
.other-article-item-label{
	line-height: 1.25;
	font-size: 12px;
	color: #888;
}

.other-article-item-label span{
	color: var(--a-color);
}

.other-article-item-date span:nth-child(2):before{
	content: "|";
    display: inline-block;
    padding: 0 5px;
    position: relative;
    top: -1px;
	    color: #888;
}

.entry-meta-box .other-article-item-label{
	margin-bottom:4px;
}

.entry-summary,
.entry-footer,
.page-content,
.article-wrap{
	margin-right: 1em;
	margin-left: 1em;
}

.entry-content{
	margin-bottom:3em;
}

.page-content {
	margin-right:auto;
	margin-left:auto;
}

.page-content ul,
.page-content ol,
.page-content dl,
.page-content dt,
.page-content dd,
.page-content p{
	font-size:15px;
}

.page-content a:hover{
	text-decoration:underline;
}


.page-template-default .page-content,
.page-template-default-page .page-content{
	max-width:1200px;
	margin-right:auto;
	margin-left:auto;
	font-size:18px;
}

.pre-footer-inner,
.listing-wrap,
.p-content,
.news-content,
.search main,
.archive main,
.post-type-archive-news main,
.single-company .page-header-inner,
.single-company .page-content-inner{
	max-width:960px;
	margin-right:auto;
	margin-left:auto;
}

.info .listing-wrap{
	max-width:100%;
}

.p-content img.border{
	border: 1px solid #eaeaea;
    border-radius: 1rem;
    box-sizing: border-box;
    background: #fff;
    padding: 1px;
}

.p-content .p-mv img{
	margin-top:1.75rem;
	    border-radius: 1rem;
}

.p-mv{
	margin:0 0 3.5rem;
}

.page-header {
    margin-bottom: 2.5rem;
    margin-top: 2.5rem;
}


.not-found .page-header{
	margin-right:auto;
	margin-left:auto;
	margin-bottom:0;
}

.page-header-inner .page-title{	
	font-size:24px;
	font-weight:700;
}

.page-header-inner{
	width: 100%;
    /*min-height: 160px;*/
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
    flex-flow: column;
    justify-content: center;
    display: flex;
}

.page-header .gl-caption{
	font-size:14px;
	display: block;
}

.single-format-standard .page-content,
.service-template-page-listing .page-content{
		max-width:1232px;
	padding:0 1rem;
	margin-right:auto;
	margin-left:auto;
}



.page-content .entry-content {
	font-size:0.875em;
	font-size:14px;
	margin-right:auto;
	margin-left:auto;
}

.entry-header {
	margin-bottom:3em;
}

.no-results .page-content,
.not-found .page-content{
	margin-right: 0;
	margin-left: 0;
}

section.no-results,
section.not-found{
	max-width: 768px;
    margin: 0 auto;
}

.entry-title {
	font-size: 20px;
    font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1em;
	color:#212121;
}

.page .entry-title{
	margin-top:0;
}

.entry-title a {
	color: #212121;
}

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

.article-thumb img{
	margin-right: auto;
	margin-left: auto; 
	display: block;
}

.article-thumb,
.article-excerpt,
.article-ad{
	margin:0 0 1.75em;
}

.article-main{
	margin:0 0 2.625em;
}

.post-thumbnail{
	display: block;
	margin: 0 7.6923% 1.75em;
}

.post-thumbnail img {
	display: block;
}



a.post-thumbnail:hover,
a.post-thumbnail:focus {
	opacity: 0.85;
}

.entry-summary{
	margin-bottom: 2.625em;
}





.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content dl,
.entry-content dd,
.entry-content dt,
.entry-content th,
.entry-content td,
.entry-content tr,
.entry-content pre,
.entry-content blockquote,
.entry-content cite,
.entry-content em,
.entry-content b,
.entry-content strong{
	font-size:0.9375em;
	font-size:15px;
}


.entry-content h1,
.entry-summary h1 {
	font-size: 20px;
    font-size: 1.25rem;
	line-height: 1.25;
	margin-top: 2em;
	margin-bottom: 1em;
}


.p-content h2,
.entry-content h2,
.entry-summary h2{
	font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.5;
	margin-top: 2.4347826087em;
	margin-bottom: 1.2173913043em;
    letter-spacing: 0.05px;
	color:#212121;
}



.p-content h3,
.entry-content h3,
.entry-summary h3 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 2.9473684211em;
	margin-bottom: 1.4736842105em;
    letter-spacing: 0.05px;
	color:#212121;
}


.p-content h4,
.p-content h5,
.p-content h6,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6{
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.3125;
	margin-top: 3.5em;
	margin-bottom: 1.75em;
	color:#212121;
}


.c--heading h2,
.c--heading h3,
.c--heading span{
	margin-top:0;
	margin-bottom:0;
}

.entry-content h4,
.entry-summary h4 {
	text-transform: uppercase;
}

.entry-content h6,
.entry-summary h6 {
	font-style: italic;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h1,
.entry-summary h2,
.entry-summary h3,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6{
	font-weight: 600;
}


.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child,
.entry-summary h1:first-child,
.entry-summary h2:first-child,
.entry-summary h3:first-child,
.entry-summary h4:first-child,
.entry-summary h5:first-child,
.entry-summary h6:first-child{
	margin-top: 0;
}


.post-navigation .post-title,
.entry-title {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

body:not(.search-results) .entry-summary {
	color: #686868;
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 1.4736842105;
	margin-bottom: 1.4736842105em;
}

body:not(.search-results) .entry-header + .entry-summary {
	margin-top: -0.736842105em;
}

body:not(.search-results) .entry-summary p,
body:not(.search-results) .entry-summary address,
body:not(.search-results) .entry-summary hr,
body:not(.search-results) .entry-summary ul,
body:not(.search-results) .entry-summary ol,
body:not(.search-results) .entry-summary dl,
body:not(.search-results) .entry-summary dd,
body:not(.search-results) .entry-summary table {
	margin-bottom: 1.4736842105em;
}

body:not(.search-results) .entry-summary li > ul,
body:not(.search-results) .entry-summary li > ol {
	margin-bottom: 0;
}

body:not(.search-results) .entry-summary th,
body:not(.search-results) .entry-summary td {
	padding: 0.3684210526em;
}

body:not(.search-results) .entry-summary fieldset {
	margin-bottom: 1.4736842105em;
	padding: 0.3684210526em;
}

body:not(.search-results) .entry-summary blockquote {
	border-color: currentColor;
}

body:not(.search-results) .entry-summary blockquote > :last-child {
	margin-bottom: 0;
}

body:not(.search-results) .entry-summary .alignleft {
	margin: 0.2631578947em 1.4736842105em 1.4736842105em 0;
}

body:not(.search-results) .entry-summary .alignright {
	margin: 0.2631578947em 0 1.4736842105em 1.4736842105em;
}

body:not(.search-results) .entry-summary .aligncenter {
	margin-bottom: 1.4736842105em;
}


.entry-content > :last-child,
.entry-summary > :last-child,
body:not(.search-results) .entry-summary > :last-child,
.page-content > :last-child{
	margin-bottom: 0;
}


.more-link {
	white-space: nowrap;
}

.author-info {
	border-color: inherit;
	border-style: solid;
	border-width: 1px 0 1px 0;
	clear: both;
	padding-top: 1.75em;
	padding-bottom: 1.75em;
}

.author-avatar .avatar {
	float: left;
	height: 42px;
	margin: 0 1.75em 1.75em 0;
	width: 42px;
}

.author-description > :last-child {
	margin-bottom: 0;
}

.entry-content .author-title {
	clear: none;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.75;
	margin: 0;
}

.author-bio {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-bottom: 1.6153846154em;
	overflow: hidden;
}

.author-link {
	white-space: nowrap;
}

.entry-footer {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-top: 3.5em;
	margin-bottom: 3.5em;
}

.entry-footer:empty {
	margin: 0;
}

.entry-footer a {
	color: #686868;
}

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

.entry-footer > span:not(:last-child):after {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}

.entry-footer .avatar {
	height: 21px;
	margin: -0.1538461538em 0.5384615385em 0 0;
	width: 21px;
}

.sticky-post {
	color: #686868;
	display: block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.sticky .posted-on,
.byline {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

body.error404 .page-header,
body.search-no-results .page-header {
	border-top: 0;
	padding-top: 0;
}

.taxonomy-description {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
}

.taxonomy-description p {
	margin: 0.5384615385em 0 1.6153846154em;
}

.taxonomy-description > :last-child {
	margin-bottom: 0;
}

.page-links {
	clear: both;
	font-family: "Helvetica Neue", Arial, sans-serif;
	margin: 2.625rem 0;
	width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 19px;
    font-size: 1.1875rem;
}

.page-links a,
.page-links > span {
    line-height: 1.6923076923em;
    margin-right: 0.3076923077em;
    text-align: center;
    width: 48px;
    height: 48px;
    margin: 0 7px 0 8px;
    background: #c4c4c4;
	border:1px solid #c4c4c4;
    display: flex;
    justify-content: center;
    align-items: center;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	color: #fff;
}

.page-links a {
	background: #000;
	border:1px solid #000;
}

.page-links a:hover,
.page-links a:focus {
	color: #000;
	text-decoration:none;
	background: #fff;
}

.page-links > .page-links-title {
	border: 0;
	color: #212121;
	height: auto;
	margin: 0;
	padding-right: 0.6153846154em;
	width: auto;
}

.entry-attachment {
	margin-bottom: 1.75em;
}

.entry-caption {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 1.0769230769em;
}

.entry-caption > :last-child {
	margin-bottom: 0;
}




/**
 * 11.5 - Sidebar
 */




/**
 * 11.6 - Footer
 */

#breadcrumbs{
	margin: 0 auto;	
}

#breadcrumbs .breadcrumbs{
    width: 100%;
    margin: 0 auto;
    padding: 0 1rem;
}

.breadcrumbs .breadcrumbs-inner{
	list-style:none;
	margin:0;
	white-space: nowrap; 
	overflow-y: scroll;
	-ms-overflow-style: none;     
	scrollbar-width: none; 
	font-size:12px;
	height:48px;
	display:flex;
	align-items:center;
}

.breadcrumbs .breadcrumbs-inner::-webkit-scrollbar { 
	display:none;
}

.breadcrumbs ul li{
	display:inline-block;
	line-height:3rem;
	font-size:12px;
}

.breadcrumbs a span:after,
.breadcrumbs ul li:after{
	content: "chevron_right";
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 12px;
	display: inline-block;
	margin: 0 .4em;
	position: relative;
	top: 1px;
}

.breadcrumbs-home span:after{
	content:none;
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 16px;
	display: inline-block;
	position: relative;
	top: 3px;
}

.breadcrumbs ul li:last-child:after{
	content: none;
}


.footer-navigation{
	border-top: 1px solid #e3e3e3;
    padding: 3rem 0 0;
	font-size: 15px;
    font-size: 0.9375em;
    line-height: 2em;
}

.footer-container{
	display: flex;
	flex-wrap: wrap;
}

.footer-nav-item{
}

.footer-nav-item a{
	color:#212121;
}

.footer-nav-item a:hover{
	color:#36a039;
}

.footer-container{
	margin: 0 auto;
	padding:0 1em;
	width: 100%;
	position:relative;
}

.footer-container ul{
	list-style: none; 
	margin: 0;
}

.footer-nav-item-ttl{
	font-weight: 700;
    color: #333;
    margin-bottom: .5em;
}

.site-footer {
	text-align:center;
	margin: 0 auto 3rem;
	padding:0;
	position:relative;
	color:#36a039;
}

.site-footer .footer-nav-item{
	text-align:left;
}

.site-footer.hide--cta{
	margin: 0 auto;
}

.site-footer.n__mg{
	margin: 0 auto 0;
}

.footer-heading{
	border-bottom: 1px solid #ddd;
    padding: 0 0 2.5rem;
    margin: 0 0 3rem;
    display: flex;
	align-items: center;
	flex-direction: column-reverse;
}

.footer-logo {
	margin-top:3rem;
}

.footer-logo img{
	max-width: 100%;
    width: 280px;
}


.footer-link{
	margin-bottom:1em;
}

.footer-link:last-child{
	margin-bottom:0;
}

.site-info,
.breadcrumbs{
	color: #888;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.6153846154;
	max-width: 768px;   
	margin: 0 auto;
	padding:0 1em;
	width: 100%;
}

.site-info{
	padding-bottom:2rem;
}

.breadcrumbs{
	max-width: 1360px;   
}

.site-info{
	text-align:center;
	font-size:12px;
	color: #212121;
}

.site-info a,
.breadcrumbs a{
	color: var(--p-color);
}

.site-info a:hover,
.site-info a:focus,
.breadcrumbs a:hover,
.breadcrumbs a:focus{
	color: var(--a-color);
}

.site-footer .site-title {
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
}

.copyright{
	margin-right:.4em;
}

.copyright:before {
	content: "copyright";
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 12px;
	display: inline-block;
	text-transform: none;
	color: #686868;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
	margin-right:.4em;
	position: relative;
	top: 1px;
}

.site-footer .site-title:after {
	content: "\002f";
	display: inline-block;
	font-family: Montserrat, sans-serif;
	opacity: 0.7;
	padding: 0 0.307692308em 0 0.538461538em;
}

.site-footer .site-title:last-child:after{
	content:none;
}

.site-footer span[role=separator] {
	font-family: Montserrat, sans-serif;
	opacity: 0.7;
	padding: 0 0.307692308em 0 0.538461538em;
}

.site-footer span[role=separator]::before {
	content: '\002f';
}

.footer-wrap .footer-info dl{
	font-size:13px;
}

.footer-wrap .footer-nav{
	width:100%;
}

.footer-wrap .footer-nav .footer-nav-list ul li{
	font-size:14px;
	margin:0 0 .5rem;
}




.footer-nav-list ul li a {
  display: inline-block;
  transition: transform 0.2s ease;
}

.footer-nav-list ul li a:hover {
  transform: translateX(5px);
}

.footer-wrap .footer-nav{
	gap: 2rem;
    grid-template-columns: repeat(1, 1fr);
    display: grid;
	padding:0 2rem;
}

.footer-wrap .footer-wrap-inner{
	max-width:1196px;
	margin:0 auto 60px;
	width: 100%;
}

		.footer-nav-list {
        display: flex;
        gap: 1rem;
    }
	
.dashed-line {
    width: 0.09rem;
    background-image: repeating-linear-gradient(to bottom, #ccc, #ccc 3px, transparent 3px, transparent 6px);
}

.footer-nav-label{
	margin-bottom:1rem;
	font-size: 15px;
	color:#212121;
	font-weight:600;
}


/**
 * 12.0 - Media
 */


.site .avatar {
	border-radius: 50%;
}

.entry-content .wp-smiley,
.entry-summary .wp-smiley {
	border: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

.entry-content a img:not(.nap),
.entry-summary a img{
	display: block;
}

embed,
iframe,
object,
video {
	margin-bottom: 1.75em;
	max-width: 100%;
	vertical-align: middle;
}



p > embed,
p > iframe,
p > object,
p > video{
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode a,
.entry-content .wp-playlist a {
	box-shadow: none;
}

.wp-audio-shortcode,
.wp-video,
.wp-playlist.wp-audio-playlist {
	margin-top: 0;
	margin-bottom: 1.75em;
}

.wp-playlist.wp-audio-playlist {
	padding-bottom: 0;
}

.wp-playlist .wp-playlist-tracks {
	margin-top: 0;
}

.wp-playlist-item .wp-playlist-caption {
	border-bottom: 0;
	padding: 0.7142857143em 0;
}

.wp-playlist-item .wp-playlist-item-length {
	top: 0.7142857143em;
}

.video {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom:1.75em;
}

.video iframe {
	width: 100%;
	height: 100%; 
	position: absolute; 
	top: 0;  
	left: 0;
}


/**
 * 12.1 - Captions
 */

.wp-caption {
	margin-bottom: 1.75em;
	max-width: 100%;
}

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

.wp-caption .wp-caption-text {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}


/**
 * header band
 */

.pc-header-dl:before{
	content: "download";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 18px;
    text-transform: none;
    position: relative;
    color: var(--p-color);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    vertical-align: middle;
}

/*.pc-header-contact:before{
	content: "mail";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 18px;
    text-transform: none;
    position: relative;
    color: var(--p-color);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    vertical-align: middle;
	margin-right: 5px;
}*/

.tel a:before{
	content: "phone_in_talk";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 21px;
	width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
	margin-right:3px;
	vertical-align: middle;
}

.dl a:before{
	content: "download";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 22px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    position: relative;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    margin-right: 5px;
    vertical-align: middle;
}

.bk a:before{
	content: "mail";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    position: relative;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    margin-right: 5px;
	margin-top: 3px;
    vertical-align: middle;
}


/**
 * Form
 */


.nf-form-wrap input,
.nf-form-wrap textarea{
	-webkit-appearance: none;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button {
	min-width: 180px;
	border-radius: 2.625em;
	line-height: 1.4em;
}

input[type="checkbox"]{
	-webkit-appearance: checkbox;
	width: 15px;
	height: 15px;
	padding: 0;
	text-shadow: none;
	background: transparent;
	box-shadow: none;
	margin-right:0;
	cursor: pointer;
	border:none;
}

/*.readonly{
	border: none!important;
    padding: 0!important;
    font-size: 15px!important;
    height: auto!important;
}*/

.fluentform .ff-el-form-control:disabled,
.fluentform .ff-el-form-control[readonly]:not(.flatpickr-input) {
    background-color: initial;
}

.flatpickr-current-month {
  display: flex !important;
  justify-content: center;
  align-items: center;
}

.flatpickr-current-month .numInputWrapper {
  order: -1;
}

.ff-el-datepicker::placeholder {
  color: #606266 !important;
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}

.form-label{
	margin-left: .5em;
	display: inline-block;
	padding: 0.25em 0.4em;
	font-size: .75em;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	border-radius: 0.25rem;
	vertical-align: text-top;
}




.required-item{
	background-color: #d9534f;
}

.any-item{
	background-color: #3d3d3d;
}

.contact-form-submit{
		text-align:center;
}
.contact-form-submit input{
	width:100%!important;
	max-width:240px;
	background: #010038!important;
	color: #fff!important;
	border-radius:0;
	font-weight:600;
	height:60px!important;
}

.contact-form-submit input:hover {
    opacity:0.7;
}

.contact-form-message{
	font-size:14px!important;
	text-align:center;
}

.nf-form-content label,
.nf-form-content .nf-label-span {
    font-size: 14px!important;
}

.recaptcha-wrap{
	display:block;
	width: 300px;
	margin:0 auto;
}

.nf-form-wrap .form-desc{
	font-size:12px;
	margin-top:20px;
}


.nf-form-wrap .form-desc a:hover{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}


.checkbox-container.label-right label {
    margin: 0;
	    line-height: 1;
}



.nf-field-container .checkbox-wrap .nf-field-label label:before {
    left: -23px;
}



.nf-after-field{
    pointer-events: none;
    text-align: left;
    font-size: 13px;
}



.nf-form-content input:not([type=button]) {
    font-size: 16px;
	height:48px;
}


.nf-error-msg{
	color:#E53935!important;
}

.nf-error .ninja-forms-field {
    border-color: #E53935!important;
	background:#FFEBEE;
}

nf-errors .nf-error-msg {
    font-size: 13px;
    margin-bottom: 40px;
}





.nf-pass.field-wrap .nf-field-element:after {
    font-size:18px;
	height: 42px;
    line-height: 42px;
	content:none;
}



.site-content .checkbox-wrap .nf-field-label label:before {
    background-color: #010038;
    content: "";
    height: 10px;
    left: -23px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    transition: .6s cubic-bezier(.075,.82,.165,1);
    width: 10px;
    z-index: 1;
}

.site-content .checkbox-wrap .nf-field-label label.nf-checked-label:before {
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
}

.site-content .checkbox-wrap .nf-field-label label:after {
    background-color: #f1f1f1;
    border: 0;
    content: "";
    height: 20px;
    left: -28px;
	    bottom: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px;
}

.nf-field-container {
    margin-bottom: 20px;
}

.nf-field-container.hidden-container{
	padding:0;
	border:0;
}


.site-content .listcheckbox-wrap .nf-field-element label:after,
.site-content .listradio-wrap .nf-field-element label:after{
	background-color: #f1f1f1;
    border: 0;
    content: "";
    height: 20px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 20px;
	border-radius:0;
}

.site-content .listcheckbox-wrap .nf-field-element label:before,
.site-content .field-wrap.list-wrap ul li label:before {
    background-color: #010038;
    content: "";
    height: 10px;
    left: 5px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    transition: .6s cubic-bezier(.075,.82,.165,1);
    width: 10px;
    z-index: 1;
	border-radius: 0;
}

.site-content .field-wrap.list-wrap ul li label.nf-checked-label:before {
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
}



.site-content .listcheckbox-container .nf-field-element label,
.site-content .list-radio-wrap .nf-field-element li label{
	margin-left:0!important;
	padding-left: 30px;
	position: relative;
}

.nf-form-content input[type=radio].ninja-forms-field {
    height: auto;
    border: 0;
}


.nf-form-content textarea{
	background:#fff;
	color: #010038;
}

.nf-form-content textarea:focus {
    background:#fff;
	color: #010038;
}

.nf-field-element {
    position: relative;
}



.nf-form-content select {
border: 0;
    padding: 0 50px 0 16px;
    height: 48px !important;
    color: #312927 !important;
    font-size: 16px;
    letter-spacing: 0.065em;
    border: 1px solid #d1d1d1;
}


.nf-form-content select + div {
    display: block!important;
    position: absolute;
    top: 50%;
    right: 24px;
    height: 0;
    width: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 5px solid black;
}

.consent-wrap label{
	position:relative;
}

.label-right .checkbox-wrap .nf-field-label{
	padding:5px 0 5px 30px;
}

.html-container p{
	margin:0;
}


.nf-field-container {
    border-bottom: 1px solid #ddd;
    padding-bottom: 25px;
}

.submit-container{
	margin-bottom:0!important;
}

.submit-container,
.recaptcha_v3-container.nf-field-container,
#nf-field-38-container.nf-field-container,
#nf-field-58-container.nf-field-container,
#nf-field-55-container.nf-field-container,
#nf-field-1-container.nf-field-container,
#nf-field-7-container.nf-field-container,
#nf-field-9-container.nf-field-container,
#nf-field-18-container.nf-field-container,
#nf-field-31-container.nf-field-container{
	padding-bottom:0;
	border:0;
}






.f-step-wrap{
	display: flex;
    position: relative;
    justify-content: space-between;
    margin: 0 auto 32px;
}




.f-step-txt{
	font-size: 12px;
    text-align: center;
}

.f-step-item{
	width: 70px;
}

.f-step-inner {
    background: #efefef;
    padding: 0.625rem;
    position: relative;
    text-align: center;
	line-height: 1;
	    border-radius: 1rem;
}

.f-step-num{
	font-family: "Roboto", cursive;
	    font-size: 32px;
}

.f-step-wrap{
	display: grid;
    column-gap: 40px;
    grid-template-columns: repeat(2, 1fr);
    text-align: center;
    margin: 0 auto 3rem;
    max-width: 180px;
}

.f-step-txt span{
	font-size:10px;
}

.f-step-item.step-1{
	position:relative;
}

.f-step-item.step-1::after {
    content: "";
    position: absolute;
    right: -24px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #ddd;
}

.current .f-step-inner{
	background:#000;
	color:#fff;
}


.site-content .nf-field-container.html-container .nf-field-label{
	display:block;
}


.submit-container{
	text-align:center;
}

#zip_count {
    color: #fff!important;
}

#zip_close a, #zip_footer a {
    color: #fff!important;
    background-color: #36a039!important;
	font-size:1em!important;
}

#autozip{
background-color: #36a039!important;
}


.site-content .checkbox-container.label-right .nf-field-element {
    top: 0;
	width:auto!important;
	display:block;
}


.site-content .checkbox-container.label-right .nf-field-element input{
	padding:0;
}


.listradio-wrap .nf-field-element label.nf-checked-label:before {
    border-radius: 50%;
    content: "";
    height: 10px;
    width: 10px;
    position: absolute;
    left: -26px;
    bottom: 5px;
    z-index: 2;
    top: 0.25em;
}


.site-content .nf-form-content textarea:focus,
.site-content .nf-form-content textarea,
.site-content .nf-form-content input:not([type=submit]):focus,
.site-content .nf-form-content input:not([type=submit]){
	color:#212121;
}


.listradio-wrap .nf-field-element label:after {
    background: #f7f7f7;
    border: 2px solid #c4c4c4;
    transition: all .5s;
}


.nf-form-content textarea::placeholder,
.nf-form-content input::placeholder{
	color:#c4c4c4;
}



.nf-form-wrap input[type=button]{
	background: #36a039!important;
	padding: 12px 32px;
    box-shadow: none;
	    margin: 0 auto;
    display: block;
    font-size: 14px!important;
	margin-top: 30px;
	color: #fff!important;
	height:54px;
}



.nf-form-content button:hover,
.nf-form-content input[type=button]:hover,
.nf-form-content input[type=submit]:hover {
    background: #36a039!important;
    color: #fff!important;
	opacity: 1!important;
}


.nf-after-form-content{
	text-align:center;
}


.nf-error.field-wrap .nf-field-element:after,
.nf-pass.field-wrap .nf-field-element:after{
	content:none!important;
}


input[type="checkbox"],
input[type="radio"] {
	display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}



.privacy--notice{
	margin-top:2rem;
	padding:1.5rem;
	border:1px solid #ddd;
}

.privacy--notice .ttl{
	font-weight:700;
	font-size:14px;
	margin-bottom:1em;
}

.privacy--notice .text{
	font-size:13px;
}


/**
 * Content
 */

.p--title{
font-size: 24px;
    text-align: center;
    margin: 0 0 1.5em;
	line-height:1.4;
	font-weight:700;
}



/**
 * Footer CTA
 */







.footerfixed-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    color: #fff;
    padding: 16px;
    text-align: center;
    z-index: 1000;
	height:82px;
	box-shadow: 0 0 48px rgba(50,76,128,0.05);
transition: opacity 0.4s ease, transform 0.4s ease;
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
}

.footerfixed-cta.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.footerfixed-cta-inner{
	width:100%;
	max-width:1332px;
	margin:0 auto;
}

.footerfixed-cta-logo,
.footerfixed-cta-tel{
display:none;
}

.footerfixed-cta-logo img{
	max-width:200px;
}

.footerfixed-cta-tel a{
	font-size: 24px;
    line-height: 1;
    font-weight: 700;
    display: block;
    position: relative;
    padding: 0 0 0 30px;
	color: #36a039;
}

.footerfixed-cta-tel span{
	font-size: 11px;
}

.footerfixed-cta-tel a:before{
	content: "phone_in_talk";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 26px;
	width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
	position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.footerfixed-cta-link ul{
	list-style: none;
    display: grid;
	margin: 0;
	        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
}


.footerfixed-cta-link ul li{
	box-shadow: 0 2px 5px 0 rgba(2,48,126,.15);
	overflow: hidden;
	height:50px;
		border:2px solid #36a039;
	border-radius:6px;
}

.footerfixed-cta-link ul li:last-child{
		background:#3FA7D1;
	border:2px solid #3FA7D1;
}

.footerfixed-cta-link ul li .c-btn{
    font-size: 12px; 
	line-height: 1.4;
	height: 100%;
    display: flex;
    align-items: center;    
	justify-content: center;
}



	.footerfixed-cta-link ul li:last-child a{
	background:#3FA7D1;
	color:#fff;
}

.footerfixed-cta-link ul li a{
    color: #fff;
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: none;
    background: #36a039;
    font-weight: 500;

}

.footerfixed-cta-link ul li a:hover{
	background:#fff;
	color:#36a039;
}

.footerfixed-cta-link ul li a.b-or:hover{
	color:#3FA7D1;
}


/**
 * Orientation List
 */


.orientation-wrap{
	margin: 0 0 4em;
}

.orientation-desc{
	margin: 0 0 3em;
	text-align:center;
}

.orientation-desc h2{
	font-size: 28px;
    margin: 0 0 10px;
}

.orientation-desc-info a{
color: #fff;
    background: #36a039;
    padding: 1em 1em 1em 2.75em;
    display: inline-block;
    margin: 1em 0 0;
	    position: relative;
	font-size:18px;
	font-weight:700;
}

.single-organization .orientation-desc-info{
	margin-top:3rem;
}

.orientation-desc .event-img{
	margin:3em 0 0;
}

.orientation-desc-info .course-schooling{
	margin: 2em 1em 1em;
}

.orientation-desc-info .course-schooling a{
	font-size:16px;
	font-weight:normal;
}



.orientation-item .orientation-item-inner{
	position: relative;
    display: flex;
    padding: 1.75rem 1rem 1.75rem 0;
    margin:0 0 1rem;
	color:#36a039;
	background: #fff;
	border:1px solid #ccc;
	border-radius:18px;
}

.orientation-item .orientation-item-inner:hover{
border:1px solid #36a039;
}

.orientation-item .orientation-item-inner:hover .orientation-info{
	border-right: 1px solid #36a039;
}

.orientation-item a:hover.orientation-item-inner{
	/*background:#f7f8fc*/
		
}

.orientation-item .orientation-item-inner h3,
.orientation-item .orientation-item-inner h2{
	font-size:14px;
	line-height: 1.6;
    margin: 0;
    color: #36a039;
}

.orientation-label span{
	background: #36a039;
    padding: 3px 16px;
    border-radius: 2em;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}


.orientation-info {
    display: flex;
    flex: 0 0 120px;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    padding: 16px;
    border-right: 1px solid #ccc;
    color: #36a039;
    letter-spacing: 0.12em;
    line-height: 1.2;
}

.orientation-label span{
	margin-bottom:8px;
	display:inline-block;
}

.orientation-title{
	position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    padding: 8px 0px 8px 14px;
}

.orientation--year{
	font-size: 12px;
    font-weight: 700;
}

.orientation--time,
.orientation--month{
	font-size: 12px;
    font-weight: 700;
}


.orientation-desc-txt{
	margin-bottom:16px;
}

.n--item{
	text-align:center;
}

.c--form--wrap .p--desc{
	font-size:15px;
	margin:0 0 3em;
}

.c--desc{
	margin:0 0 3em;
	font-size: 15px;
}


.p--desc p{
	text-align:center;
}


.p--info .p--desc--listing a{
	color: #fff;
    background: #36a039;
    padding: 1em;
    display: inline-block;
    position: relative;
    font-size: 14px;
    font-weight: 700;
	flex:0 0 50%;
    text-align: center;
	width:100%;
	max-width:400px;
	text-decoration:none;
	display:block;
	margin: 0 auto;
}




.p--info .p--desc--listing a:hover{
	text-decoration:none;
}

.p--info .p--desc--listing a:nth-child(2){
	margin-top:16px;
}

.p--info .p--desc--listing a:last-child{
	background:#fff;
	color:#36a039;
	border:1px solid #36a039;
}
.p--info .p--desc--listing a:hover{
	background:#36a039;
	color:#fff;
}


.p--info .p--desc--listing a:first-child:hover{
	background:#fff;
	color:#36a039;
}

.p--info .p--desc--listing a:first-child:after{
	content:none;
}

.page-template-contact-page .p--info .p--desc--listing a:first-child:after{
	content:"";
	color:#fff;
}

.page-template-contact-page .p--info .p--desc--listing a:hover:first-child:after{
	color:#36a039;
}


.p--desc--listing .material-symbols-outlined {
    font-size: 18px;
    width: 1em;
    height: 1em;
    line-height: 1;
    vertical-align: text-bottom;
    margin-right: 3px;
}

.p-index{
	/*max-width:800px;
	margin:0 auto;*/
}

.p-index ul{
	list-style-type:none;
	margin:0 0 2em;
	width: 100%;
    display: -webkit-inline-box;
    display: inline-flex;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    justify-content: start;
    -webkit-box-align: start;
    align-items: flex-start;
	flex-wrap: nowrap;
    overflow-x: auto;
}

.p-index ul li{
    margin: 0 10px 12px;
    padding: 0.25rem 1rem;
    background: #f2f2f2;
    border-radius: 2rem;
    font-weight: 500;
    font-size: 12px;
    white-space: nowrap;
}

.p-index ul li a{
	color:#212121;
}

.p-index ul li a:hover{
	color:#36a039;
}

.p-index ul li.current-category{
	background: #36a039;
    color: #ffff;
}

.p-index ul li.all{
	margin-left:0;
}





/**
 * News
 */


.news-box a{
	padding: 1rem 0 1.5rem 0;
    display: block;
	color: #212121;
}

.listing-item,
.orientation-item .orientation-item-inner,
.home-contact-btn-item-text{
	position:relative;
}

.home-contact-btn-item-text span.ja{
	color: #212121;
    font-size: 15px;
    font-weight: 700;
}


.home-contact-btn-item-text span.en{
	color: #888;
    font-size: 12px;
    font-weight: 600;
	    letter-spacing: 0;
    font-family: "Montserrat", sans-serif;
}


.home-contact-btn-item-text {
  position: relative;
}

.home-contact-btn-item-text::before {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "wght" 200;
font-size: 30px;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    color: #888;
}

.home-contact-btn-item-text:nth-child(1)::before {
  content: "mail";
}

.home-contact-btn-item-text:nth-child(2)::before {
  content: "description";
}

.home-contact-btn-item-text:nth-child(3)::before {
  content: "event";
}

.home-contact-btn-item-text:nth-child(4)::before {
  content: "chat_bubble";
}

/*
.listing-item a:after,
.orientation-item .orientation-item-inner:after,
.home-contact-btn-item-text:after,
.news-box a:after{
content: "arrow_forward";
    color: #212121;
    font-size: 16px;
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #212121;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    font-variation-settings: "wght" 300;
    font-family: "Material Symbols Outlined";
}

.orientation-item .orientation-item-inner:after,
.home-contact-btn-item-text:after{
	right: 1.5rem;
}

a.orientation-item-inner:hover:after,
.news-box a:hover:after{
border: 1px solid #36a039;
	color: #36a039;
}

*/

.home-contact-btn-item-text {
  transition: transform 0.2s ease;
}

.home-contact-btn-item-text:hover {
  transform: scale(1.05);
}

.news-box a:hover .news-item-title{
color:var(--a-color);
	-webkit-transition: ease 0.3s;
    transition: ease 0.3s;
}

.news-box{
	border-top: 1px solid #ddd;
	position:relative;
}

.news-box:last-child{
	border-bottom: 1px solid #ddd;
}



.top-news .home-head{
	display: flex;
    justify-content: space-between;
    align-items: center;
}
	
.news-item-cat,
.news-item-date{
	display: inline-block;
}

.top-news .listing-btn a{
	margin:0 0 1.75em;
}

.news-item-date{
	    font-size: 12px;
}

.news-item-cat{
    min-width: 80px;  
	margin: 0 20px;
}

.news-item-title{
	margin-top:10px;
	font-size:14px;
	line-height:1.5;
}

.news-item-cat span{
	font-size: 10px;
    font-weight: 600;
    text-align: center;
	border:1px solid #36a039;
    padding: 0.1375rem 0.25rem;
    color: #36a039;
    width: 100%;
	border-radius:3rem;
    display: block;
}

.f--news{
	margin:2rem 0 3rem;
}

.main-navigation .more--horiz.menu-item-has-children > a:after{
	content:none;
}


.main-navigation .more--horiz.menu-item-has-children > a{
	padding-right:0;
}


.main-navigation .dot:before{
	content: "more_horiz";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 30px;
    width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    color: var(--p-color);
    text-align: center;
}




.listing-wrap{
	margin-top:4.5em;
}

.single .listing-wrap,
.info .listing-wrap{
	margin-top:0;
}

.related.listing-wrap h2{
	text-align: center;
    margin: 4rem 0 4rem;
    font-size: 1.25rem;
    line-height: 2.25rem;
}

.footer-heading a.arrow,
.contact-nav a.arrow,
.listing-btn a.arrow,
.col-content a.arrow,
.google-map-text a,
.pre-footer-text a,
.related-listing-item a{
	color:#212121;	
    transition: ease .3s;
}

.archive-listing-item a:hover .archive-listing-desc,
.related-listing-item a:hover .related-listing-desc{
	color:#212121;
}

.archive-listing-item a h3:hover,
.footer-heading a:hover.arrow,
.contact-nav a:hover.arrow,
.listing-btn a:hover.arrow,
.col-content a:hover.arrow,
.google-map-text a:hover,
.pre-footer-text a:hover,
.related-listing-item a h3:hover{
	color:#36a039;
}

.archive-listing-item a h3,
.contact-nav a,
.listing-btn a,
.col-content a,
.google-map-text a,
.pre-footer-text a,
.related-listing-item a h3{
	margin: 0 0 1rem;
    display: flex;
    align-items: center;
    transition: ease .3s;
}

.listing-btn li a{
	margin:0;
}

ul.listing-btn{
	margin:0 0 1.75rem;
}

.listing-btn li{
	list-style-type:none;
	margin:0 0 0.5rem;
}

.footer-heading a.arrow{
    display: flex;
    align-items: center;
    transition: ease .3s;	
	font-family: "Montserrat", sans-serif;
    letter-spacing: 0;
	font-weight: 500;
}

.archive-listing-item a span,
.contact-nav a span,
.listing-btn a span,
.col-content a span,
.google-map-text a span,
.pre-footer-text a span,
.related-listing-item a span{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.listing-btn{
	display:inline-block;
}

.listing-btn a:not(:last-child) {
 
}

.google-map-text a{
	justify-content: end;
    margin: 2rem 0 0;
}

.archive-listing-desc,
.related-listing-desc{
	font-size:14px;
}

.archive-listing-title{
	margin-top:1rem;
}

.archive-listing-title h3:after,
.contact-nav a:after,
.listing-btn a:after,
.col-content a:after,
.google-map-text a:after,
.pre-footer-text a:after,
.related-listing-title h3:after{
	display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Material Symbols Outlined";
    content: "arrow_forward";
    font-variation-settings: "wght" 300;
    color: #212121;
    font-size: 16px;
    width: 32px;
    height: 32px;
    border: 1px solid #212121;
    border-radius: 4rem;
    margin-left: 16px;
	text-decoration:none;
}

.footer-heading a.arrow:before{
		display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Material Symbols Outlined";
    content: "arrow_forward";
    font-variation-settings: "wght" 300;
    color: #212121;
    font-size: 16px;
    width: 32px;
    height: 32px;
    border: 1px solid #212121;
    border-radius: 4rem;
    margin-right: 16px;
	text-decoration:none;
	transform: rotate(-90deg);
}

.related-listing-menu{
	margin:0;
	list-style:none;
}

.archive-item-img,
.related-listing-img {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  background-color: #F7F4F2;
}

.archive-item-img::before,
.related-listing-img::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.archive-item-img img,
.related-listing-img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  width: 100%;
  transition: transform 0.3s ease;
}

.archive-listing-item a:hover .archive-item-img img,
.related-listing-item a:hover .related-listing-img img {
  transform: translateY(-50%) translateX(-50%) scale(1.1);
  -webkit-transform: translateY(-50%) translateX(-50%) scale(1.1);
}

.related-listing-menu li {
  display: flex;
  align-items: center;
	margin:0 0 0.525rem;
	transition: transform 0.2s ease;
	font-size:14px;
}

.related-listing-menu li:has(a:hover) {
  transform: translateX(5px);
}

.related-listing-menu li:has(a:hover)::before {
  color: #36a039;
}

.related-listing-menu li a:hover {
  color: #36a039;
}

.related-listing-menu li::before {
  font-family: "Material Symbols Outlined";
  content: 'arrow_forward_ios';
  font-variation-settings: "wght" 300;
  color: #212121;
  font-size: 16px;
  text-decoration: none;
  margin-right: 0.25rem;
  transition: color 0.2s ease;
}

.info .related-listing-title{
	position:relative;
}

.info .related-listing-title h3{
	font-size:16px;
}

.info .related-listing-title h3:after{
	position:absolute;
	right:0;
}

.archive-listing-title h3:hover:after,
.footer-heading a:hover:before,
.contact-nav a:hover:after,
.listing-btn a:hover:after,
.col-content a:hover:after,
.google-map-text a:hover:after,
.pre-footer-text a:hover:after,
.related-listing-title h3:hover:after{
	color:#36a039;
    border: 1px solid #36a039;
}

.article-content,
.voice-block,
.listing-block{
	width: 100%;
    row-gap: 3rem;
    display: grid;
    column-gap: 1rem;
	grid-template-columns: repeat(1,1fr);
}

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


.info .listing-block,
.free-school .voice-block{
	row-gap: 3rem;
}


.listing-item a{
	display: block;
    height: 100%;
    padding: 2.5rem 2rem;
    text-decoration: none;
   color: #36a039;
	background:#fff;
	border: 1px solid #ddd;
    border-radius: 20px;
}

.info .related-listing-title{
	 border-bottom: 1px solid #ccc;
    padding: 1.25rem 0 0.5rem;
    margin-bottom: 1.25rem;
}


.p--map{
	width: 100%;
    row-gap: 1rem;
    display: grid;
    column-gap: 1rem;
    grid-template-columns: repeat(1,1fr);
margin-bottom: 2em;

}




.top--access--item {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 16px;
	    font-size: 14px;
}

.page-content .top--access--item {
    width: 100%;
    max-width: 100%;
}

.access--detail--header {
    max-width: 100%;
    width: 70px;
    flex: initial;
}

.access--detail--item--desc {
    position: relative;
    padding-left: 36px;
    width: calc(100% - 70px);
}

.access--detail--item--desc:before {
    content: '';
    background-color: #8B98A9;
    width: 20px;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    top: 12px;
    transform: translateY(-50%);
}

.p--access-btn a {
    min-width:260px;
    margin: 0 auto 30px;
}

.p--access-btn{
	text-align:center;
}


.listing-title h3,
.listing-title h2{
	font-size:18px;
	margin: 0 0 1rem;
}

.listing-subtitle{
	position: relative;
  display: inline-block;
	padding:0 0 0 20px;
	margin-left:6px;
}

.listing-subtitle:before{
	content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 12px;
    height: 2px;
    background-color: #36a039;
    left: 0;
}



.about-wrap-inner {
    		width: 100%;
        row-gap: 3rem;
        display: grid;
        column-gap: 3rem;
	grid-template-columns: repeat(1, 1fr);
}

.internship .about-wrap-inner {
	        row-gap: 2rem;
}

.career-support .about-wrap,
.career-support .about-wrap-inner{
	width: 100%;
        row-gap: 0rem;
        display: grid;
        column-gap: 3rem;
	grid-template-columns: repeat(1, 1fr);	
}

.career-support .about-wrap{
	row-gap: 2rem;
}

.p-comment .about-wrap-r {
  order: -1;
	margin:0;
}

.about-wrap-r {
    margin-bottom: 30px;
}

.about-wrap-r .pic img {
	border-radius:2rem;

}

.about-wrap-r .pic{
	margin:0 auto;
	width:180px;
}


.message .about-wrap-r .pic{
width:100%;
}

.message .p-name{
	text-align:center;
}

.about-wrap-r .p-name {
    color: #212121;
    font-weight: 500;
    letter-spacing: .1em;
}

.about-wrap-l p:last-child{
	margin:0;
}

.p-comment .about-wrap-r .p-name{
	font-size:13px;
	margin-top:1.5em;
	text-align:center;
}



.career-support .p-name{
	margin: 1.5em 0;
    text-align: center;
	font-weight: 500;
}

.career-support .p-name span{
	margin-right:0.5rem;
}



.p-content .p--heading,
.p--heading{
    font-size: 22px;
	margin:0 0 1.375em;
    font-family:'Noto Serif JP', serif;
    color: #36a039;
	line-height: 1.4;
	font-weight: 700;
    letter-spacing: normal;
}

.palt{
	 -webkit-font-feature-settings: 'palt';
    font-feature-settings: "palt";
}

.p--content-block{
	text-align:center;
	margin:0 0 5em;
}


.page-content-inner{
	max-width: 800px;
    margin: 0 auto;
}


.page-content-inner .p--heading{
	text-align:center;
}


a:hover.ar--link{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.ar--link:after{
	content: "arrow_forward_ios";
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    text-align: center;
	margin-top: -2px;
}


.c--heading{
	margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-color: #f0f3f8;
    margin-bottom: 6.5em;
	height:160px;
}


.event .c--heading{
	margin-bottom: 4.5em;
}

.c--heading-inner{
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
    align-items: center;
}

.scrolldown {
    position:absolute;
  left:50%;
  bottom:0;
  height:40px;
}

.c--heading h2,
.c--heading h3,
.c--heading span{
	   font-size: 20px;
    color: #36a039;
	line-height: 1.5;
	    font-weight: 700;
	letter-spacing: normal;
	text-align:center;
}


.scrolldown:after {
    content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 50px;
  background: #36a039;
  /*animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;*/
}

.scrolldown:after{
	content: "";
    display: block;
    position: absolute;
    left: 50%;
	top:10px;
    bottom: 0;
    width: 0;
    height: 60px;
    border-left: 1px solid #36a039;
    transform: translateX(-50%);
}


@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:50px;
    opacity: 1;
  }
  100%{
    height:0;
    top:70px;
    opacity: 0;
  }
}



.c--content-item{
	    margin: 0 0 2.5em;
}

.c--content-item:last-child{
	margin: 0 0 6em;
}

.c--content-item-img{
	margin: 0 0 1.75em;
}

.c--content-item-img img{
	-o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    aspect-ratio: 3 / 2;
	box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);
}




.p-content .c--content-item-h,
.c--content-item-h{
	font-size: 20px;
	line-height:1.4;
	margin: 1em 0 1em;
	color: #36a039;
	font-weight:700;
}

.c--content-item-desc {
    margin: 0 0 1.75em;
    font-size: 14px;
}


.voice-wrap{
	margin:0 0 4em;
}


.voice-item{
	margin:0;
	/*box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);*/
    padding: 1rem 0;
	background: #fff;
}

.voice-item-img{
	width: 125px;
    margin: 0 auto 30px;
	height:125px;
}


.voice-item-img img{
    width: 100%;
    height: 100%;
	border-radius:1rem;
	background:#F7F4F2;
}


.voice-item-img img{
	-o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}



.voice-item-txt.not--item{
	margin-left:0;
}

.voice-title{
	    font-weight: 700;
    margin: 0 0 1em;
    font-size: 18px;
    line-height: 1.5;
}

.voice-desc{
	 margin: 0 0 1.75em;
	font-size:14px;
}



.voice-caption{
	font-size:13px;
}

.event-list{
	margin: 0 auto 4.5em;
}


.e--caption{
	font-size:13px;
	text-align:center;
	color:#888;
	margin-top:3rem;
}

.e--caption.voice{
	margin: 0 0 3em;
}

.event-list-box img,
.event-img img{
	-o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
	aspect-ratio: 3 / 2;
	box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);
}

.event-img .e--caption{
	text-align:left;
	margin-top:1rem;
}

.c--list ul
{
	width: fit-content;
	list-style: none;
	margin: 0 auto 4.5em;
}

.event-list ul{
	list-style: none;
margin:0;
}


.event-list-box ul{
	list-style: none;
	margin: 0;
}

ul.dot-list{
	list-style: none;
	margin: 0 0 1.75rem;
}


.c--list ul{
	font-size:15px;
}

.event-img ul{
	list-style: none;
	margin: 0 auto 4.5em;
	display: grid;
    row-gap: 1.5rem;
    column-gap: 1.5rem;
    grid-template-columns: repeat(1,1fr);
}

.event-img ul li{
	/*margin-bottom:1.5em;*/
}

.event-list-box ul li:before,
.c--list ul li:before,
.event-list ul li:before,
ul.dot-list li:before{
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 5px;
    margin-right: 8px;
    margin-top: -2px;
	background: #36a039;
}

.event-list-box ul li,
.c--list ul li,
.event-list ul li,
ul.dot-list li {
  padding-left: 18px;
  text-indent: -18px;
}



.uniform-img{
	max-width:800px;
	margin:0 auto 70px;
	text-align: center;
    width: 80%;
}

.uniform-desc{
	width: fit-content;
    margin: -20px auto 70px;
    padding: 0 24px;
}

.course-schooling dl{
    width: 100%;
    border: 1px solid #ddd;
}
.course-schooling dl dt{
	background: #f0f3f8;
	padding: 16px;
}
.course-schooling dl dd{
	background: #fff;
	padding: 16px;    
	margin: 0;
}

.event-list h3{
text-align:center;
    padding: 1em;
}

.course-schooling{
	text-align: center;
	margin:2em auto 3em;
}


.course-schooling a,
.course-schooling span{
	display: inline-block;
    max-width: 400px;
	min-width:280px;
	width:100%;
    padding: 1em 2em;
    line-height: 1.75;
	font-size:14px;
	font-weight:700;
    text-decoration: none;
    color: #36a039;
    background-color: #fff;
    border: 1px solid #36a039;
}

.course-schooling a:not(last-child),
.course-schooling span:first-child{
	margin: 0 0 1em;
}

.course-schooling span{
	border: 1px solid #212121;
	color:#212121;
}

.ar--btn a,
.course-schooling a {
    position: relative;
}


.ar--btn a{
	display: inline-block;
    max-width: fit-content;
	width:100%;
	min-width:240px;
    padding: 1.25em 2em;
    line-height: 1.75;
	font-size:14px;
	font-weight:700;
    text-decoration: none;
    color: #fff;
    background-color: #212121;
	text-align: center;
	border-radius:3rem;
}


.main-visual-cta-col a:hover,
.ar--btn a:hover,
.course-schooling a:hover{
	background:#36a039;
	color:#fff;
}

.organization .ar--btn a{
	margin-top:2.5rem;
}

.main-visual-cta-col a:after,
.course-schooling a:after {
    content: '';
    position: absolute;
    top: 50%;
    right:32px;
    width: 40px;
    height: 6px;
    color: #36a039;
    border-bottom: solid 1px;
    border-right: solid 2px;
    -webkit-transform: translateY(-50%) skew(65deg);
    transform: translateY(-50%) skew(65deg);
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}






.listing-item a{
	position:relative;
}

.listing-item a h2,
.listing-item a h3{
	color: #36a039;
}



.main-visual-cta-col a:hover:after,
.ar--btn a:hover:after,
.course-schooling a:hover:after {
    right:24px;
	color: #fff;
}

.main-visual-cta-col:first-child a:after{
	color: #fff;
}

.main-visual-cta-col:first-child a:hover:after{
	right:24px;
	color: #36a039;
}


.main-visual-inner{
	background-color: #fff;
    position: relative;
    font-family: YakuHanJP,"Noto Sans JP", sans-serif;
}

.main-visual-image{
	    position: relative;
    z-index: 1;
	width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.main-visual-image img{
	width:100%;
    height: 300px;
    object-fit: cover;
}

.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}

.main-visual-image-swipe {
margin:0;
}

.main-visual-copy{
	margin:2em auto;
	
	padding: 0 16px;
	text-align:center;
}

.main-visual-heading{
	font-size: 48px;
    margin: 0 0 12px;
    font-family: YakuHanJP,"Sawarabi Mincho", 'Noto Serif JP', serif;
    color: #212121;
    line-height: 1.3;
    font-weight: normal;
}

.main-visual-mcopy{
	font-family: YakuHanJP, 'Noto Serif JP', serif;
	font-size: 14px;
    padding-left: 6px;
}

.main-visual-cta-col a{
	display: inline-block;
    padding: 16px 24px;
    border: 1px solid #36a039;
    color: #36a039;
    width: 100%;
    max-width: 340px;
    text-align: center;
    margin-bottom: 16px;
	background:#fff;
	font-weight:700;
	position:relative;
}

.main-visual-cta-col:first-child a{
	background:#36a039;
	color: #fff;
}

.main-visual-cta-col:first-child a:hover{
		background:#fff;
	color: #36a039;
}



.h--wrap-inner{
	max-width:1300px;
	margin:0 auto;
}

.h--wrap{
	border-top: 60px solid #fff;
}

.h--bg{
	background-color: #f7f8fa;
}


.block--01.h--wrap{
	padding-bottom:60px;
}

.block--01.h--wrap .ar--btn{
	padding:0 16px;
}

.block--02{
    position: relative;
}

.block--02 .h--wrap-inner{
	max-width:100%;
}



.h--wrap-pic img{
	width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.h--wrap-pic{
	height: 250px;
}




.h--wrap-content{
	width: 100%;
    background: #fff;
    padding: 90px 16px 60px;
}

.h--wrap h2{
	font-size: 24px;
    height: 125px;
    padding: 40px 0 0 30px;
    margin: -58px 0 5px;
	position: relative;
    z-index: 2;
}



.h--wrap .h--heading span{
	font-family: 'Marck Script', cursive;
	position: absolute;
    top: -5px;
    font-size: 60px;
	color:#eaeff5;
	    z-index: 1;
}


.block--01 .h--wrap-block{
	    max-width: 1000px;
}

.block--03{
	position:relative;
}

.block--03:after{
	content: "";
    width: 100%;
    padding-top: 250px;
    background-color: #f7f8fa;
    position: absolute;
    left: 0;
    top: 60px;
}

.block--03 .h--wrap-pic{
    height: 250px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
	z-index: 2;
    position: relative;
}

.block--03 .h--wrap-pic img {
    object-position:left;
}

.block--03 .h--wrap-pic {
    padding: 0 0 0 29.4811%;
}

.hf--heading{
	position: relative;
	color:#36a039;
	margin-bottom: 1em;
	padding: 0 16px 0 82px;
    font-size: 20px;
	line-height:1.4;
    font-weight: 700;
    letter-spacing: 0;
}


.h--wrap-block-item{
    margin: 0 0 5em;
}


.h--wrap-block-item:nth-child(even){
	flex-direction: row-reverse;
}




.hf--heading:before {
    content: '';
    background-color: #36a039;
    width: 60px;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    top: 15px;
    transform: translateY(-50%);
}



.block--04{
	margin-bottom:30px;
}

.h--course--listing{
	margin-bottom:60px;
	padding:0 1em;
}



.listing-desc{
	font-size:14px;
	margin:0 0 1.75em;
}

.block--04 .h--wrap-block {
    height: 250px;   
    margin-top: 1.5rem;
    margin-left: 10%;
    z-index: 2;
    position: relative;
    padding: 0;
    margin-bottom: 90px;
}

.block--04 .h--wrap-block img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}


.block--04:before {
    content: "";
    width: 60%;
    padding-top: 250px;
    background-color: #f7f8fa;
    position: absolute;
    right: 0;
    top: 10px;
}

.block--04,
.block--05{
	position:relative;
}

.block--05:after {
    content: "";
    display: block;
    width: 70%;
    height: 98%;
    background-color: #f7f8fa;
    position: absolute;
    right: 0;
    top: 4%;
}

.block--05 .h--wrap-block{
	position: relative;
    z-index: 2;
}

.block--05 .h--wrap-block.h--cp--listing{
padding: 30px 16px 20px;
	margin-bottom:7em;
}

.block--05 .h--btn{
	margin:0;
}

.block--05 .h--wrap-block ul{
    margin: 0;
    list-style-type: none;
}

.block--05 .h--wrap-block ul li {
    margin-bottom: 20px;
    background: #fff;
    overflow: hidden;
}


.h--cp--listing--item{
	transition: box-shadow .2s cubic-bezier(.39,.575,.565,1);
    box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);
	    display: block;
	position:relative;
}

.h--cp--listing--item:hover {
    box-shadow: 1.5rem 1.5rem 4rem 0 rgba(2,48,126,.15);
}


.h--cp--listing--item--image{
	position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 200px;
		position: relative;
		-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}

.h--cp--listing--item--image.yanagawa{
	background-image: url(https://shizengakuen.ed.jp/contents/wp-content/uploads/2023/09/yanagawa_campus.jpg);
}

.h--cp--listing--item--image.kofu{
	background-image: url(https://shizengakuen.ed.jp/contents/wp-content/uploads/2023/09/kofu_campus_no2.jpg);
}

.h--cp--listing--item--image.sutama{
	background-image: url(https://shizengakuen.ed.jp/contents/wp-content/uploads/2023/09/sutama_campus.jpg);
}

.h--cp--listing--item--image.sagamihara{
	background-image: url(https://shizengakuen.ed.jp/contents/wp-content/uploads/2023/09/sagamihara_campus.jpg);
}

.h--cp--listing--item--image:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 70%, rgb(0, 0, 0,0.7) 100%);
}

.h--cp--listing--item--image:hover{
	-moz-transform: scale(1.05);
-webkit-transform: scale(1.05);
-ms-transform: scale(1.05);
transform: scale(1.05);
	transition: .3s ease;
}


.h--cp--listing--item--link{
	position: absolute;
    bottom: 16px;
    right: 8px;
	transition: .3s ease;
	pointer-events: none;
}



.h--cp--listing--item:hover .h--cp--listing--item--link{
	right: 0px;
}

.h--cp--listing--item--txt{
   position: absolute;
    bottom: 32px;
    right: 16px;
    text-shadow: #000 0 0 10px, #fff 0 0 10px;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
	pointer-events: none;
}

.move-arrow{
  display: inline-block;
  position: relative;
}


.move-arrow:after{
	content: '';
    position: absolute;
    top: 50%;
    right: 16px;
    width: 40px;
    height: 6px;
    color: #fff;
    border-bottom: solid 2px;
    border-right: solid 4px;
    -webkit-transform: translateY(-50%) skew(65deg);
    transform: translateY(-50%) skew(65deg);
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}

/*.move-arrow::before {
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 40px;
  height: 1px;
  margin-top: 0px;
  content: "";
}

.move-arrow::after {
  position: absolute;
  top: 50%;
  right: 13px;
  width: 14px;
  height:12px;
  margin-top: -6px;
  -webkit-transform: rotate(45deg);    
	transform: rotate(45deg);
  border-top: 1px solid #fff;
  content: "";
  display: inline-block;
  vertical-align: middle;
}*/




.h--wrap-block{
	padding: 20px 16px 50px;
   margin: 0 auto;
}



.h--wrap-block .news-item-date {
    font-size: 14px;
}


.h--wrap-block .news-item-title{
	font-size: 13px;
}

.h--wrap .h--heading{
	position: relative;
	max-width: 1300px;
    margin: 0 auto;
	z-index:2;
}

.h--wrap-txt{
	font-size:14px;
	margin:0 0 60px;
}



.h--btn{
	text-align:right;
	margin: 2em 0 1em;
}

.h--btn a{
	padding: 10px 24px;
    border: 1px solid #36a039;
    border-radius: 3em;
    display: inline-block;
	color:#36a039;
	font-size:14px;
	background:#fff;
}

.h--wrap-block .news-box:nth-child(5){
	border-bottom: 1px solid #eaeaea;
}


.home .site-content{
	padding:0;
}

.p--col,
.o--listing,
.r--listing{
	margin:0 auto 5em;
	/*max-width:800px;*/
}

.p-content .radius-table td,
.p-content .radius-table th,
.r--listing table th,
.o--listing table th,
.r--listing table td,
.o--listing table td{
	padding:0.9375rem;
	font-size:13px;
}

.g--listing table th,
.g--listing table td{
		font-size:13px;
}

.g--caption{
	font-size:13px;
}

.o--listing table th{
	width:100px;
}

.g--listing.c--text td{
	text-align:center;
}

th,
.t--heading{
	background:#F7F4F2;
}

.t--heading.c--text td{
	text-align:center;
}

.table-scroll{
	overflow: auto;
    /*white-space: nowrap;*/
	padding-bottom: 1em;
    margin-bottom: 1.75em;
}

.table-scroll table{
	margin:0;
}

.table-scroll td{
	width:180px;
}

.table-scroll .w300{
	width:300px;
}




.table-scroll::-webkit-scrollbar{　　
	width: 10px;
	height: 8px;
}

.table-scroll::-webkit-scrollbar-track{
	background:#f5f5f5;
	border-radius: 10px;
}

.table-scroll::-webkit-scrollbar-thumb {
	background: #cdcdcd;
	border-radius: 10px;
}


/**
 * Q&A
 */


.faq--toggle {
	display: none;
}

.faq--option {
	position: relative;
	margin-bottom: 1em;
	overflow: hidden;
	border: 1px solid #ccc;
	border-radius: 1rem;
	transform: translateZ(0);
	transition: all 0.3s;
}

.faq--option:hover{
	border-color:#36a039;
}

.faq--option:last-child {
	margin-bottom: 4rem;
}

.faq--option:has(.faq--toggle:checked) {
    border-color: #36a039;
}


.faq--title,
.faq--content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.faq--title {
	padding: 1rem 3.725rem;
	display: block;
	color: #212121;
	font-weight: bold;
	cursor: pointer;
	background: #fff;
	font-size: 14px;
	line-height: 1.375;
	overflow: hidden;
}

.faq--title::after {
	font-family: "Material Symbols Outlined";
	font-variation-settings: "wght" 300;
	content: "arrow_forward";
	font-size: 16px;
	color: #212121;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%) rotate(0deg); /* 閉: 右向き */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid #212121;
	border-radius: 4rem;
	flex-shrink: 0;
	transition: transform 0.3s, color 0.2s, border-color 0.2s;
}

.faq--title:hover::after {
	color: #36a039;
	border-color: #36a039;
}

.faq--title:hover{
	color: #36a039;
}

.faq--toggle:checked + .faq--title::after {
	transform: translateY(-50%) rotate(90deg); /* 開: 下向き */
	color: #36a039;
	border-color: #36a039;
}

.faq--content {
	max-height: 0;
	overflow: hidden;
}

.faq--content div {
	margin: 0;
	padding: 1rem 1rem 1rem 3.725rem;
	line-height: 1.75;
	font-size: 14px;
}

.faq--content div:before {
	content: "A.";
	font-family: Montserrat;
	color: #36a039;
	font-weight: 600;
	letter-spacing: 0.06em;
	font-size: 24px;
	position: absolute;
	top: 11px;
	left: 22px;
}

.faq--content a{
	-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.faq--content a:hover{
	color:#36a039;
}

.faq--toggle:checked + .faq--title + .faq--content {
	max-height: 500px;
	transition: all 1.5s;
}

.faq--toggle:checked + .faq--title {
	color: #36a039;
	border-bottom:1px solid #ccc;
	overflow: hidden;
}

.faq--title span:before {
	content: "Q.";
	font-family: Montserrat;
	color: #36a039;
	font-weight: 600;
	letter-spacing: 0.06em;
	font-size: 24px;
	position: absolute;
	top: 50%;
	transform: translate(20px, -50%);
	-webkit-transform: translate(20px, -50%);
	-ms-transform: translate(20px, -50%);
	left: 0;
}

.faq--content .p--flow--item .number {
	width: 64px;
	font-size: 26px;
	line-height: 1.7;
}

.faq--content .p--flow--item .txt {
	width: calc(100% - 64px);
}

.faq--content-desc {
	font-size: 14px;
	text-align: center;
}

.faq--content a:hover:not(.tel) {
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.faq--content ul:last-child,
.faq--content ol:last-child,
.faq--content p:last-child {
	margin-bottom: 0;
}


.p--map--item img{
	object-fit: cover;
	aspect-ratio: 3 / 2;
	width:100%;
	height:100%;
	box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);
}

	.p--map--item{
	height:250px;
}

.p--map--item iframe{
	height: 100%;
	width:100%;
	aspect-ratio: 3 / 2;
	box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);
}


.course-listing-wrap{
	margin:0 auto 5em;
	max-width:840px;
}

.course-listing-wrap.col--1{
	
}

.sitemap .p-content{
	margin: 0 auto;
}

.sitemap .p-content ul{
	 list-style: none;
	font-size: 15px;
	margin: 0 0 1em;
}

.sitemap .p-content li{
	position:relative;
}

.sitemap .p-content li a:hover{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.sitemap .p-content .ttl,
.sitemap .p-content h2{
	font-size: 15px;
    border-top: 1px solid #212121;
    padding-top: 1em;
    margin-bottom: 1em;
}

.sitemap .p-content .ttl:last-child,
.sitemap .p-content h2:last-child {
    border-bottom: 1px solid #212121;
    padding-bottom: 1em;
}

.sitemap .p-content ul li:before {
   content: '';
    display: inline-block;
    position: relative;
    left: -10px;
    top: -2px;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #36a039;
}
.sitemap .p-content ul li{
	padding-left: 32px;
}

.sitemap .p-content .ttl a:hover,
.sitemap .p-content h2 a:hover{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.ft--ac{
	width:fit-content;
	margin:0 auto;
}

.maintenance--wrap{
	max-width:768px;
	margin:120px auto;
}

.maintenance--wrap--inner{
	
}

span.p--line{
		-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.ds_desc{
	font-size:14px;
	margin-top:-5px;
	margin-bottom:10px;
	display:block;
}

.sa_logo img{
width: 240px;
    text-align: center;
    display: inline-block;
}

/**
 * 13.0 - Customize
 */


.ff-default .ff-el-input--content {
    position: relative;
}


.ff-default .dropdown .ff-el-input--content::before {
content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    border-color: #212121 transparent transparent transparent;
    position: absolute;
    top: 26px;
    right: 16px;
    transform: translateY(-50%);
    pointer-events: none;
}

.ff-default .ff-el-form-check label.ff-el-form-check-label span {
    margin-left: 0;
    padding-left: 30px;
    position: relative;
}

.ff-default .ff-el-form-check label.ff-el-form-check-label span:before {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    border: 1px solid #d1d1d1;
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 1px;
}

.ff-default .ff_item_selected label.ff-el-form-check-label span:after {
    position: absolute;
    top: 4px;
    left: 7px;
    transform: rotate(45deg);
    width: 7px;
    height: 10px;
    border: solid #1a1a1a;
    border-width: 0 2px 2px 0;
    content: '';
}


.fluentform input[type="checkbox"], .fluentform input[type="radio"] {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}


.ff-btn-submit.ff_btn_no_style{
	padding: 1rem 2rem;
    margin: 0.75rem auto 0;
    display: block;
}

.ff-default .ff-el-form-control{
	border-radius:0;
height:50px;
	line-height:1.5;
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;
}

select.ff-el-form-control:not([size]):not([multiple]){
	height:50px;
}



/*.fluentform .ff-el-group {
    border-bottom: 1px solid #ddd;
    padding-bottom: 25px;
}*/


.ff-column-container{
   border-bottom: 1px solid #ddd;
    /*padding-bottom: 10px;*/
    margin-bottom: 20px;
}



.fluentform{
	border-top: 1px solid #ddd;
	padding-top:20px;
}


.fluentform .ff-el-group.ff_submit_btn_wrapper{
	border-bottom:none;
}

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after{
    font-size: 0;
}

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right::after,
.phone-wrap .nf-field-label::after{   
    font-size: 10px;    
    position: relative;
    bottom: 1px;
    font-weight: 700;   
    border-radius: 2px;
    padding: 1px 6px 2px;
}



.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right::after{
	 content: "必須";
	color: #ca353b;
    background: #faeaeb;
}

.readonly input{
	border: none!important;
    padding: 0!important;
    font-size: 15px!important;
    height: auto!important;
}

.iti__country-container, .fluentform .iti__selected-flag {
    display: none !important;
}

.iti--allow-dropdown input[type=tel] {
    padding: 11px 15px !important;
}

.ff-el-phone {
  font-family: "Noto Sans JP", sans-serif !important;
}

.ff-el-phone::placeholder {
  font-family: "Noto Sans JP", sans-serif !important;
}

.fluentform .ff-el-input--label {
    margin-bottom: 10px;
}

.zipError.ff-el-group.ff-custom_html {
    margin: 0;
}

#zipError {
    color: #f56c6c;
    font-size: 12px;
    margin-top: -16px;
    margin-bottom: 20px;
}

.contact-nav{
	display: flex;
    justify-content: center;
    margin: 2.5rem 0 0;
}


#contact{
	background: #F7F4F2;
	padding:3rem 0;
}

#contact .home-wrap-inner{
	margin-bottom:0;
}

#about .home-wrap-inner{
	margin: 40px auto 0;
}



.top-course,
.top-news{
	background: #F7F4F2;
	padding:3.5rem 0;
	margin:0 0 60px;
}

.top-news .home-wrap-inner{
	margin:0 auto;
}

.top-news .home-body{
	padding: 2rem;
    background: #fff;
    border-radius:1rem;
}

.home-wrap-inner{
	max-width:1196px;
	margin:0 auto 60px;	
	padding: 0 1rem;
}



.pre-footer-contact .dot-ttl,
.home-contact-wrap .dot-ttl{
	margin:1.5rem 0 1.25rem;
}



.home-contact-wrap-r{
	margin-top:2rem;
}

.heading-en{
	font-size: 16px;
		font-family:"Roboto", sans-serif;
    font-family: "Montserrat", Sans-serif;
    font-weight: 700;
    color: #36a039;
    line-height: 1.2;
	letter-spacing: -0.01em;
    -webkit-transform: translate(3px, 0px);
    transform: translate(3px, 0px);
}

.heading-ja{
	font-size:18px;
	font-weight: 700;
	color: #212121;
	margin: 0 0 1.75rem;
}



.home-contact-btn-item-text span{
	display:block;
}

.home-contact-btn-item{
	display: grid;
    gap: 1rem;
	grid-template-columns: repeat(1, 1fr);
}

.home-contact-btn-item-text{
	padding: 2rem 4rem 2rem 2rem;
   background:#fff;
    border-radius: 10px;
}

.home-contact-desc{
	border-bottom: 1px solid #ddd;
    padding: 0 0 2rem;
    margin: 0 0 2rem;
}







.home-nav-section{
	margin-top:90px;
}

.home-nav-inner{
	width: 100%;
    row-gap: 3rem;
    display: grid;
    column-gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}

.home-nav-item a{
	display: block;
    padding: 4rem;
    border-radius: 32px;
    border: 1px solid #ddd;
}



.home-nav-item a .sub-heading-en,
.home-nav-item a h3{
	text-align:center;
}

.home-nav-item a h3{
	margin:0 0 2rem;
}

main h2.c-title{
	/*font-size:1.875rem;*/
}

.p-content h3:first-child,
.p-content h2:first-child{
	margin-top:0;
}

.entry-content h2,
.p-content h2,
.c-title {
    position: relative;
    width: -moz-fit-content;
	width: fit-content;
	padding-left: 1.5rem;
	margin-bottom: 1.2173913043em;
}

.entry-content h2:before,
.p-content h2:before,
.c-title:before{
	position: absolute;
    top: .125rem;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: .5rem;
    height: 80%;
    margin-top: auto;
    margin-bottom: auto;
    content: "";
	background:#36a039;
	border-radius: 2rem;
}

.p-content .flow-wrap h2:before{
content:none;
}



.header-nav{
	margin:2rem 0 0;
	padding-bottom: 2.5rem;
	border-bottom:1px solid #ddd;
}

nav .c-index ul li a{
	position: relative;
    display: flex;
    gap: 0.5rem;
    align-items: center;
	color: #212121;
	font-size:14px;
}

nav .c-index ul{
	display: flex;
    list-style: none;
	flex-wrap: wrap;
    gap: 1.25rem;
	margin:0;
}

nav .c-index .arrow:after{
	display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Material Symbols Outlined";
    content: "arrow_forward";
    font-variation-settings: "wght" 300;
    color: #212121;
    font-size: 16px;
    width: 24px;
    height: 24px;
    border: 1px solid #212121;
    border-radius: 4rem;
    margin-right: 6px;
    transition: ease .3s;
    transform: translateY(0) rotate(90deg);
}



.home-course-wrap-inner{
	width: 100%;
    row-gap: 3rem;
    display: grid;
    column-gap: 3rem;
    grid-template-columns: repeat(2, 1fr);
}

.pre-footer{
		margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
	background:#F7F4F2;
	border-radius:3rem 3rem 0 0;
	padding: 3rem 1.75rem;
}



.home-contact-wrap address,
.access-map address,
.pre-footer ul,
.pre-footer address{
	margin:0;
	font-style: normal;
}

.home-contact-wrap address .address,
.access-map address .address,
.pre-footer address .address{
	margin:0 0 1rem;
}

.home-contact-wrap address ul,
.orientation .access-map address{
	margin:0;
}

.home-contact-wrap address ul,
.pre-footer address ul{
	color:#666;
	list-style-type:none;
}

.home-contact-wrap address ul{
	font-size:12px;
}

.pre-footer-inner{
        display: grid;
	row-gap: 4rem;
        column-gap: 4rem;
    margin-left: auto;
    margin-right: auto;
	grid-template-columns: repeat(1, 1fr);
}

.pre-footer-inner h3{
	font-size:18px;
	margin: 0 0 2rem;
	line-height:1.5;
}

.pre-footer-popular ul{
	display: flex;
    flex-wrap: wrap;
    gap: 1rem .875rem;
	margin:0;
	list-style-type:none;
}

.pre-footer-popular ul li{
	display: grid;
}

.pre-footer-popular ul li a{
    -webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
	background: #fff;
	color: #212121;
    border-radius: 3rem;
    padding: 0.75rem 1.375rem;
	font-size:13px;
}

.pre-footer-popular ul li a:hover{
	color: #36a039;
}

.home-wrap .col-content h2{
	font-size: 1.875rem;
    line-height: 1.5;
    margin-top: 0.375rem;
    margin-bottom: 1.2173913043em;
    letter-spacing: 0.05px;
    color: #212121;
}

.home-wrap .col-content h2,
.pre-footer-title {
    position: relative;
    padding-left: 48px;
    display: flex;
    align-items: center;
}

.pre-footer-title{
	padding-left: 38px;
}

.home-wrap .col-content h2:before,
.pre-footer-title:before {
position: absolute;
    left: 0;
    top: 5px;
	    bottom: auto;
    transform: none;
    font-family: "Material Symbols Outlined";
    content: "bookmark";
    font-variation-settings: "wght" 300;
    color: #ffffff;
    font-size: 24px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #212121;
    border-radius: 3px;
}

.pre-footer-title:before{
	top: 1px;
	    width: 28px;
    height: 28px;
}

.home-wrap .col-content h2.hs:before{
content:"handshake"
}

.home-wrap .col-content h2.bk:before{
content:"book_2"
}

.home-wrap .col-content h2.mp:before{
content:"map"
}

.home-wrap .col-content h2.cm:before{
content:"calendar_month"
}

.home-wrap .col-content h2.sc:before{
content:"school"
}

.pre-footer-contact .pre-footer-title:before{
	content: "call";
}

.pre-footer-phone{
font-family: "Montserrat","Noto Sans JP", sans-serif;
    line-height: 1;
    margin: 0 0 1rem;
    color: #36a039;
    font-weight: 700;

}

.pre-footer-phone a{
	color: #36a039;
		font-size: 36px;
}

.pre-footer-contact address{
	font-size:13px;
}

.pre-footer-contact ul{
	font-size: 12px;
}

.office-hours{
	margin-top:0.75rem;
}

.footer-logo,
.footer-page-top{
	display:inline-block;
}

.access-map{
	font-size:14px;
}

.access-map address a{
	color:#212121;
}

.access-map ul{
	list-style-type: none;
    margin: 0;
}

.access-map-inner{

}

.google-map{
	border-radius: 20px;
    overflow: hidden;
	margin-top:2rem;
}

.google-map iframe {
    width: 100%;
    margin: 0;
}

.home-wrap .layout2-wrap{
	margin-top:4rem;
}

.organization .layout2-item{
	
}

.organization .p-content .listing-wrap h3{
	font-size: 1.17em;
}


.layout2-inner{
	display: grid;
	row-gap: 0;
    column-gap: 4rem;
}

.layout2-item{
display: grid;
	row-gap:0;
    column-gap: 1.5rem;
    grid-template-columns: repeat(1, 1fr);
}

.thum-2 .layout2-item{
	row-gap:1.5rem;
}

.layout2-img .layout2-item{
	column-gap:1.75rem;
	row-gap: 1.75rem;
}

.layout2-item{
	margin:0 0 1.75rem;
}

.col-content{
display:contents;
}



.col-thumb,
.col-content h2{
	order:-1;
}

.col-thumb img{
	border-radius: 1rem;
	aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
}

.col-content p:first-child{
	margin-top:2rem;
}


.layout2-img .col-thumb img{
		border-radius: 1rem;
}

.col-text .heading{
	font-size: 18px;
    font-size: 1.125rem;
	font-weight:700;
	margin:0 0 1.75rem
}

.col-img{
	margin-left:auto;
}

.col-img img{
	width:8em;
}


/* ============================================================
 * オープンキャンパス 日程一覧 スタイル（シンプル版 / Ver2）
 * style.css または専用CSSファイルに追記してください
 * ============================================================ */

/* Material Symbols Outlined（矢印アイコン用）
 * すでに読み込み済みの場合はこの @import を削除してください */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,300,0,0');

/* ---------- キャンパスセクション ---------- */
.campus-section {
  margin-bottom: 3rem;
}

/* ---------- カード（モバイルファースト） ---------- */
.schedule-card {
  display: grid;
  grid-template-columns: 78px 1fr auto; /* auto = 矢印アイコン列 */
  gap: 0 1rem;
  align-items: start;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 1.1rem 1rem;
  margin-bottom: 0.75rem;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

/* 矢印アイコン（右端・縦中央） */
.schedule-card::after {
  content: "arrow_forward";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "wght" 300;
  font-size: 16px;
  color: #212121;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 32px;
  height: 32px;
  border: 1px solid #212121;
  border-radius: 4rem;
  margin-left: 16px;
  text-decoration: none;
  flex-shrink: 0;
}

a.schedule-card:hover::after,
a.schedule-card:hover {
  border-color: #36a039;
}

a.schedule-card:hover::after {
  border-color: #36a039;
  color: #36a039;
}

/* 受付終了カード（リンク無効） */
a[tabindex="-1"].schedule-card {
  opacity: 0.55;
  pointer-events: none;
  cursor: default;
}

/* ---------- 左カラム: 日付 ---------- */
.card-date {
  text-align: center;
  border-right: 1px solid #ccc;
  padding-right: 1rem;
  align-self: center;
}

/* 年（例: 2026） */
.date-month-en {
  font-size: 0.72rem;
  color: #3a8a3a;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* 月/日（例: 4/7、12/25）— 改行防止・文字数が多い月にも対応 */
.date-day {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1;
  color: #1a1a1a;
  margin: 0.1rem 0;
  white-space: nowrap;
}

/* 曜日バッジ */
.date-weekday {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
  background: #eef4ee;
  color: #3a8a3a;
}

.date-weekday.is-sun {
  background: #fef0f0;
  color: #d64040;
}

.date-weekday.is-sat {
  background: #eef2fe;
  color: #3a5ad6;
}

/* 随時受付テキスト */
.date-anytime {
  font-size: 0.82rem;
  font-weight: 800;
  color: #3a8a3a;
  line-height: 1.5;
}

/* 随時受付カード: 左カラムを縦中央に揃える */
.schedule-card.is-anytime {
  align-items: center;
}

/* ---------- 右カラム: 本文 ---------- */
.card-body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* ラベル */
.card-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #3a8a3a;
  letter-spacing: 0.06em;
}

.card-tag::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.card-tag.is-closed {
  color: #999;
}

.card-tag.is-few {
  color: #d97706;
}

.card-tag.is-open {
  color: #3a8a3a;
}

/* タイトル */
.card-title-text {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* 時間 */
.card-time {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: #777;
}

/* ---------- レスポンシブ（モバイルファースト） ---------- */

/* 56.875em（910px）以上: タブレット横向き〜 */
@media screen and (min-width: 56.875em) {
  .schedule-card {
    grid-template-columns: 80px 1fr auto;
    gap: 0 1.25rem;
    padding: 1.25rem 1.25rem;
  }

  .card-date {
    padding-right: 1.25rem;
  }

  .date-day {
    font-size: 1.4rem;
  }

  .card-title-text {
    font-size: 1rem;
  }
}

/* 64em（1024px）以上: デスクトップ */
@media screen and (min-width: 64em) {
  .schedule-card {
    grid-template-columns: 90px 1fr auto;
    gap: 0 1.5rem;
    padding: 1.4rem 1.6rem;
  }

  .card-date {
    padding-right: 1.5rem;
  }

  .card-title-text {
    font-size: 1.05rem;
  }
}


.teachers-caption,
.teachers-desc{
	margin-top:1rem;
}

.teachers-caption,
.teachers-title,
.members-listing .teachers-title,
.members-listing .teachers-caption,
.members-listing .teachers-desc{
	text-align:center;
}

.members-listing .teachers-desc{
	margin-top:0;
}

.teachers-desc,
.teachers-title{
	font-size:14px;
}




.teachers-item-img img{
	border-radius:2rem;
	display: block;
  width: 180px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
	margin:0 auto;
}



.dot-ttl,
.promise-problem {
    position: relative;
    padding-left: 1.25rem;
    font-size: 15px;
    color: #212121;
    line-height: 1.75;
	font-weight: 700;
}

.dot-ttl::before,
.promise-problem::before {
    position: absolute;
    top: .575em;
    left: 0;
    display: inline-block;
    width: .625rem;
    height: .625rem;
    aspect-ratio: 1;
    content: "";
    background-color: #36a039;
    border-radius: 50%;
}


.price-wrap td,
.price-wrap th{
	text-align:center;
}


.support-box,
.price-box {
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
	padding: 2rem;
}

.support-formula,
.price-formula{
	margin-top:2.5rem;
}

.price-box-title {
  font-size: 18px;
  font-weight: 700;
	margin: 0 0 2rem;
	text-align: center;
}

.support-box-title{
  font-size: 18px;
  font-weight: 700;
	text-align: center;
}

.support-box-label{
font-size: 14px;
  font-weight: 500;
	margin: 0 0 1rem;
	text-align: center;	
}

.support-box-items,
.price-box-items {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.support-box-item,
.price-box-item {
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.support-box-item::before
.price-box-item::before {
  content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #36a039;
    flex-shrink: 0;
}

.price-notice{
	font-size:13px;
}

.support-op,
.price-op {
  position: relative;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin: 2rem auto;
}

.support-op::before,
.support-op::after,
.price-op::before,
.price-op::after {
  content: '';
  position: absolute;
  background-color: #888;
  border-radius: 2px;
}

/* 横線 */
.support-op::before,
.price-op::before {
  width: 32px;
  height: 4px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* 縦線 */
.support-op::after,
.price-op::after {
  width: 4px;
  height: 32px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}



.flow-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.flow-step {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
}

.flow-step-header {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 1rem 1.5rem;
}

.flow-step-num {
  font-size: 22px;
  font-weight: 700;
  color: #36a039;
  flex-shrink: 0;
  min-width: 2.5rem;
  text-align: center;
	font-family: "Montserrat", Sans-serif;
}

.p-content .flow-wrap h2{
  font-size: 18px;
  font-weight: 700;
  color: #36a039;	
		  margin: 0;
    padding: 0;
}

.flow-step-title {
  font-size: 18px;
  font-weight: 700;
  color: #36a039;
}

.flow-step-body {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.5rem 1.5rem;
  border-top: 1px solid #ccc;
}

.flow-step-arrows {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  width: 2.5rem;
  padding-top: 4px;
}


.flow-arrow-icon {
  display: block;
  width: 34px;
  height: 42px;
}

.flow-step-content {
  flex: 1;
}

.flow-step-content p {
  font-size: 14px;
  margin: 0 0 0.75rem;
}

.flow-step-content ol,
.flow-step-content ul{
  font-size: 14px;
}

.flow-step-content ol:last-child,
.flow-step-content ul:last-child,
.flow-step-content p:last-child {
  margin-bottom: 0;
}

.flow-step-content ol {
  list-style: decimal;
  padding-left: 1.75rem;
}

.flow-step-content ol li::before{
	content:none;
}

.flow-step-content ol li{
	padding-left: 0;
}


@media (max-width: 480px) {
  .flow-step-header {
    padding: 0.75rem 1rem;
  }

  .flow-step-num {
    font-size: 18px;
  }

  .flow-step-title {
    font-size: 16px;
  }

  .flow-step-body {
    padding: 0.75rem 1rem 1rem;
  }

.flow-arrow-icon {
    width: 24px;
    height: 30px;
  }
}

.home-menu-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.top-course .home-menu-container{
	grid-template-columns: repeat(1, 1fr);
}

.home-menu-item {
  display: flex;
}

.home-menu-title {
  font-size: 16px;
  font-weight: 700;
}

.home-menu-desc {
  font-size: 14px;
  line-height: 1.8;
  flex: 1;
}


.home-menu-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 2px solid transparent;
  border-radius: 1rem;
  padding: 1rem;
  gap: 0.75rem;
  text-decoration: none;
  color: #fff;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.home-menu-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.6);
  margin-top: 0.5rem;
  align-self: flex-end;
  transition: border-color 0.2s;
}

.home-menu-arrow::before {
  font-family: "Material Symbols Outlined";
  content: "arrow_forward";
  font-size: 18px;
  line-height: 1;
  color: #fff;
  transition: color 0.2s;
}

/* 資料請求 */
.home-menu-container--cta .home-menu-item:nth-child(1) .home-menu-box {
  background: #36a039;
  border-color: #36a039;
}
.home-menu-container--cta .home-menu-item:nth-child(1) .home-menu-box:hover {
  background: #fff;
  color: #36a039;
  border-color: #36a039;
}
.home-menu-container--cta .home-menu-item:nth-child(1) .home-menu-box:hover .home-menu-arrow {
  border-color: #36a039;
}
.home-menu-container--cta .home-menu-item:nth-child(1) .home-menu-box:hover .home-menu-arrow::before {
  color: #36a039;
}

/* 学校説明会 */
.home-menu-container--cta .home-menu-item:nth-child(2) .home-menu-box {
  background: #3FA7D1;
  border-color: #3FA7D1;
}
.home-menu-container--cta .home-menu-item:nth-child(2) .home-menu-box:hover {
  background: #fff;
  color: #3FA7D1;
  border-color: #3FA7D1;
}
.home-menu-container--cta .home-menu-item:nth-child(2) .home-menu-box:hover .home-menu-arrow {
  border-color: #3FA7D1;
}
.home-menu-container--cta .home-menu-item:nth-child(2) .home-menu-box:hover .home-menu-arrow::before {
  color: #3FA7D1;
}

/* 無料慣らし授業 */
.home-menu-container--cta .home-menu-item:nth-child(3) .home-menu-box {
  background: #212121;
  border-color: #212121;
}
.home-menu-container--cta .home-menu-item:nth-child(3) .home-menu-box:hover {
  background: #fff;
  color: #212121;
  border-color: #212121;
}
.home-menu-container--cta .home-menu-item:nth-child(3) .home-menu-box:hover .home-menu-arrow {
  border-color: #212121;
}
.home-menu-container--cta .home-menu-item:nth-child(3) .home-menu-box:hover .home-menu-arrow::before {
  color: #212121;
}

/* フリースクール */
.home-menu-container--cta .home-menu-item:nth-child(4) .home-menu-box {
  background: #edc61f;
  border-color: #edc61f;
  color: #fff;
}
.home-menu-container--cta .home-menu-item:nth-child(4) .home-menu-box:hover {
  background: #fff;
  color: #edc61f;
  border-color: #edc61f;
}
.home-menu-container--cta .home-menu-item:nth-child(4) .home-menu-box:hover .home-menu-arrow {
  border-color: #edc61f;
}
.home-menu-container--cta .home-menu-item:nth-child(4) .home-menu-box:hover .home-menu-arrow::before {
  color: #edc61f;
}

.home-menu-arrow::before {
  font-family: "Material Symbols Outlined";
  content: "arrow_forward";
  font-size: 18px;
  line-height: 1;
}


.top-course .home-menu-box {
  background: #fff;
  color: #212121;
  transition: border-color 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.top-course .home-menu-box:hover {
  background: #fff;
  color: #36a039;
  border-color: #36a039;
}

.top-course .home-menu-title {
  color: #212121;
  transition: color 0.3s ease;
}

.top-course .home-menu-desc {
  color: #666;
  transition: color 0.3s ease;
}

.top-course .home-menu-arrow {
  border-color: #212121;
  transition: border-color 0.3s ease;
}

.top-course .home-menu-arrow::before {
  color: #212121;
  transition: color 0.3s ease;
}

.top-course .home-menu-box:hover .home-menu-title {
  color: #36a039;
}

.top-course .home-menu-box:hover .home-menu-desc,
.top-course .home-menu-box:hover .home-menu-arrow::before {
  color: #36a039;
}

.top-course .home-menu-box:hover .home-menu-arrow {
  border-color: #36a039;
}



.column .heading-ja,
.column .heading-en,
.info .heading-ja,
.info .heading-en,
.top-course .heading-ja,
.top-course .heading-en,
.top-feature .heading-ja,
.top-feature .heading-en{
	text-align:center;
}

.column .heading-ja,
.info .heading-ja,
.top-course .heading-ja,
.top-feature .heading-ja{
	margin:0 0 3.5rem;
}


.top-feature-inner {
  margin: 3rem auto 0;
}

.top-feature-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.course .top-feature-list,
.consultation-support .top-feature-list,
.ikigai .top-feature-list{
grid-template-columns: repeat(1, 1fr);	
}

.top-feature-item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.consultation-support .top-feature-item,
.ikigai .top-feature-item,
.course .top-feature-item{
	background: #F9F7F5;
    border-radius: 1rem;
    padding: 2rem;
}

.top-feature-num {
  font-size: 18px;
  font-weight: 700;
  font-family: "Montserrat", Sans-serif;
  letter-spacing: 0.05em;
}

.consultation-support .top-feature-num,
.ikigai .top-feature-num,
.course .top-feature-num{
	background: #212121;
    display: inline-block;
    width: fit-content;
    padding: 0 1.5rem;
    border-radius: 3rem;
    color: #fff;
}

.top-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  background: #212121;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-feature-icon::before {
  font-family: "Material Symbols Outlined";
  font-size: 32px;
  color: #fff;
  line-height: 1;
  font-variation-settings: "wght" 200;
}

.top-feature-item:nth-child(1) .top-feature-icon::before { content: "handshake"; }
.top-feature-item:nth-child(2) .top-feature-icon::before { content: "book_2"; }
.top-feature-item:nth-child(3) .top-feature-icon::before { content: "map"; }
.top-feature-item:nth-child(4) .top-feature-icon::before { content: "calendar_month"; }
.top-feature-item:nth-child(5) .top-feature-icon::before { content: "school"; }
.top-feature-item:nth-child(6) .top-feature-icon::before { content: "groups"; }

.top-feature-title {
  font-size: 16px;
  font-weight: 700;
  color: #333;
  line-height: 1.5;
}

.top-feature-desc {
  font-size: 14px;
  color: #666;
  line-height: 1.75;
}

.top-feature-more {
  margin-top: 2.5rem;
	text-align:right;
}

.top-feature-more p{
	margin:0;
}

.course .top-feature-more {
  margin-top: 2.5rem;
}

.top-feature-more .listing-btn a {
  justify-content: end;
	margin:0;
}




#hero {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.hero-copy {
  position: relative;
  z-index: 1;
  padding: 0;
  width: 1196px;
  max-width: 100%;
  margin: 10px auto;
}

.hero-img-top {
  background-size: auto 180px;
  background-repeat: repeat-x;
  height: 180px;
  animation: loop-left 360s linear infinite;
  position: relative;
  z-index: 0;
}

.hero-img-bottom {
  background-size: auto 220px;
  background-repeat: repeat-x;
  height: 220px;
  animation: loop-right 360s linear infinite;
  position: relative;
  z-index: 0;
}

.hero-copy-l {
	width:100%;
	padding:1.5rem 2rem;
	max-width:600px;
	margin:0 auto;
}

.hero-copy-l img {
  width: 100%;
  height: auto;
  transform: rotate(-7deg);
}

.hero-copy-r {
    padding: 1rem 2rem 1.5em;
}

.hero-copy-fv{
	font-size:14px;
	font-weight:700;
	text-align:center;
}




@keyframes loop-left {
  from { background-position: 0 0; }
  to   { background-position: -10000px 0; }
}

@keyframes loop-right {
  from { background-position: 0 0; }
  to   { background-position: 10000px 0; }
}

.top-course .home-wrap-inner{
	margin:0 auto;
}

.top-course-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.top-course-item {
  display: flex;
}

.top-course-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 1.5rem;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
}

.top-course-title {
  font-size: 16px;
  font-weight: 700;
  color: #212121;
}

.top-course-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #666;
  flex: 1;
}

.top-course-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  align-self: flex-end;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-course-arrow::before {
  font-family: "Material Symbols Outlined";
  content: "arrow_forward";
  font-size: 18px;
  line-height: 1;
  color: #212121;
}

.top-course-note {
  margin-top: 1rem;
  font-size: 13px;
  color: #666;
}

.top-course-note p{
	margin:0;
}

.ss-box{
	background: #F7F4F2;
	border-radius:1rem;
	padding:2rem;
	margin:0 0 1.75em;
}
.ss-box ol:last-child,
.ss-box ul:last-child,
.ss-box p:last-child{
	margin-bottom:0;
}

.ss-box .ttl{
	font-size:16px;
	font-weight:700;
	margin:0 0 1.35em;
}

@media screen and (min-width: 56.875em) {
  .top-course-list {
    grid-template-columns: repeat(3, 1fr);
  }
}


.list-group ul {
    list-style-type: none;
    margin: 1.75rem 0 0;
    line-height: 1.5;
}

.list-group ul li {
    padding: 0 1.5rem 1rem;
}

.list-group ul li:before {
    content: '';
    display: inline-block;
    position: relative;
    left: -8px;
    top: -2px;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #36a039;
}

.list-group-title{
	text-align:center;
	font-weight:700;
	font-size:18px;
}

.list-group{
    background: #F9F7F5;
    padding: 1.5rem 1rem;
	margin:0 0 1.75rem;
	border-radius:1rem;
}

#ez-toc-container ul li {
    padding-left: 16px;
    position: relative;
	    margin: 0 0 .5rem;
    line-height: 1.5;
}

#ez-toc-container ul li:last-child{
	margin: 0;
}

#ez-toc-container ul li:before {
    content: '';
    display: inline-block;
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background: #36a039;
}

#ez-toc-container ul{
	list-style:none;
	margin: 0;
}

#ez-toc-container{
	background:#F9F7F5;
	padding:2rem;
	    border-radius: 1rem;
}

#ez-toc-container .ez-toc-title{
	font-weight: 700;
    font-size: 18px;
    margin: 0 0 1rem;
}

.career-tabs input[type="radio"] {
	display: none; 
}

.career-tab-labels {
	display: flex;
	margin-bottom: 2.5rem;
    gap: 1em;}

.career-tab-labels label {
	font-weight: 500;
    padding: 10px 18px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    border: 1px solid #212121;
    border-radius: 2rem;
	margin-top:1rem;
}

.career-tab-pane {
	display: none;
}

#career-tab-individual:checked ~ .career-tab-labels label[for="career-tab-individual"],
#career-tab-corporate:checked ~ .career-tab-labels label[for="career-tab-corporate"] {
	color: #fff;
	background:#212121;
}

#career-tab-individual:checked ~ #career-pane-individual,
#career-tab-corporate:checked ~ #career-pane-corporate {
	display: block;
}

@keyframes career-tab-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

#career-tab-individual:checked ~ #career-pane-individual,
#career-tab-corporate:checked ~ #career-pane-corporate {
  display: block;
  animation: career-tab-fade 0.5s ease;
}

.career-tab-pane .dot-list{
	background: #F9F7F5;
    padding: 2rem;
    margin: 0 0 1.75rem;
    border-radius: 1rem;
}


.flow-tabs input[type="radio"] {
    display: none;
}

#flow-tab-individual:checked ~ .career-tab-labels label[for="flow-tab-individual"],
#flow-tab-corporate:checked ~ .career-tab-labels label[for="flow-tab-corporate"] {
    color: #fff;
    background: #212121;
}

#flow-tab-individual:checked ~ #flow-pane-individual,
#flow-tab-corporate:checked ~ #flow-pane-corporate {
    display: block;
    animation: career-tab-fade 0.5s ease;
}

/**
 * 14.0 - Media Queries
 */


@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}


@media screen and (max-width: 63.9375em) {

	.site {
		padding-top: 72px;
	}
	
	
	.site-header {	
		position: fixed;  
		top: 0;
		left: 0;
		z-index: 9999;  
		width: 100%; 
		height: 72px; 
		transition: all 0.3s ease-out;
		background: #fff;
	}
	
	.drawer-menu-btn {
		cursor: pointer; 
		position: fixed;
		top: 0;
		right: 0;
		margin: 0;
	}
	
	.menu-open span:after{		
		content: "MENU";	
		font-size: 9px; 
		position: absolute;  
		bottom: -38px;
		left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%, -50%);
	}
	
	#drawer-menu:checked + .menu-open span:after {   
		content: "CLOSE";
		left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%, -50%);
	}
	
	.sp-menu-item{		
		position:relative;
	}
	
	.menu-open {  
		z-index: 9999999;
		width: 72px; 
		height: 72px;
		transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
		-webkit-transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s,-webkit-transform 0s cubic-bezier(.215,.61,.355,1) 0s;
		transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s,-webkit-transform 0s cubic-bezier(.215,.61,.355,1) 0s;
		transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,transform 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s;
		transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,transform 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s,-webkit-transform 0s cubic-bezier(.215,.61,.355,1) 0s;
	}

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

	.menu-open span,
	.menu-open::before,
	.menu-open::after {
		content: "";
		position: absolute;
		top: calc(50% - 8px);
		right: 21px;
		width: 30px;
		border-bottom: 2px solid #212121;
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

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

	.menu-open::after { 
		transform: translateY(8px);
	}
		
	.menu-close {
		z-index: 1;
		width: 100%;
		height: 100%;
		pointer-events: none;
		transition: background .6s;
	}		

	#drawer-menu:checked + .menu-open {	
		background:#fff;	
	}
	
	#drawer-menu:checked + .menu-open span {
		border-bottom:0;
	}
	
	#drawer-menu:checked + .menu-open::before {  
		transform: rotate(45deg);
	}
	
	#drawer-menu:checked + .menu-open::after {  
		transform: rotate(-45deg);
	}
	
	#drawer-menu:checked ~ .menu-close {  
		pointer-events: auto;
	}
	
	.drawer-menu {
		display: block;   
		z-index: 999;   
		position: fixed;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		top: 72px; 
		right: 0; 
		width: 100%;  
		height: 100%; 
		margin: 0; 
		padding: 0 0 10px;  
		box-sizing: border-box; 
		background: #F7F4F2; 
		transform: translateX(100%);
		transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
		-webkit-transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s,-webkit-transform 0s cubic-bezier(.215,.61,.355,1) 0s;
		transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s,-webkit-transform 0s cubic-bezier(.215,.61,.355,1) 0s;
		transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,transform 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s;
		transition: visibility 0s cubic-bezier(.215,.61,.355,1) 0s,transform 0s cubic-bezier(.215,.61,.355,1) 0s,opacity .5s cubic-bezier(.215,.61,.355,1) 0s,-webkit-transform 0s cubic-bezier(.215,.61,.355,1) 0s;
	}

	#drawer-menu:checked ~ .drawer-menu { 
		transform: none;
	}
	
	.drawer-menu-list{
		overflow-y: scroll; 
		height: 100%; 
		width: 100%; 
		-webkit-overflow-scrolling: touch;
		padding: 1em 2em 7em;
	}
		
	.main-navigation ul ul{	
		background: #f7f4f2;
		margin-left: 0;
		margin-right: 0;
	}
		
	.main-navigation .menu-item-has-children > a{   
		/*display: none;*/
	}
	
	.main-navigation a{
		border-bottom: 1px solid #e1e1eb;
	}
	
	.main-navigation .menu-item-has-children.no-toggle a{
	border:1px solid #36a039;
		background: #36a039;
        border-radius: 4px;
        color: #fff;
		text-align: center;
		position:relative;
	}
	
	.main-navigation .c_orientation.menu-item a{
		background: #3FA7D1;
		border-color:#3FA7D1;
	}
	
		.main-navigation .c_consult.menu-item a{
		background: #212121;
		border-color:#212121;
	}
	
			.main-navigation .c_contact.menu-item a{
		background: #edc61f;
		border-color:#edc61f;
	}
	
	
	.main-navigation .menu-item-has-children.no-toggle a:after{
font-family: 'Material Icons';
        content: 'arrow_forward_ios';
        color: #fff;
        font-size: 16px;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: 'liga';
        position: absolute;
        right: 0.75rem;
        -webkit-transition: ease 0.3s;
        transition: ease 0.3s;
	}
	
	

	
	.no-toggle .sub-menu{
		margin-top:16px;
	}
	
	.no-toggle ul li a{
		padding:20px;
		margin: 0 0 16px;
	}
	
	.main-navigation ul li ul li:before{
				position: absolute;
    top: 26px;
        left: 8px;
    display: inline-block;
    width: .625rem;
    height: .625rem;
    aspect-ratio: 1;
    content: "";
    background-color: #36a039;
    border-radius: 50%;
	}
	
	.main-navigation ul .no-toggle ul li:before{
		content:none;
	}
	
	.main-navigation ul li ul li a span{
padding-left: 2.25em;
		font-size: 13px;
	}
	
	.main-navigation ul .no-toggle ul li a span{
		padding:0;
		font-size: 15px;
	}

.menu-item-has-children > a::before{
	content:'add';
	font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 26px;
    width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    position: absolute;
    top: 20px;
    bottom: 0;
    right: 0;
	transition: transform 0.3s ease;
	}

	.menu-item-has-children.sub-open > a::before{
		content:'remove';
		transform: rotate(180deg);
	}
	
	.more--horiz,
	.main-navigation .menu-item-has-children.no-toggle > a {
    display: none;
}
	
	.sub-menu {
  display: none;
}
.no-toggle .sub-menu,
	.sub-menu.no-toggle,
.sub-menu.show {
  display: block;
}
		
	.main-navigation li{	
		padding:0;
	}
	
	.main-navigation a{
		/*color:#36a039;*/
		padding: 1.5em 0;
		font-weight:700;
	}
	
	
	
	.menu-top-menu-container, .menu-service-menu-container {    
		margin: 0;
	}
	
	.main-navigation .primary-menu {  
		border-bottom: none;
	}
	
	

	
}


/**
 * 14.1 - >= 710px
 */

@media screen and (min-width: 44.375em) {
	
	.site{
		font-size:16px;
	}

	.sr {
		display: none;
	}
	
	.pr {
		display: block;
	}
	
	.sc{
		text-align:initial;
	}
	
	.table-scroll{
		padding:0;
	}
	
	.lp--case--title .ssp{
		margin-right:8px;
	}
	
	.pre-footer,
	.site-main {
		margin-bottom: 5.25em;
	}

	.custom-logo {
		max-width: 210px;
	}


	.site-header-menu {
		margin: 0;
	}
	
	

	.header-image {
		margin: 1.3125em 0;
	}
	
	.post-navigation .post-title {
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.25;
	}

	.pagination .current .screen-reader-text {
		position: absolute !important;
	}
	
			
	.has-thumbnail {
		min-height: 105px;
	}
			

	.article-item-img figure{
	}
	
	.other-article article{
		width: calc(50% - 24px);
	}
	
	.categories{
		white-space: initial;
		overflow-y: initial;
		padding-bottom:0;
	}

	.entry-title {		
		font-size: 28px; 
	}

			
	.entry-content h1,
	.entry-summary h1 {
		font-size: 28px;
		line-height: 1.2727272727;
		margin-top: 1.696969697em;
		margin-bottom: 0.8484848485em;
	}


	.entry-content h2,
	.entry-summary h2{
		font-size: 24px;
		line-height: 1.2727272727;
		margin-top: 1.696969697em;
		margin-bottom: 0.8484848485em;
	}
	


.p-content h3,
	.entry-content h3,
	.entry-summary h3{
		font-size: 24px;
		margin-top: 2em;
	}

	.p-content h4,
	.entry-content h4,
	.entry-summary h4,
	.entry-intro h4 {
		letter-spacing: 0.131578947em;
	}

	.p-content h4,
	.p-content h5,
	.p-content h6,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6,
	.entry-summary h4,
	.entry-summary h5,
	.entry-summary h6,
	.headline{
		font-size: 20px;
		font-size: 1.25rem;
		margin-top: 2em;
		margin-bottom: 1em;
	}
	
		.c--heading h2,
.c--heading h3,
	.c--heading span{
		margin-top:0;
		margin-bottom:0;
	}
	
	.listing-title h3, .listing-title h2 {
    margin: 0 0 1rem;
}
	
	.entry-content blockquote.alignleft,
	.entry-content blockquote.alignright {
		border-width: 4px 0 0 0;
		padding: 0.9473684211em 0 0;
		width: -webkit-calc(50% - 0.736842105em);
		width: calc(50% - 0.736842105em);
	}

	.entry-content blockquote blockquote:not(.alignleft):not(.alignright),
	.entry-summary blockquote blockquote{
		margin-left: 0;
	}

	.entry-content li > ul,
	.entry-summary li > ul,
	.entry-content blockquote > ul,
	.entry-summary blockquote > ul {
		margin-left: 1.25em;
	}

	.entry-content li > ol,
	.entry-summary li > ol,
	.entry-content blockquote > ol,
	.entry-summary blockquote > ol {
		margin-left: 0;
	}


	.widecolumn {
		margin-bottom: 5.25em;
	}

	body:not(.search-results) .entry-summary li > ul,
	body:not(.search-results) .entry-summary blockquote > ul {
		margin-left: 1.157894737em;
	}

	body:not(.search-results) .entry-summary li > ol,
	body:not(.search-results) .entry-summary blockquote > ol {
		margin-left: 1.473684211em;
	}
	
	.article-content,
	.voice-block,
	.listing-block{
    grid-template-columns: repeat(2,1fr);
    column-gap: 1.5rem;
}

	.-column .listing-block,
	.teachers .listing-block{
		grid-template-columns: repeat(3,1fr);
	}
	
	.voice-block,
	.col--1 .listing-block{
		grid-template-columns: repeat(1,1fr);
	}
	

	
	.p--map{
	row-gap: 2rem;
    column-gap: 2rem;
    grid-template-columns: repeat(2,1fr);

}
	
	
	.p--access {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
	

.p--map--item,
.p--map--item img{
	height:100%;
}
	
	
	
	.about-wrap-inner {
grid-template-columns: 1fr 300px;
	}
	
	.career-support .about-wrap-inner,
		.internship .about-wrap-inner {
			grid-template-columns: 240px 1fr;
	}
	
	

	
	
	.event-img ul{
row-gap: 2rem;
    column-gap: 2rem;
    grid-template-columns: repeat(2,1fr);
}
	
	.event-img ul li{
		
	}

.event-img ul li:first-child{

}
	
	
	.faq--title{
		padding:1.5rem 3.725rem;
	}
	


	.faq--content div,
	.faq--title{
	font-size:16px;
	}
	
.h--wrap h2 {
    font-size: 32px;
}


.h--wrap .h--heading span {
    top: -15px;
    font-size: 90px;
}
	
	.h--wrap-block .news-item-title {
    font-size: 15px;
}
	
	.h--wrap-txt{
	font-size:16px;
}
	
	.about-wrap-r .pic {
    max-width: 100%;
		width:100%;
}
	
		.p--title,
	.page-header-inner .page-title {
    font-size: 36px;
}
	
	.organization-contact-completed .p--title,
	.organization-contact-completed .page-header-inner .page-title {
    font-size: 32px;
}

.p-content .p--heading,
.p--heading {
    font-size: 28px;
}
	
	
	
	.c--heading h2,
	.c--heading h3,
	.c--heading span{
		font-size: 24px;
	}
	
	.p--info .p--desc--listing a{
		max-width:320px;
		margin:initial;
	}
	
	
	.p--info .p--desc--listing {
    display: flex;
    justify-content: center;
}


.p--info .p--desc--listing a:nth-child(2) {
    margin-left: 20px;
	margin-top:0;
}
	
.orientation-info{
    flex: 0 0 140px;
    padding: 24px 16px;
}



.orientation--year{
	font-size: 14px;
}

.orientation--time,
.orientation--month{
	font-size: 16px;
}

.orientation-title{
    padding: 8px 20px 8px 30px;
}

.orientation-item .orientation-item-inner{
    margin: 0 0 2rem;
	padding:2rem 4rem 2rem 0;
}

.orientation-item .orientation-item-inner h3,
.orientation-item .orientation-item-inner h2{
	font-size:18px;
}
	
	.c--desc{
    text-align: center;
}
	.p-content .radius-table td,
	.p-content .radius-table th,
		.o--listing table th,
	.r--listing table th,
	.g--listing table th,
	.g--listing table td,
	.o--listing table td,
	.r--listing table td{
	padding:1em;
	font-size:15px;
}
		
	.o--listing table th{
	width:200px;
}
	
	.s--table.o--listing table th{
		width:240px;
	}
	
	.voice-item{
	display:flex;
		margin:0;
}



.voice-item-img{
    margin: 0;
    -webkit-box-flex: 0;
    flex: 0 0 125px;
	position: relative;
    overflow: hidden;
	padding-bottom:125px;
}


.voice-item-img img{
	position: absolute;
    top: 0;
    left: 0;
}



.voice-item-txt{
	width: auto;
    -webkit-box-flex: 1;
    flex: 1 1 auto;
    margin-left: 30px;
}

	
	.c--list ul{
font-size:16px;
	}
	
	.course-schooling a,
	.course-schooling span{
		max-width:240px;
	}
	
	
	.course-schooling a:not(last-child),
.course-schooling span:first-child{
    margin: 0 1em 1em 0;
}
	
	.course-schooling a:last-child{
		margin:0;
	}
	
	.center.right{
	text-align:right;
}
	
	
	.page-content-inner .p-message-txt{
	text-align:center;
}

.pagination{
	margin: 90px auto 60px;
}
	
	
	.p--info .p--desc--listing a{
	max-width:340px;
}
	
	
	.hf--heading{
    font-size: 24px;
		    
}
	
	.hf--heading:before{
		top: 20px;
	}
	
	.privacy--notice{
		padding:2rem;
	}
	
	.event-list ul{
	margin:1rem!important;
}
	
	.error--notice{
text-align:center;
	}
	
	.hero-copy-fv{
	font-size:16px;
}


.list-group ul{
display: flex;
flex-wrap: wrap;
}
	
	.footer-wrap .footer-nav,
	.top-course .home-menu-container,
	.home-contact-btn-item {
    grid-template-columns: repeat(2, 1fr);
}
	

	
	.home-contact-btn-item,
	.home-menu-container,
	.top-feature-list{
		gap: 1.5rem;
	}
	
	.heading-ja {
    font-size: 24px;
}
		.home-contact-btn-item-text span.ja,
	.article-item-title h3,
	.info .related-listing-title h3,
	.top-feature-title,
	.home-menu-title {
    font-size: 18px;
}
	
	.related-listing-menu li{
		font-size:16px;
	}

	.top-news .home-body{
		padding:3rem;
	}
	
	.news-item-title{
		font-size:15px;
	}
	
.pre-footer {
    padding: 4rem;
}


.pre-footer-inner h3{
	font-size:28px;
	margin: 0 0 2rem;
	line-height:1.5;
}


.pre-footer-title:before{
	    width: 36px;
    height: 36px;
top: 5px;
}

.pre-footer-title {
    padding-left: 48px;
}



.pre-footer-contact address{
	font-size:13px;
}

.pre-footer-contact ul{
	font-size: 14px;
}

.pre-footer-popular ul li a{
	font-size:15px;
}
	.page-header {
    margin-bottom: 4.5rem;
    margin-top: 3.5rem;
}

.header-nav {
	margin:3rem 0 0;
    padding-bottom: 3.5rem;
}

	.site-content {
	margin-top:5.5em;
}
	
	.p-index ul li{
	    margin: 0 20px 24px;
		font-size: 14px;
}
	
	.members-listing .listing-block{
	grid-template-columns: repeat(3,1fr);
}
	.p-comment .about-wrap-r .p-name,
	.career-support .p-name{
    text-align: left;
		
}
	
	.career-support .p-name{
		margin-top:0;
	}
	
	.career-support .about-wrap-inner {
    row-gap: 2rem;
}
	
	.career-support .about-wrap{
	row-gap: 3rem;
}
	
	.career-support .about-wrap-l{
		display: flex;
    align-items: center;
	}
	
	.teachers-item-img img{
		width:100%;
	}
	
	.access-map{
	font-size:16px;
}
	
	.related.listing-wrap h2{
		margin:6rem 0 4.75rem;
    font-size: 1.875rem;
    line-height: 2.25rem;
}
	.list-group{
    padding: 2rem;
}


}

/**
 * 14.3 - >= 910px
 */

@media screen and (min-width: 56.875em) {

	
	.site-header-main {
		-webkit-align-items: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}


	.site-header-menu {
		display: block;
		-webkit-flex: 0 1 auto;
		-ms-flex: 0 1 auto;
		flex: 0 1 auto;
	}



	
	
	.site-footer .main-navigation {
		display: none;
	}

	.site-header-main,
	.site-content,
	.site-info,
	.header-content-inner,
	.blog-navigation{
		padding: 0 1em;
	}
	

	.widecolumn {
		padding:0;
	}
		
	.article-wrap{
		margin-right: 0;
		margin-left: 0;
	}

	.site-footer {
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.site-info {
		-webkit-order: 1;
		-ms-flex-order: 1;
		order: 1;
	}



	.widecolumn {
		padding-right: 15%;
		padding-left: 15%;
	}
	
		.footerfixed-cta-link ul li{
	height:50px;
}
	
	

	
	.footer-wrap .footer-nav .footer-nav-item {
    text-align: left;
}
	
		.related .listing-block{
    grid-template-columns: repeat(3,1fr);
}
	
	.article-content{
		grid-template-columns: repeat(3,1fr);
	}
		
	.news-item-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
}
	
	.news-item-date {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}
	
	.news-item-date {
    font-size: 15px;
}
	
	
	.news-item-cat {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}
	
	.news-item-title {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin-top: 0;
    font-size: 16px;
}
	
	
	.block--05 .h--wrap-block ul{
	display: flex;
    flex-wrap: wrap;
    margin: 0;
    list-style-type: none;
}
	
	
	.block--05 .h--wrap-block ul li {
    width: 47.5%;
    margin-right: 5%;
    margin-bottom: 40px;
    flex-direction: column;
}



.block--05 .h--wrap-block ul li:nth-child(2n+1) {
    -webkit-transform: translateY(70px);
    transform: translateY(70px);
}

.block--05 .h--wrap-block ul li:nth-child(even){
	margin-right: 0;
}
	
	.h--cp--listing--item--image{
    height: 300px;
}
	
	.h--cp--listing--item--link{
    bottom: 32px;
    right: 24px;
}

.h--cp--listing--item:hover .h--cp--listing--item--link{
	right: 16px;
}

.h--cp--listing--item--txt{
    bottom: 58px;
    right: 32px;
	font-size:16px;
}
	
	

	
	.c--content-item{
	display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-align: start;
    align-items: flex-start;
	    margin: 0 0 5em;
}


.c--content-item-img{
	width: 40%;
    flex: 0 0 40%;
margin:0;
}


.c--content-item-img img{
    /*height: 300px;*/
}

.c--content-item-txt {
    width: 55%;
    flex: 0 0 55%;
}

	
.p-content .c--content-item-h,
.c--content-item-h{
	font-size: 24px;
}

.c--content-item-desc {
    font-size: 16px;
}
	
	.block--03 .h--wrap-block{
	margin-top:90px;
}
	
	
	.h--wrap-block-item {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
	
	.hf--text{
    width: 60%;
	padding:0 10%;
}


.hf--img{
	width: 40%;
    box-shadow: 0.4rem 0.8rem 2rem 0 rgba(2,48,126,.15);
}
	
	
	.listing-item a{
    padding: 3.5rem 3rem;
}
	
	.h--course--listing .listing-title h3{
	font-size:20px;
}
	
.voice-desc,
.listing-desc{
	font-size:15px;
}

.voice-caption{
	font-size:14px;
}
	
	.page-numbers.prev span,
.page-numbers.next span{
	display:block;
}
	
	
	.layout2-item{
    row-gap: 2rem;
    column-gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
		margin:3rem 0;
}
	
	.organization .layout2-item{
		column-gap: 5rem;
		grid-template-columns: repeat(2, fit-content(100%));
		justify-content: space-between;
	}
	
	.layout2-inner .layout2-item{
		margin:3.25rem 0 0;
	}

.col-content {
    display: block;
	padding-right:1rem;
}

.col-thumb, .col-content h2 {
    order: 1;
}
	
	.col-text .heading{
font-size: 1.875rem;
}
	
	.layout2-block .col-content p{
	margin-top:0;
}

	  .top-feature-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 3rem;
  }
	
	.course .top-feature-list {
    gap: 2rem;
  }
	.course .top-feature-list,
	.consultation-support .top-feature-list,
	.ikigai .top-feature-list{
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	.home-menu-title,
  .top-feature-title {
    font-size: 24px;
  }
	
	.course .top-feature-title{
		font-size: 18px;
	}
	
		.table-scroll table{
	table-layout:unset;
}
	
	.entry-content h2, .p-content h2, .c-title {
    font-size: 1.875rem;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 1.5rem;
    margin-bottom: 1.2173913043em;
}
	
	.info .related-listing-title h3{
		font-size: 24px;
	}
	
.support-formula,
.price-formula {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
	
	.support-box,
	.price-box {
 width: 47%;
}

.support-op,
.price-op {
  margin: 0 3%;
}


	.ss-box .ttl{
		font-size:18px;
	}
	
		.members-listing .listing-block{
	grid-template-columns: repeat(4,1fr);
}
	
	.col-img img{
		width:14em;
	}

		.layout2-inner{
		row-gap:4.5rem;
	}
	
}


/**
 * 14.4 - >= 1024px
 */

@media screen and (min-width: 64em) {
	
	.pre-footer,
	.site-main {
		margin-bottom: 7.0em;
	}
	
	.site-main.article {
		margin-bottom: 7.0em;
	}


	.site-content,
	.site-footer .site-info,
	.header-content-inner,
	.blog-navigation{
		max-width:1232px;
	}
	
	
.home .site-content,
	.footer-container{
		max-width:100%;
	}
	


	.site-footer {
		padding:0 0 3.5em;
	}
	
		.main-navigation li a{
		cursor: pointer;
	}
	
	
	.sp-menu-item,
	.sp-header--btn{
    display: none;
}

	.main-navigation ul {
    display: flex;
    align-items: center;
}
	
	.main-navigation li{
		padding:0;
	}
	
	.main-navigation .primary-menu,
	.main-navigation .primary-menu > li {
		border: 0;
	}

	.main-navigation .primary-menu > li {
	margin-right:24px;
	}
	
	.main-navigation .primary-menu > li:nth-last-child(2){
		margin-right:24px;
	}
	
	.main-navigation .primary-menu > li:last-child {
	margin-right:0;
	}

	.main-navigation a {
		outline-offset: -8px;
		padding:0;
		white-space: nowrap;
	}

	.main-navigation li:hover > a,
	.main-navigation li.focus > a {
		color: #36a039;
	}

	.main-navigation ul ul {
		border-bottom: none;
		display: block;
		left: -999em;
		margin: 0;
		position: absolute;
		z-index: 99999;
		box-shadow:0px 3px 18px 3px rgba(0, 0, 0, 0.08);
		padding:0.6em 0;
	}
	
	
	.main-navigation ul{
		height: 72px;
	}

	.main-navigation ul ul ul {
		top: -1px;
	}

	.main-navigation ul ul ul:before,
	.main-navigation ul ul ul:after {
		border: 0;
	}

	.main-navigation ul ul li {
		border: none;
		border-bottom-width: 0;	
	}

	.main-navigation ul ul a {
		white-space: normal;
		min-width: 17.5em;
		width: auto;
		padding: 1em 2em;
		white-space: nowrap;
	}
	
	.main-navigation ul ul a:hover{
		transform: translateX(5px);
	}
	
	.main-navigation ul ul a{
		position: relative;
    padding-left: 42px;
	}
	
	.main-navigation ul ul a:before{
		position: absolute;
    top: 18px;
        left: 20px;
    display: inline-block;
    width: 8px;
    height: 8px;
    aspect-ratio: 1;
    content: "";
    background-color: #36a039;
    border-radius: 50%;
	}
	
	.main-navigation ul ul li:not(:first-child) a{
		/*white-space: normal;*/
	}
	
	
	.more--horiz .material-symbols-outlined{
		vertical-align: middle;
	}
	
	
	.main-navigation ul ul:before,
	.main-navigation ul ul:after {
	}

	.main-navigation ul ul:before {
		border-color: #d1d1d1 transparent;
		border-width: 0 10px 10px;
		right: 9px;
		top: -9px;
	}

	.main-navigation ul ul:after {
		border-color: #fff transparent;
		border-width: 0 8px 8px;
		right: 11px;
		top: -7px;
	}

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

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

	.main-navigation .menu-item-has-children > a {
		margin: 0;
		padding-right: 1.25em;
	}

	.main-navigation .menu-item-has-children > a:after {
		content: "\f431";
		position: absolute;
		right: 0em;
		top: 0.125em;
	}

	.main-navigation ul ul .menu-item-has-children > a {
		padding-right: 2.0625em;
	}

	.main-navigation ul ul .menu-item-has-children > a:after {
		right: 0.5625em;
		top: 0.875em;
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	
	.menu-top-menu-container{
		margin:0;
	}

	.dropdown-toggle,
	.main-navigation ul .dropdown-toggle.toggled-on,
	.menu-toggle,
	.site-footer .main-navigation {
		display: none;
	}
			
	.custom-logo {
		max-width: 240px;
	}

	.image-navigation {
		margin-bottom: 3.230769231em;
	}
	
	.content-area {
		width: 100%; 
	}
	


	.format-aside .entry-title,
	.format-image .entry-title,
	.format-video .entry-title,
	.format-quote .entry-title,
	.format-gallery .entry-title,
	.format-status .entry-title,
	.format-link .entry-title,
	.format-audio .entry-title,
	.format-chat .entry-title {
		font-size: 23px;
		font-size: 1.4375em;
		line-height: 1.304347826;
		margin-bottom: 1.826086957em;
	}

	.post-thumbnail {
		margin-bottom: 2.625em;
	}

	.author-info {
		border-bottom-width: 0;
		padding-bottom: 0;
	}


	.widecolumn {
		margin-bottom: 7.0em;
	}

	body:not(.search-results) .entry-summary {
		margin-bottom: 2.210526316em;
	}

	body:not(.search-results) .entry-header + .entry-summary {
		margin-top: -1.105263158em;
	}

	body:not(.search-results) article:not(.type-page) .entry-content > blockquote.alignleft.below-entry-meta {
		margin-left: -40%;
		width: -webkit-calc(60% - 1.4736842105em);
		width: calc(60% - 1.4736842105em);
	}

	body:not(.search-results) article:not(.type-page) img.below-entry-meta,
	body:not(.search-results) article:not(.type-page) figure.below-entry-meta {
		clear: both;
		display: block;
		float: none;
		margin-right: 0;
		margin-left: -40%;
		max-width: 140%;
	}

	body:not(.search-results) article:not(.type-page) figure.below-entry-meta img.below-entry-meta,
	body:not(.search-results) article:not(.type-page) table figure.below-entry-meta,
	body:not(.search-results) article:not(.type-page) table img.below-entry-meta {
		margin: 0;
		max-width: 100%;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer > span:not(:last-child):after {
		display: none;
	}

	.single .byline,
	.full-size-link,
	body:not(.search-results).group-blog .byline,
	body:not(.search-results) .entry-format,
	body:not(.search-results) .cat-links,
	body:not(.search-results) .tags-links,
	body:not(.search-results) article:not(.sticky) .posted-on,
	body:not(.search-results) article:not(.type-page) .entry-footer .edit-link {
		display: block;
		margin-bottom: 0.5384615385em;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer > span:last-child {
		margin-bottom: 0;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer .avatar {
		display: block;
		height: auto;
		margin: 0 0 0.5384615385em;
		width: 49px;
	}



	
	.footerfixed-cta-logo, .footerfixed-cta-tel {
    flex: 0 0 25%;
    text-align: left;
}
	
	
	
	.footerfixed-cta-tel a {
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    display: block;
}
	
	.footerfixed-cta-tel span {
    font-size: 11px;
    color: #000;
}
	
	.footerfixed-cta-link ul {
    list-style: none;
    display: flex;
    margin: 0;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    height: 64px;
}
	
	.footerfixed-cta-link ul li {
		    width:100%;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
}
	
	.footerfixed-cta-link ul li .c-btn {
    font-size: 14px;
    display: flex;
    align-items: center;
    background: #36a039;
    justify-content: center;
}
	


.footer-wrap .footer-nav{
	gap: 2rem;
	grid-template-columns: repeat(4, 1fr);
}


	
	.footerfixed-cta-logo {
     display:block;
}
	
	.footerfixed-cta-tel{
		display:none;
	}
	
.footerfixed-cta-link ul li{
	height:100%;
}
		
	.main-visual-copy {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	max-width: 1300px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
		margin:0;
		text-align:left;
}
	
	.main-visual-image{
	width: 55%;
    margin-left: auto;
		margin-right: initial;
}
	
	.main-visual-image img {
    width: 100%;
    height: 700px;
    object-fit: cover;
}
	
	.main-visual-heading{
	font-size: 68px;
}
	
	.main-visual-mcopy {
    font-size: 16px;
}
	
	.main-visual-inner {
    min-height: 700px;
}
	
		.home .site-content{
		padding:0;
	}
	
	.block--02 {
    max-width: 1696px;
    padding: 0 29.4811% 0 0;
    margin: 60px 0 180px;
}

.h--wrap-pic {
    height: 450px;
}

.h--wrap-content {
    width: 100%;
    position: absolute;
    top: 90px;
    right: 0;
    padding: 90px 60px 60px;
    max-width: 700px;
}
		
	.block--01.h--wrap{
		padding-bottom:90px;
	}
	
	
	.block--05 .h--wrap-block.h--cp--listing {
    padding: 60px 16px 120px;
}
	
	.h--course--listing {
    margin-bottom: 90px;
}
		
	.footerfixed-cta{
		box-shadow: none;
        background: none;
        left: auto;
        bottom: 16px;
        right: 16px;
        padding: 0;
		height:64px;
	}
	
	    .site-footer {
        margin: 0;
    }
	
	
	.footerfixed-cta-link ul li {
        position:relative;
    }
	

	
	    .footerfixed-cta-link ul li {
        width: 100%;
        min-width:200px;
    }
	
	.ar--btn a:after,
	.footerfixed-cta-link ul li .b-con:after,
	.footerfixed-cta-link ul li .b-or:after,
	.footerfixed-cta-link ul li .b-doc:after{
		font-family: 'Material Icons';
		content:'arrow_forward_ios';
	color:#fff;
	font-size:16px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
		position: absolute;
        right: 0.75rem;
		-webkit-transition: ease 0.3s;
    transition: ease 0.3s;
	}

	.ar--btn a:hover:after,
	.footerfixed-cta-link ul li .b-con:hover:after,
	.footerfixed-cta-link ul li .b-or:hover:after,
	.footerfixed-cta-link ul li .b-doc:hover:after{
		right: 0.5rem;
	}
	
	
	.footerfixed-cta-link ul li a:hover:after{
	color:#36a039;
}

.footerfixed-cta-link ul li .b-or:hover:after{
	color:#3FA7D1;
}
	
	.hero-copy-r {
    width: calc(100% - 480px);
    padding: 0;
}
	
	.hero-copy-l {
  flex-shrink: 0;
  width: 480px;
	padding:0;
		margin:0;
}
	
	.hero-copy {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
gap: 4rem;
		padding:0 2rem;
}
		.hero-copy-fv{
		text-align:unset;
}
	
		.hero-img-top {
  background-size: auto 312px;
  height: 312px;
}

.hero-img-bottom {
  background-size: auto 312px;
  height: 312px;
}
	
	
	.listing-block{
		grid-template-columns: repeat(3, 1fr);
	}
	
	.free-school .voice-block{
		grid-template-columns: repeat(1,1fr);
	}
	
	
	.main-navigation a:hover,
	.main-navigation a:focus{
		color:#36a039;
	}
	
		
	.home-contact-wrap,
.top-news .home-wrap-inner{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	column-gap: 40px;
}
	
	.home-contact-wrap{
		align-items: center;
	}


	.home-contact-wrap-l{
	width:420px;
}

.home-contact-wrap-r{
	width:calc(100% - 460px);
	margin-top:0;
}
	
	.top-news .home-head {
    display: block;
}
	
	
.home-head{
	width:300px;
}


.home-body{
	width:calc(100% - 340px);
}


	
	
	.home-contact-wrap-l{
	width:420px;
}

.home-contact-wrap-r{
	width:calc(100% - 460px);
	margin-top:0;
}

	.pre-footer-inner{
	grid-template-columns: repeat(2, 1fr);
}
	
	.hero-copy {
 /* margin: -10px auto;*/
}
	
}



/**
 * 14.5 - >= 1200px
 */


@media screen and (min-width: 75em) {
	
		.site-branding .site-title img,
	.site-branding .site-title a img{
height:42px;}
	
	body:not(.search-results) .entry-summary {
		font-size: 23px;
		font-size: 1.4375rem;
		line-height: 1.5217391304;
		margin-bottom: 1.826086957em;
	}

	body:not(.search-results) .entry-header + .entry-summary {
		margin-top: -0.913043478em;
	}

	body:not(.search-results) .entry-summary p,
	body:not(.search-results) .entry-summary address,
	body:not(.search-results) .entry-summary hr,
	body:not(.search-results) .entry-summary ul,
	body:not(.search-results) .entry-summary ol,
	body:not(.search-results) .entry-summary dl,
	body:not(.search-results) .entry-summary dd,
	body:not(.search-results) .entry-summary table {
		margin-bottom: 1.5217391304em;
	}

	body:not(.search-results) .entry-summary li > ul,
	body:not(.search-results) .entry-summary blockquote > ul {
		margin-left: 0.956521739em;
	}

	body:not(.search-results) .entry-summary li > ol,
	body:not(.search-results) .entry-summary blockquote > ol {
		margin-left: 1.52173913em;
	}

	body:not(.search-results) .entry-summary blockquote {
		font-size: 23px;
		font-size: 1.4375rem;
		line-height: 1.5217391304;
		margin: 0 0 1.5217391304em;
		padding-left: 1.347826087em;
	}

	body:not(.search-results) .entry-summary blockquote:not(.alignleft):not(.alignright) {
		margin-left: -1.52173913em;
	}

	body:not(.search-results) .entry-summary blockquote blockquote:not(.alignleft):not(.alignright) {
		margin-left: 0;
	}

	body:not(.search-results) .entry-summary blockquote cite,
	body:not(.search-results) .entry-summary blockquote small {
		font-size: 19px;
		font-size: 1.1875rem;
		line-height: 1.8421052632;
	}

	body:not(.search-results) .entry-summary th,
	body:not(.search-results) .entry-summary td {
		padding: 0.3043478261em;
	}

	body:not(.search-results) .entry-summary pre {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.75;
		margin-bottom: 1.75em;
		padding: 1.75em;
	}

	body:not(.search-results) .entry-summary fieldset {	
		margin-bottom: 1.5217391304em;
		padding: 0.3043478261em;
	}

	body:not(.search-results) .entry-summary h1 {
		margin-top: 2.121212121em;
		margin-bottom: 1.060606061em;
	}

	body:not(.search-results) .entry-summary h2 {
		margin-top: 2.5em;
		margin-bottom: 1.25em;
	}

	body:not(.search-results) .entry-summary h3 {
		margin-top: 3.043478261em;
		margin-bottom: 1.52173913em;
	}

	body:not(.search-results) .entry-summary h4,
	body:not(.search-results) .entry-summary h5,
	body:not(.search-results) .entry-summary h6 {
		margin-top: 3.684210526em;
		margin-bottom: 1.842105263em;
	}

	body:not(.search-results) .entry-summary h1:first-child,
	body:not(.search-results) .entry-summary h2:first-child,
	body:not(.search-results) .entry-summary h3:first-child,
	body:not(.search-results) .entry-summary h4:first-child,
	body:not(.search-results) .entry-summary h5:first-child,
	body:not(.search-results) .entry-summary h6:first-child {
		margin-top: 0;
	}

	body:not(.search-results) .entry-summary .alignleft {
		margin: 0.2608695652em 1.5217391304em 1.5217391304em 0;
	}

	body:not(.search-results) .entry-summary .alignright {
		margin: 0.2608695652em 0 1.5217391304em 1.5217391304em;
	}

	body:not(.search-results) .entry-summary .aligncenter {
		margin-bottom: 1.5217391304em;
	}
	
	.main-navigation .primary-menu > li {
	margin-right:40px;
	}
	
	
	.footerfixed-cta-link{
		flex: 0 0 75%;
		margin-left:0;
	}
	
		.footerfixed-cta-tel{
		display:block;
	}

	
		.hero-copy-r {
    width: calc(100% - 600px);
}
	
	.hero-copy-l {
  width: 600px;
}
	
	.hero-copy-fv{
	font-size:18px;
}
	
	.heading-section {
    display: flex;
}


.heading-top,
.heading-desc{
	max-width:50%;
	width:50%;
}



#about .home-wrap-inner{
	margin: 90px auto 0;
}



.home-wrap-inner{	
margin:0 auto 90px;	
}


.heading-ja{
	font-size:32px;
}


.heading-en{
	font-size:18px;
}


.home-menu-container {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
	margin-top:2rem;
}


.home-menu-box {
  padding: 1.5rem;
}


.top-feature-list {
  gap: 2rem;
}


.top-feature-desc {
  font-size: 16px;
}

.top-feature-more {
  margin-top: 4.5rem;
}

.top-course,
.top-news{
	padding:5rem 0;
	margin:0 0 6rem;
}

.top-course .home-menu-container{
	grid-template-columns: repeat(3, 1fr);
}

.top-news .home-body{
	padding: 4rem;
}


.news-box a{
	padding: 2rem 3.5rem 2rem 0;
    display: block;
	color: var(--p-color);
}

.news-item-cat span{
	font-size: 11px;
    padding: 0.375rem 0.5rem;
}

.news-item-cat{
    min-width: 100px;
}


.news-item-title{
	font-size:15px;
}



.article-content,
.voice-block,
.listing-block{
    row-gap: 3rem;
    column-gap: 2rem;
}

	.article-content{
		row-gap: 3rem;
	}

#contact{
	padding:5rem 0;
}



.home-contact-wrap address ul{
	font-size:14px;
}


.dot-ttl,
.promise-problem {
    font-size: 17px;
}


.home-contact-btn-item{
	display: grid;
    gap: 2rem;
	grid-template-columns: repeat(2, 1fr);
}


.home-contact-btn-item-text span.ja{
    font-size: 19px;
}


.home-contact-btn-item-text span.en{
    font-size: 14px;
}


.footer-heading{
	flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.footer-logo img{
    width: 360px;
}

.site-footer {
	padding:2.625em 0;
}

	
	.footer-logo {
    margin-top:0;
}



.footer-wrap .footer-wrap-inner{
	margin:0 auto 90px;
}

	.top-news .home-head {
    display: block;
}
	
	.home-menu-desc,
	.top-course-note {
  font-size: 16px;
}
	
}



