@charset "UTF-8";
/* common
------------------------------------------------*/
#localnav {
	background: #F7EFF1;
	padding: 20px 0 10px;
}
#localnav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#localnav ul li {
	width: 48%;
	margin: 0 0 10px;
}
#localnav ul li a {
	display: block;
	position: relative;
	background: #fff;
	border: 2px solid #EA6188;
	border-radius: 50px;
	padding: 20px;
	text-align: center;
	font-weight: 700;
	color: #EA6188;
}
#localnav ul li a:after {
	content: "\24";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0, -50%);
	font-family: "ElegantIcons";
	font-weight: 700;
	color: #EA6188;
}
#localnav ul li a:hover,
#localnav ul li:first-child a {
	background: #EA6188;
	color: #fff;
}
#localnav ul li a:hover:after,
#localnav ul li:first-child a:after {
	color: #fff;
}
#main #post h2 {
	position: relative;
	margin: 100px 0 30px;
	padding: 0 0 10px;
	letter-spacing: 0.06em;
	text-align: center;
	font-size: 40px;
	font-weight: 700;
}
#main #post h2:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	background: #EA6188;
	width: 100px;
	height: 6px;
	margin: 0 0 0 -50px;
}
#main #post table {
	width: 100%;
	border-collapse: collapse;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin: 0 0 30px;
}
#main #post table th,
#main #post table td {
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	padding: 15px 20px 10px;
}
#main #post table thead th {
	background: #ddd;
}
#main #post table tbody th {
	background: #F7F7F7;
	text-align: left;
	font-weight: normal;
}
@media screen and (max-width:767px) {
	#localnav ul li {
		width: 100%;
	}
	#localnav ul li a {
		padding: 10px;
	}
	#main #post h2 {
		margin: 50px 0 20px;
		letter-spacing: 0.04em;
		font-size: 30px;
	}
	#main #post h2:before {
		width: 60px;
		margin: 0 0 0 -30px;
	}
	#main #post table th,
	#main #post table td {
		padding: 15px 10px 10px;
	}
	#main #post .table-wrap {
		overflow-x: auto;
		background: url(img/icon-scroll.svg) no-repeat right top;
		background-size: auto 25px;
		margin: 0 0 20px;
		padding: 30px 0 10px;
	}
	#main #post .table-wrap:-webkit-scrollbar {
		height: 5px;
	}
	#main #post .table-wrap:-webkit-scrollbar-track {
		background: #F1F1F1;
	}
	#main #post .table-wrap:-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
	#main #post .table-wrap table {
		table-layout: fixed;
		margin: 0;
	}
}
@media screen and (max-width:480px) {
	#main #post h2 {
		font-size: 26px;
	}
}
/* course
------------------------------------------------*/
#main #post.course .headline p {
	text-align: center;
	letter-spacing: 0.07em;
	font-size: 25px;
	font-weight: 700;
	color: #EA6188;
}
#main #post.course .flex {
	margin: 0 0 50px;
}
#main #post.course .headline + .flex {
	background: #F7F7F7;
	align-items: center;
}
#main #post.course .headline + .flex p,
#main #post.course .flex dl {
	width: 50%;
	margin: 0;
}
#main #post.course .flex dl {
	padding: 0 50px;
}
#main #post.course .flex dt {
	letter-spacing: 0.06em;
	font-size: 30px;
	font-weight: 700;
	color: #EA6188;
}
#main #post.course .flex dd {
	margin: 20px 0 0;
}
#main #post.course ul {
	list-style: disc;
	padding: 0 0 0 1.5em;
}
#main #post.course ul li {
	margin: 0 0 0.5em;
}
#main #post.course .flex .box {
	background: #FFE3EA;
	width: 48%;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	margin: 40px 0 0;
}
#main #post.course .flex .box h3 {
	background: #EA6188;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	margin: 0;
	padding: 20px 20px 10px;
	letter-spacing: 0.07em;
	font-size: 25px;
	font-weight: 700;
	color: #fff;
}
#main #post.course .flex .box ul {
	margin: 30px 20px;
}
#main #post.course .flex .box p {
	margin: 30px 20px 20px;
}
#main #post.course .flex .box p img {
	margin: 0 0 10px;
}
#main #post.course .flex .box p strong {
	background: #EA6188;
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 5px 10px 0;
	font-size: 0.8em;
	color: #fff;
}
#main #post.course .flex.column3 .box {
	margin-top: -1em;
	width: 32%;
}
#main #post.course #course02 .headline {
	background: #F7EFF1;
	border-top-right-radius: 100px;
	margin: 80px 0 0;
	padding: 5px 0 50px;
}
#main #post.course .flex .box h3 {
	font-size: 1em;
}
#main #post.course #course02 .headline p {
	margin: 0;
}
#main #post.course #course02 .headline + .flex {
	background: #F7EFF1;
}
#main #post.course .timetable {
	font-size: 0.85em;
}
#main #post.course .timetable tbody th:first-child {
	width: 5%;
}
#main #post.course .timetable tbody td,
#main #post.course .timetable tbody td {
	width: 15%;
}
#main #post.course .inner > h3 {
	background: #FFE3EA;
	border-radius: 10px;
	margin: 60px 0 10px;
	padding: 0.7em 0.7em 0.4em;
}
#main #post.course .inner > h3::before {
	content: "";
	display: inline-block;
	background: #f6a6bd;
	border-radius: 50%;
	width: 0.6em;
	height: 0.6em;
	vertical-align: baseline;
	margin: 0 0.3em 0 0;
}
#main #post.course table .ao {
	background: #e6f7ff;
	text-align: center;
}
#main #post.course table .reco {
	background: #FEF0F2;
	text-align: center;
}
#main #post.course table .gene {
	background: #F2F8F2;
	text-align: center;
}
#main #post.course table th.ao {
	background: #b3dff8;
}
#main #post.course table th.reco {
	background: #fdd6db;
}
#main #post.course table th.gene {
	background: #baeaba;
}
#main #post.course table .total {
	background: #FFF0B8;
	font-weight: 700;
	text-align: center;
}
@media screen and (max-width:767px) {
	#main #post.course h2 + p {
		font-size: 20px;
	}
	#main #post.course .flex {
		margin: 0 0 30px;
	}
	#main #post.course .headline + .flex p,
	#main #post.course .flex dl {
		width: 100%;
	}
	#main #post.course .flex dl {
		padding: 30px;
	}
	#main #post.course .flex dt {
		font-size: 22px;
	}
	#main #post.course .flex .box,
	#main #post.course .flex.column3 .box {
		width: 100%;
		margin: 20px 0 0;
	}
	#main #post.course .flex .box h3 {
		font-size: 20px;
	}
	#main #post.course .flex .box ul {
		margin: 20px;
	}
	#main #post.course #course02 .headline {
		border-top-right-radius: 50px;
		margin: 60px 0 0;
		padding: 5px 0 30px;
	}
	#main #post.course table {
		width: auto;
		font-size: 18px;
	}
	#main #post.course .timetable {
		width: 510px;
	}
	#main #post.course .timetable th,
	#main #post.course .timetable td {
		padding: 5px;
	}
	#main #post.course table td.align-center {
		white-space: nowrap;
	}
}
@media screen and (max-width:480px) {
	#main #post.course .flex dl {
		padding: 20px;
	}
	#main #post.course table {
		font-size: 16px;
	}
}
/* recruit
------------------------------------------------*/
#main #post.recruit h3 {
	position: relative;
	background: #EA6188;
	border-radius: 10px;
	margin: 80px 0 40px;
	padding: 15px 20px 10px;
	text-align: center;
	font-weight: 700;
	color: #fff;
}
#main #post.recruit h3:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -20px;
	transform: translate(-50%, 0);
	background: #EA6188;
  width: 20px;
  height: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#main #post.recruit ul {
	list-style: disc;
	padding: 0 0 0 1.5em;
}
#main #post.recruit ul li {
	margin: 0 0 0.5em;
}
#main #post.recruit .lead {
	background: #F7F7F7;
	align-items: center;
}
#main #post.recruit .lead p,
#main #post.recruit .lead dl {
	width: 50%;
	margin: 0;
}
#main #post.recruit .lead dl {
	padding: 0 50px;
}
#main #post.recruit .lead dt {
	letter-spacing: 0.06em;
	font-size: 30px;
	font-weight: 700;
	color: #EA6188;
}
#main #post.recruit .lead dd {
	margin: 20px 0 0;
}
#main #post.recruit .lead dd ul {
	width: 50%;
}
#main #post.recruit .lead dd ul li {
	margin: 0 0 0.5em;
}
#main #post.recruit .graduate .box {
	display: flex;
	align-items: center;
	background: #FFE3EA;
	width: 48%;
	border-radius: 20px;
	margin: 0 0 20px;
	padding: 20px;
}
#main #post.recruit .graduate .box img {
	display: block;
	width: 190px;
	height: auto;
	border-radius: 10px;
	margin: 0 20px 0 0;
}
#main #post.recruit .graduate .box p {
	margin: 0;
}
#main #post.recruit .graduate .box strong {
	font-size: 0.8em;
	color: #EA6188;
}
#main #post.recruit ul.flex li {
	width: 50%;
}
#main #post.recruit #recruit02 {
	background: #F7EFF1;
	border-top-right-radius: 100px;
	margin: 70px 0 40px;
	padding: 5px 0 0;
}
#main #post.recruit #recruit02 .lead {
	background: #F7EFF1;
}
#main #post.recruit .btn {
	margin-top: 40px;
}
@media screen and (max-width:767px) {
	#main #post.recruit .lead p,
	#main #post.recruit .lead dl {
		width: 100%;
	}
	#main #post.recruit .flex dl {
		padding: 30px;
	}
	#main #post.recruit .flex dt {
		font-size: 22px;
	}
	#main #post.recruit .graduate .box {
		width: 100%;
	}
	#main #post.recruit ul.flex li {
		width: 100%;
	}
}
@media screen and (max-width:480px) {
	#main #post.recruit .lead dd ul {
		width: 100%;
	}
	#main #post.recruit .graduate .box {
		align-items: flex-start;
	}
	#main #post.recruit .graduate .box img {
		width: 100px
	}
}
/* admission
------------------------------------------------*/
#main #post.admission h3 {
	background: #FFE3EA;
	border-radius: 10px;
	margin: 60px 0 10px;
	padding: 0.7em 0.7em 0.4em;
}
#main #post.admission h3::before {
	content: "";
	display: inline-block;
	background: #f6a6bd;
	border-radius: 50%;
	width: 0.6em;
	height: 0.6em;
	vertical-align: baseline;
	margin: 0 0.3em 0 0;
}
#main #post.admission table .ao {
	background: #e6f7ff;
	text-align: center;
}
#main #post.admission table .reco {
	background: #FEF0F2;
	text-align: center;
}
#main #post.admission table .gene {
	background: #F2F8F2;
	text-align: center;
}
#main #post.admission table th.ao {
	background: #b3dff8;
}
#main #post.admission table th.reco {
	background: #fdd6db;
}
#main #post.admission table th.gene {
	background: #baeaba;
}
#main #post.admission table .total {
	background: #FFF0B8;
	font-weight: 700;
	text-align: center;
}
#main #post.admission dl {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	margin: 10px;
}
#main #post.admission dl dt {
	width: 40%;
	background: #EA6188;
	border-radius: 5px;
	margin: 10px 0;
	padding: 10px 0;
	line-height: 1;
	text-align: center;
	font-size: 0.9em;
	color: #fff;
}
#main #post.admission dl dd {
	width: 60%;
	margin: 0 0 10px;
	padding: 0 0 0 0.1em;
	text-align: center;
	line-height: 1;
	font-weight: 700;
	font-size: 1.5em;
	color: #EA6188;
}
#main #post.admission #admission01 table thead th {
	width: 25%;
}
#main #post.admission .division th,
#main #post.admission .division td {
	width: 50%;
	text-align: center;
}
#main #post.admission .division td strong {
	margin: 0 0.3em;
	font-size: 1.5em;
	color: #EA6188;
}
#main #post.admission .red {
	font-size: 1.1em;
	color: #EA6188;
}
#main #post.admission .box {
	margin-top: -1em;
	border: solid 1px #EA6188;;
	border-radius: 10px;
}
#main #post.admission .flex.aligncenter {
	align-items: center;
}
#main #post.admission .flex > p,
#main #post.admission .flex > div {
	width: 48%;
}
#main #post.admission .flex.column3 .box {
	width: 32%;
}
#main #post.admission .box h4 {
	background: #EA6188;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    margin: 0;
    padding: 20px 20px 10px;
    letter-spacing: 0.07em;
	line-height: 1.3;
	text-align: center;
    font-weight: 700;
    color: #fff;
}
@media screen and (max-width:767px) {
	#main #post.admission table {
		width: auto;
		font-size: 18px;
	}
	#main #post.admission table td.align-center {
		white-space: nowrap;
	}
	#main #post.admission .division {
		width: 100%;
	}
	#main #post.admission .division td strong {
		display: block;
	}
	#main #post.admission .flex > p,
	#main #post.admission .flex > div,
	#main #post.admission .flex.column3 .box {
		margin: 1em 0 0;
		width: 100%;
	}
	#main #post.admission dl dt {
		font-size: 0.9em;
	}
}
@media screen and (max-width:480px) {
	#main #post.admission table {
		font-size: 16px;
	}
}
/* campuslife
------------------------------------------------*/
#main #post.campuslife ul:not(.photo) li:before {
	content: "●";
	margin: 0 5px 0 0;
}
#main #post.campuslife li.y12:before {
	color: #b3dff8;
}
#main #post.campuslife li.y1:before {
	color: #fdd6db;
}
#main #post.campuslife li.y2:before {
	color: #baeaba;
}
#main #post.campuslife .photo {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 40px;
}
#main #post.campuslife .photo li {
	width: 24%;
	margin: 0 0 15px;
}
#main #post.campuslife .target {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 10px;
}
#main #post.campuslife .target li {
	margin: 0 0 0 1.5em;
}
#main #post.campuslife th {
	text-align: center;
}
#main #post.campuslife td ul li {
	display: inline-block;
	margin: 5px 10px 5px 0;
}
#main #post.campuslife #campuslife02 .flex {
	background: #FFF1A2;
	border-radius: 20px;
	margin: 0 0 40px;
	padding: 30px;
}
#main #post.campuslife #campuslife02 .flex p {
	width: 43%;
	margin: 0;
}
#main #post.campuslife #campuslife02 .flex p + p {
	width: 55%;
}
@media screen and (max-width:767px) {
	#main #post.campuslife .target {
		justify-content: flex-start;
	}
	#main #post.campuslife .target li:first-child {
		margin: 0;
	}
	#main #post.campuslife .photo li {
		width: 48%;
	}
	#main #post.campuslife #campuslife02 .flex {
		padding: 30px 20px;
	}
	#main #post.campuslife #campuslife02 .flex p {
		width: 100%;
	}
	#main #post.campuslife #campuslife02 .flex p + p {
		width: 100%;
		margin: 20px 0 0;
	}
}
@media screen and (max-width:480px) {
	#main #post.campuslife .target li {
		margin: 0 0 0 1em;
		font-size: 17px;
	}
}
/* access
------------------------------------------------*/
#main #post.access .inner {
	margin-top: 80px;
}
#main #post.access ul {
	display: inline-block;
	list-style: disc;
	padding: 0 0 0 1,5em;
}
#main #post.access ul li {
	margin: 5px 0;
	text-align: left;
}
@media screen and (max-width:767px) {
	#main #post.access .inner {
		margin-top: 50px;
	}
}
/* study
------------------------------------------------*/
#main #post.study h2 + p {
	text-align: center;
}
#main #post.study h3 {
	background: #FFE3EA;
    border-radius: 10px;
    margin: 60px 0 10px;
    padding: 0.7em 0.7em 0.4em;
}
#main #post.study h3::before {
	content: "";
    display: inline-block;
    background: #f6a6bd;
    border-radius: 50%;
    width: 0.6em;
    height: 0.6em;
    vertical-align: baseline;
    margin: 0 0.3em 0 0;
}
#main #post.study .job th,
#main #post.study .job td {
	width: 50%;
	text-align: center;
}
#main #post.study .job td strong {
	margin: 0 0.3em;
	font-size: 1.5em;
	color: #EA6188;
}
#main #post.study .timetable {
	font-size: 0.85em;
}
#main #post.study .timetable .grade1 th {
	background: #fdd6db;
}
#main #post.study .timetable .grade2 th {
	background: #baeaba;
}
#main #post.study .timetable .grade1 td {
	background: #FEF0F2;
}
#main #post.study .timetable .grade2 td {
	background: #F2F8F2;
}
#main #post.study .timetable tbody th:first-child {
	width: 5%;
}
#main #post.study .timetable tbody td {
	width: 15%;
}
@media screen and (max-width:767px) {
	#main #post.study .timetable {
		width: 530px;
	}
	#main #post.study .timetable th,
	#main #post.study .timetable td {
		padding: 5px;
	}
	#main #post.study .timetable tbody th:first-child {
		text-align: center;
	}
}
/* mw_wp_form
------------------------------------------------*/
#main #post .mw_wp_form {
	margin: 0 auto;
}
#main #post .mw_wp_form dl {
	border-top: 1px solid #ccc;
	margin: 0 0 20px;
}
#main #post .mw_wp_form dt {
	position: relative;
	float: left;
	width: 280px;
	padding: 20px 25px;
    font-weight: bold;
	clear: both;
}
#main #post .mw_wp_form dt.required {
	padding: 15px 65px 15px 20px;
}
#main #post .mw_wp_form dt.required:before {
	content: "必須";
	display: block;
	position: absolute;
	top: 25px;
	right: 30px;
	padding: 0 4px;
	background: #f9d6e0;
	font-size: 0.6em;
	color: #EA6188;
}
#main #post .mw_wp_form dd {
	border-bottom: 1px solid #ccc;
	margin: 0;
	padding: 20px 25px 20px 290px;
	min-height: calc(2em + 40px);
}
#main #post .mw_wp_form dd input,
#main #post .mw_wp_form dd textarea,
#main #post .mw_wp_form dd select {
	font-size: 1em;
	max-width: 100%;
}
#main #post .mw_wp_form dd input.full,
#main #post .mw_wp_form dd textarea {
	width: 99%;
}
#main #post .mw_wp_form input.submit {
	display: inline-block;
	padding: 1em 2em;
	color: #fff;
	background: #EA6188;
	border: none;
    border-radius: 3em;
	cursor: pointer;
	font-weight: bold;
	font-size: 1em;
}
#main #post .mw_wp_form input.submit:hover {
	opacity: 0.8;
}
#main #post .mw_wp_form input.submit[name="submitBack"] {
    background: #eee;
    border: solid 1px #ccc;
    border-radius: 0;
    padding: 0.8em 2em;
    font-weight: normal;
    font-size: 0.8em;
    color: #333;
}
#main #post .mw_wp_form ::placeholder {
	color: #b1b1b1;
}
#main #post .mw_wp_form .none {
	display: none;
}
@media screen and (max-width:767px) {
	#main #post .mw_wp_form dl {
		border: 0;
	}
	#main #post .mw_wp_form dt {
		float: none;
		width: auto;
		padding: 10px 0 5px;
	}
	#main #post .mw_wp_form dt.required {
		padding: 10px 0 5px 40px;
	}
	#main #post .mw_wp_form dt.required:before {
		top: 13px;
		left: 0;
		right: auto;
	}
	#main #post .mw_wp_form dd {
		border: 0;
		margin: 0 0 20px;
		padding: 0 0 10px;
		min-height: auto;
	}
}
@media screen and (max-width:480px) {
	#main #post .mw_wp_form .horizontal-item {
		display: block;
		margin: 5px 0 0;
	}
	#main #post .mw_wp_form .horizontal-item + .horizontal-item {
		margin: 10px 0 0;
	}
}

/* contact
------------------------------------------------*/
#main #post.contact .tel {
	text-align: center;
}
#main #post.contact .tel a {
	display: inline-block;
	background: url("img/icn-tel.svg") no-repeat left bottom 5px;
	background-size: auto 30px;
	margin: 0 0 10px;
	padding: 0 0 0 55px;
	line-height: 1;
	font-size: 49px;
}
#main #post.contact .tel span {
	display: block;
	letter-spacing: 0.07em;
}
#main #post.contact .policy {
	background: #F7EFF1;
	padding: 2em 1em;
	text-align: center;
	font-size: 0.7em;
}
#main #post.contact .policy a {
	text-decoration: underline;
}
#main #post.contact .policy a:hover {
	text-decoration: none;
}
@media screen and (max-width:480px) {
	#main #post.contact .tel a {
		font-size: 37px;
	}
	#main #post.contact .tel span {
		letter-spacing: 0.02em;
	}
}