@charset "utf-8";
/* CSS Document */

/*-----------------------------------------------
  common
-----------------------------------------------*/
.page_title {
position: relative;
display: flex;
justify-content: center;
align-items: center;
height: 6em;
font-family: "Kiwi Maru", sans-serif;
font-size: 2.5em;
font-weight: 500;
line-height: 1.2;
text-align: center;
color: #FFF;
background: var(--green);
}
.page_title_head {
background: var(--green);
}
.page_title_en {
position: absolute;
right: 4%;
bottom: 20px;
width: 46%;
}
#news .page_title_en {
right: 4%;
top: 32%;
width: 40%;
}
@media screen and (max-width: 800px) {
	.page_title {
	font-size: 1.5em;
	}
}

#exam .btn-1 a {
color: #FFF;
}


#exam .head1 {
font-size: 2em;
font-weight: 500;
text-align: center;
}
@media screen and (max-width: 800px) {
	#exam .head1 {
	font-size: 1.5em;
	text-align: center;
	}
}
#exam .head2 {
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 4em;
padding: 0.25em;
font-size: 1.25em;
line-height: 1.25;
text-align: center;
color: #FFF;
background: #666;
}
#exam .head2 small {
display: block;
font-size: 0.75em;
}
#exam .head2 sup {
position: absolute;
top: calc(50% - 0.1em);
right: 1em;
font-size: 0.65em;
}
@media screen and (max-width: 800px) {
	#exam .head2 {
	font-size: 1em;
	}
}

#exam .head3 {
font-family: "Noto Sans JP", sans-serif;
font-size: 2em;
font-weight: 700;
text-align: center;
color: var(--green);
}
@media screen and (max-width: 767px) {
	#exam .head3 {
	font-size: 1.5em;
	text-align: center;
	}
}

/*-----------------------------------------------
  index
-----------------------------------------------*/
#exam .exam_index {
padding: 4%;
background: rgba(255,255,255,0.7);
border-radius: 10px;
}
#exam .exam_index li:not(:first-child) {
margin-top: 4%;
}
@media screen and (max-width: 800px) {
	#exam .exam_index {
	margin: 6%;
	padding: 4%;
	}
}


/*-----------------------------------------------
  about
-----------------------------------------------*/
.exam_about {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.exam_about .text {
margin-top: 1em;
text-align: justify;
}
@media screen and (max-width: 767px) {
}

/*  policy */
.exam_policy {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.exam_policy .text_sub {
font-size: 0.85em;
}
.exam_policy li {
margin: 0.25em 0;
padding-left: 1.35em;
text-indent: -1.35em;
}
@media screen and (max-width: 767px) {
}

/* flow */
.exam_flow {
padding: 4% 0;
}
.exam_flow ul {
margin-top: 2%;
}
.exam_flow li {
position: relative;
padding: 20px 4%;
background: rgba(255,255,255,0.7);
box-sizing: border-box;
}
.exam_flow li:not(:first-child) {
margin-top: 1.75em;
}
.exam_flow li:not(:first-child)::before {
content: "";
position: absolute;
left: calc(50% - 0.5em);
top: -1.25em;
width: 1em;
height: 0.75em;
clip-path: polygon(0 0, 100% 0%, 50% 100%);
background: var(--green);
}
.exam_flow .num {
font-size: 0.85em;
text-align: center;
}
.exam_flow .num strong {
font-size: 1.5em;
font-weight: 700;
}
.exam_flow dt {
font-family: "Noto Sans JP", sans-serif;
font-size: 1.5em;
font-weight: 700;
line-height: 1.25;
text-align: center;
color: var(--green);
}
.exam_flow dt small {
font-size: 0.75em;
color: #000;
}
.exam_flow .text {
margin-top: 0.75em;
padding-top: 0.75em;
font-size: 0.95em;
border-top: 1px solid #000;
}
@media screen and (max-width: 800px) {
	.exam_flow {
	padding: 8% 4%;
	}
	.exam_flow dt {
	font-size: 1.2em;
	}
}

/*-----------------------------------------------
  method
-----------------------------------------------*/
.exam_method {
padding: 4%;
}
.exam_method a {
color: var(--green);
text-decoration: underline;
}
.exam_type {
margin-top: 4%;
border: 1px solid #00A5A5;
}
.method_txt {
margin-top: 0.5em;
text-align: center;
}
.method_ttl {
padding: 0.15em 0.5em;
font-size: 1.25em;
font-weight: 500;
text-align: center;
color: #FFF;
background: var(--green);
}
.method_detail .head {
padding: 0.25em 0.25em;
font-size: 1.1em;
font-weight: 500;
letter-spacing: 0.25em;
text-align: center;
}
.method_detail .body {
padding: 10px 15px 15px 15px;
font-size: 0.95em;
line-height: 1.75;
background: rgba(255,255,255,0.7);
}
.method_list1 li {
padding-left: 1em;
text-align: justify;
text-indent: -1em;
}
.method_link::before {
content: "▶";
position: relative;
top: 0;
left: 0;
margin: 0 0.25em;
font-size: 0.65em;
color: #00A5A5;
}
.method_box {
margin-top: 15px;
background: #F5F5F5;
}
.method_box_ttl {
padding: 0.25em;
font-weight: 700;
text-align: center;
background: #E2E2E2;
}
.method_box_ttl .link {
margin-left: 0.5em;
font-size: 1em;
font-weight: 400;
color: #00A5A5;
}
.method_box_grid {
display: flex;
justify-content: space-between;
padding: 15px;
}
.method_box_grid dl {
width: 48%;
}
.method_box_grid dt {
font-weight: 700;
}
.method .note {
padding: 15px;
font-size: 0.9em;
line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.exam_method {
	padding: 4% 0;
	}
	.method_type {
	border: 0;
	}
	.method_txt {
	margin-top: 2%;
	padding: 0 4%;
	}
	.method_ttl {
	font-size: 1.1em;
	}
	.method_detail .head {
	font-size: 1em;
	}
	.method_detail .body {
	padding: 4%;
	line-height: 1.5;
	}
	.method_box_grid {
	display: block;
	padding: 4%;
	}
	.method_box_grid dl {
	width: 100%;
	}
	.method_box_grid dl:not(:first-child) {
	margin-top: 6%;
	}
	.method .note {
	padding: 4%;
	}
}


/*-----------------------------------------------
  schedule
-----------------------------------------------*/
.exam_schedule {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.exam_schedule table {
width: 100%;
margin-top: 2%;
border-collapse: separate;
border-spacing: 2px;
}
.exam_schedule th,
.exam_schedule td {
padding: 1em;
text-align: center;
background: #FFF;
}
.exam_schedule thead th {
padding: 0.25em;
font-weight: 500;
color: #FFF;
background: rgba(0,165,165,0.5);
}
.exam_schedule tbody th {
width: 5em;
font-weight: 500;
}
.exam_schedule tbody tr:nth-child(even) th,
.exam_schedule tbody tr:nth-child(even) td {
background: #F1F1F1;
}
.exam_schedule .note {
margin-top: 2%;
padding-left: 1em;
text-indent: -1em;
font-size: 0.875em;
}
.exam_schedule .note li {
margin: 0.25em 0;
padding-left: 1em;
text-indent: -1em;
}
.exam_schedule .term,
.exam_schedule .time,
.exam_schedule .place {
display: flex;
margin-top: 4%;
padding: 0 4%;
}
.exam_schedule .term dt,
.exam_schedule .time dt,
.exam_schedule .place dt {
width: 6em;
margin-right: 0.75em;
padding: 0 0.5em 0.1em 0.5em;
text-align: center;
color: #FFF;
background: var(--green);
border-radius: 4px;
}
.exam_schedule .note {
margin: 0 4%;
}
@media screen and (max-width: 767px) {
	.exam_schedule {
	padding: 8% 0;
	}
	.exam_schedule table {
	font-size: 0.9em;
	border-collapse: collapse;
	border-spacing: 0;
	}
	.exam_schedule thead th {
	border-left: 1px solid #FFF;
	}
	.exam_schedule tbody td {
	border-left: 1px solid rgba(0,165,165,0.5);
	}
}

/*-----------------------------------------------
  discount
-----------------------------------------------*/
.exam_discount {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.exam_discount dl {
display: flex;
justify-content: center;
align-items: center;
max-width: 760px;
margin: 0 auto;
padding: 1em 0;
}
.exam_discount .head {
width: 14em;
padding: 1em 1em 1em 0;
font-size: 1.25em;
font-weight: 500;
text-align: right;
border: 1px solid #000;
}
.exam_discount .body {
padding: 1em 0 1em 1.5em;
}
@media screen and (max-width: 767px) {
	.exam_discount {
	padding: 8% 4%;
	}
	.exam_discount dl {
	display: block;
	margin: 0 auto;
	padding: 0;
	}
	.exam_discount .head {
	width: 14em;
	margin: 0 auto;
	padding: 0.5em;
	font-size: 1.05em;
	text-align: center;
	}
	.exam_discount .body {
	padding: 4% 0;
	}
}


/*-----------------------------------------------
  process
-----------------------------------------------*/
.exam_process {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.exam_process h3 {
padding: 0.25em;
font-size: 1.25em;
font-weight: 500;
text-align: center;
margin-top: 6%;
background: rgba(0,0,0,0.05);
}
.exam_process .body {
margin: 1em 0;
}
@media screen and (max-width: 767px) {
	.exam_process {
	padding: 8% 0;
	}
	.exam_process h3 {
	font-size: 1.05em;
	}
	.exam_process .body {
	margin-top: 4%;
	padding: 0 4%;
	}
}



/*-----------------------------------------------
  tuition
-----------------------------------------------*/

/* tuition_base */
.tuition_base {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.tuition_base .course {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.tuition_base .course li {
width: 48%;
box-sizing: border-box;
}
.tuition_base .course li:nth-child(n + 3) {
margin-top: 4%;
}
.tuition_base .course .box {
padding: 4%;
background: rgba(0,0,0,0.025);
}
.tuition_base .course .fee {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 1em;
padding-bottom: 1em;
border-bottom: 1px solid #000;
}
.tuition_base .course .fee > dt {
width: 5em;
font-weight: 500;
border-right: 1px solid #000;
}
.tuition_base .course .fee dd {
position: relative;
width: calc(100% - 6em);
}
.tuition_base .course .fee dd span {
position: absolute;
left: 6em;
}
.tuition_base .course .total {
display: flex;
justify-content: space-between;
}
.tuition_base .course .total dt {
font-weight: 500;
}
.tuition_base .course .total dt span {
display: block;
font-size: 0.75em;
}
.tuition_base .course .total dd {
font-weight: 700;
font-size: 1.25em;
}
.tuition_base .note li {
padding-left: 1.75em;
text-indent: -1.75em;
font-size: 0.875em;
}
@media screen and (max-width: 800px) {
	.tuition_base .course {
	display: block;
	}
	.tuition_base .course li {
	width: 100%;
	}
}

/* junior */
.tuition_junior {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.tuition_junior .fee {
width: 100%;
border-collapse: separate;
border-spacing: 2px;
}
.tuition_junior .fee th,
.tuition_junior .fee td {
padding: 1em;
text-align: center;
vertical-align: middle;
background: #FFF;
}
.tuition_junior .fee th {
font-weight: 500;
color: #FFF;
background: rgba(0,165,165,0.75);
}
.tuition_junior .fee td {
font-size: 1.25em;
font-weight: 500;
background: #F1F1F1;
}
.tuition_junior .note li {
padding-left: 1em;
text-indent: -1em;
font-size: 0.875em;
}

/* process */
.tuition_process {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.tuition_process li {
padding-left: 1em;
text-indent: -1em;
}
.tuition_process li::before {
content: "●";
margin: 0 0.5em;
font-size: 0.5em;
vertical-align: 0.35em;
}
@media screen and (max-width: 800px) {
}

/* class */
.tuition_class {
padding: 4%;
background: rgba(255,255,255,0.7);
}
.tuition_class .list {
display: flex;
flex-wrap: wrap;
padding: 1em 4%;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
}
.tuition_class .list li {
margin: 0.2em 0;
padding-left: 1em;
position: relative;
}
.tuition_class .list li::before {
content: "●";
position: absolute;
top: 1em;
left: 0.25em;
font-size: 0.5em;
}
.tuition_class .list li:not(:last-child) {
margin-right: 2em;
}
.tuition_class .note li {
padding-left: 1em;
text-indent: -1em;
font-size: 0.875em;
}
.tuition_class .course {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.tuition_class .course li {
width: 48%;
text-align: center;
}
.tuition_class .course li:nth-child(n + 3) {
margin-top: 1em;
}
.tuition_class .course dt {
padding: 0.5em;
color: #FFF;
background: #999;
}
.tuition_class .course dd {
margin-top: 0.25em;
font-size: 1.25em;
font-weight: 700;
}
@media screen and (max-width: 800px) {
}

/* color */
#exam .color1 {
background: #87C8AA;
}
#exam .color2 {
background: #91C5EB;
}
#exam .color3 {
background: #F4B0A9;
}
#exam .color4 {
background: #BBB2D1;
}
#exam .color5 {
background: #F4AF86;
}


/*-----------------------------------------------
  support
-----------------------------------------------*/
#exam .support_system {
padding: 4%;
font-family: "Kiwi Maru", sans-serif;
}
#exam .support_system h2:not(:first-child) {
margin-top: 60px;
}
#exam .support_system ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 10px;
}
#exam .support_system li {
width: 49%;
margin-top: 4%;
padding: 4%;
background: rgba(255,255,255,0.7);
border-radius: 10px;
box-sizing: border-box;
}
#exam .support_system .num {
font-size: 0.85em;
font-weight: 500;
text-align: center;
}
#exam .support_system .num strong {
font-size: 1.5em;
font-weight: 500;
}
#exam .support_system dt {
margin-top: 0.5em;
font-family: "Noto Sans JP", sans-serif;
font-size: 1.5em;
font-weight: 700;
line-height: 1.25;
text-align: center;
color: var(--green);
}
#exam .support_system dt small {
font-size: 0.75em;
color: #000;
}
#exam .support_system .text {
margin-top: 0.75em;
padding-top: 0.75em;
font-size: 0.95em;
text-align: justify;
border-top: 1px solid #000;
}
#exam .support_system .text_sub {
display: inline-block;
font-size: 0.65em;
color: #000;
}
@media screen and (max-width: 800px) {
	#exam .support_system {
	padding: 8% 4%;
	}
	#exam .support_system h2:not(:first-child) {
	margin-top: 8%;
	}
	#exam .support_system ul {
	margin-top: 2%;
	}
	#exam .support_system li {
	width: 100%;
	}
	#exam .support_system dt {
	font-size: 1.2em;
	}
}



/*-----------------------------------------------
  schedule
-----------------------------------------------*/
.schedule {
padding: 4%;
background-color: #F9F9F9;
}
.schedule_inner {
max-width: 760px;
margin: 0 auto;
}
.schedule_table {
width: 100%;
margin-top: 2%;
border-collapse: separate;
border-spacing: 2px;
}
.schedule_table th,
.schedule_table td {
padding: 1em;
text-align: center;
background: #FFF;
}
.schedule_table thead th {
padding: 0.25em;
font-weight: 500;
color: #FFF;
background: rgba(0,165,165,0.5);
}
.schedule_table tbody th {
width: 5em;
font-weight: 500;
}
.schedule_table tbody tr:nth-child(even) th,
.schedule_table tbody tr:nth-child(even) td {
background: #F1F1F1;
}
.schedule .note {
margin-top: 2%;
padding-left: 1em;
text-indent: -1em;
font-size: 0.875em;
}
.schedule .note li {
margin: 0.25em 0;
padding-left: 1em;
text-indent: -1em;
}
@media screen and (max-width: 767px) {
	.schedule {
	padding: 8% 0;
	}
	.schedule_table {
	font-size: 0.9em;
	border-collapse: collapse;
	border-spacing: 0;
	}
	.schedule_table thead th {
	border-left: 1px solid #FFF;
	}
	.schedule_table tbody td {
	border-left: 1px solid rgba(0,165,165,0.5);
	}
}



/*-----------------------------------------------
  application
-----------------------------------------------*/
#exam .exam_application {
font-weight: 500;
}
#exam .exam_application li:not(:first-child) {
margin-top: 4%;
}
#exam .exam_download h2 {
font-size: 1.2em;
font-weight: 500;
text-align: center;
}
#exam .exam_download {
padding: 4%;
background: rgba(255,255,255,0.7);
border-radius: 10px;
}
#exam .exam_download li {
margin-top: 4%;
}
@media screen and (max-width: 800px) {
	#exam .exam_application {
	padding: 6%;
	}
}
