@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;600&family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap');


/* * * * * * * * * * *
* 共通
* * * * * * * * * * */

/* 全体
------------------------------------*/
body {
	overflow-x: hidden;
	font-family: "Noto Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#wrapper,
#content,
.post {
	overflow: visible;
}

#mainImg,
.home #content,
.post {
	padding: 0 !important;
}

#mainImg {
	padding-bottom: 0;
}

.mobile #mainImg {
	margin-top: 60px !important;
}

header#h1Header {
	background: transparent;
}

body.mobile #header .logo img {
	margin: 0 auto;
}

body.mobile #breadcrumb {
	margin-top: 0;
}

.postlist, .post { background: transparent; }

.wpcf7-form {
	padding: 0;
}


.post4b h2 {
	padding: 10px 0;
	margin: 0;
}

.post4b h2 a {
	font-size: 20px;
	font-weight: 500;
	padding: 0;
}

@media screen and (max-width: 1023px) {
	body.mobile {
		margin-top: 60px;
	}

	#content.wide {
		width: 100%;
	}
}

/* スマホ対応 */
@media screen and (max-width:768px) {

	.post table th,
	.post table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.post {
		padding-left: 20px !important;
		padding-right: 20px !important;
		box-sizing: border-box;
	}
}


/* ヘッダー
------------------------------------*/

@media screen and (min-width: 1024px) {
	#header-layout {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		padding: 10px 0;
	}

	#header .logo {
		padding-left: 30px;
	}

	#header .contact .mail {
		margin-top: 8px;
	}

	#header .inner {
		width: 100%;
		z-index: 10;
	}

	nav#mainNav {
		margin: 0;
		width: auto;
	}

	nav#mainNav ul {
		height: 85px;
		line-height: 85px;
		padding: 0;
	}

	nav#mainNav ul li {
		margin: 10px 0;
	}

}

@media screen and (max-width: 1023px) {
	.mobile #header .logo .mark {
		padding: 10px;
	}
}

.spmenu #menu p {
	font-size: 9.8px;
}

/* お問い合わせページ
------------------------------------*/
.post .linkBtn {
	display: block;
}


/* Google map
------------------------------------*/
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 55%;
	position: relative;
}

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

/* スマホ対応 */
@media screen and (max-width:1024px) {
	.gmap {
		padding-bottom: 56.25%;
	}
}


/* ボタン
------------------------------------*/

.btn {
	text-align: center;
	margin-top: 15px;
}

.btn a {
	display: inline-block;
	text-align: center;
	color: #239D63;
	padding: 10px 25px 10px 10px;
	min-width: 230px;
	background-color: transparent;
	border: 1px solid #239D68;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	transition: all .3s;
	-webkit-transition: all 0.3s;
	position: relative;
}

.btn a span {
	display: inline-block;
	border-left: 1px solid #239D63;
	position: absolute;
	width: 30px;
	height: 100%;
	top: 0;
	right: 0;
}

.btn a span::before,
.btn a span::after {
	content: "";
	position: absolute;
	right: 7px;
}

.btn a span::before {
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 1px;
	background-color: #239D63;
}

.btn a span::after {
	top: 22.5px;
	width: 5px;
	height: 5px;
	border-right: 1px solid #239D63;
	border-bottom: 1px solid #239D63;
	transform: rotate(-45deg);
}


/* 装飾
------------------------------------*/
h1.title.first,
h1.title.first .sub-title {
	font-family: "Lora", "Noto Serif JP", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E" , "Times New Roman" , "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h1.title.first {
	font-weight: normal;
	line-height: 1.45;
	letter-spacing: 0.06em;
	margin-bottom: 30px;
}

.post h2,
.post h3 {
	/* padding: 0; */
	line-height: 1.65;
}

.post h2 span,
.post h3 span {
	padding: 0;
}

.post p {
	line-height: 1.85;
	font-size: 17px;
}

.f-serif {
	font-family: "Lora", "Noto Serif JP", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E" , "Times New Roman" , "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.inner-txt a h3{
	border-left:none;
}

.inner-txt a h3:after{
	border-bottom:none;
} 

.sub-title {
	display: block;
	font-size: 60%;
	font-family: "Noto Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

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

	.post p:not([class]) {
		text-align: left;
	}

}

/* グリットレイアウト
------------------------------------*/
.content {
	max-width: 1100px;
	margin: 0 auto;
}

.row {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-block: auto;
	margin-bottom: 60px;
}

.col-2 {
	width: 48%;
}

.col-2 {}

.col-3 {
	width: 31%;
}

.col-4 {
	width: 23%;
}

.col-5 {
	width: 18%;
}


/* スマホ対応 */
@media screen and (max-width:1024px) {
	.row {
		flex-direction: column;
	}

	.col-2,
	.col-3,
	.col-4,
	.col-5 {
		width: 100%;
		margin-top: 15px;
		margin-bottom: 15px;
	}
}


/* PC・SP 表示・非表示
------------------------------------*/
.pc {
	display: block;
}

.sp {
	display: none;
}

/* スマホ対応 */
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/* * * * * * * * * * *
* トップ
* * * * * * * * * * */
.page-id-2 .post,
.page-id-2 #footer {
	background-color: transparent;
}

.page-id-2 h1.title,
.page-id-2 .post h2,
.page-id-2 .post h3 {
	font-weight: normal;
	letter-spacing: 0.06em;
}

.page-id-2 h1.title {
	/* font-family: "Noto Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
}

.front_post_list .listTitle h1{
	margin-top:50px;
}

.front_post_list .listTitle h1:after,
.top03 h1:after{
	border-bottom:none;
}

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

.text_enter {display: inline-block;margin: 20px 40px;}


.top01 {
	padding-top: 20px;
}

.top01 h1,
.top03 h1,
.top04 h1{
	margin-bottom: 50px;
}

.front_post_list,
.top01 {
	padding-bottom: 50px;
}

.top03 {
	padding-top: 80px;
	padding-bottom: 80px;
}

.top02_arrange,
.top02 {
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
}

.top01 .content {
	background-color: #E9F5F0;
	padding: 50px;
	margin: 0 0 50px;
	/* box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px; */
	/* box-sizing: border-box; */
}

.top01 .row,
.top03 .row {
	align-items: center;
}

.top01 .row .col-2:first-child {
	width: 30%;
}

.top01 .row .col-2:last-child {
	width: 60%;
}

.top01 .content h2 {
	font-family: "LOLA", "Noto Serif JP", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Times New Roman", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin-bottom: 50px;
}

.top02_arrange svg {
	display: block;
}

.top02 {
	background-color: #1E9D6B;
	padding: 80px 0 180px;
}

.top02 h2 {
	font-size: 45px;
	color: #ffffff;
	margin-bottom: 50px;
}

.top03 h2 {
	border-left:none;
	font-weight:bold;
}

.top03 span{
	color:#1999C8;
	font-weight:bold;
}

.top02 .row .col-3 {
	position: relative;
}

.top02 .row .col-3 .inner-txt a {
	padding: 15px;
	min-width: 300px;
	height: 110px;
	display: block;
	position: absolute;
	bottom: -40px;
	right: -20px;
	background-color: #fff;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
	box-sizing: border-box;
}

.top02 .row .col-3 .inner-txt a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 25px;
	width: 8px;
	height: 8px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	transform: rotate(-45deg) translateY(-50%);
}
.top02 .row .col-3 .inner-txt h3:before{
	content:none;
}

.top03 h1 span.sub-title {font-size: 40%;color: #333;}

.top04{
	margin-bottom:100px;
}

.card-img{
    width: 80%;
    margin: 10px;
    vertical-align: middle;
}

.card-img img{
    margin: 30px 0;
    border-radius: 1000px;
    vertical-align: middle;
}

.card-text{
    margin: 35px 25px 35px 0;
    max-width: 300px;
    vertical-align: middle;
}

.card-text p{
	font-size:13px;
	padding: 0;
}
.card h3{
	border-left: none;
	background-color: #239D68;
	color:#fff;
	text-align:center;
	padding: 10px;
	font-size: 22px;
	margin: 0 auto;
	border: 0px solid #239D68;
	max-width: 1000px;
}

.card h3:before{
	content: none;
}

.card{
		border: 2px solid #239D68;
		margin: 10px auto;
		max-width: 500px;
}
.TOP_quality_card{
    /* max-width: 800px; */
    color: #333;
    display: flex;
    width: 100%;
    /* border: 1px solid #239D68; */
    margin: 0 auto;
}
/* スマホ対応 */
@media screen and (max-width: 1024px) {

	.front_post_list {
		padding-left: 20px;
		padding-right: 20px;
		box-sizing:border-box;
	}

	.front_post_list h1.title { margin-bottom: 0; }

	.top01 {
		padding-top: 50px;
	}

	.top01 .content {
		padding: 20px;
	}

	.top01 .content h2 {
		margin-bottom: 0;
	}

	.top01 .row .col-2:first-child,
	.top01 .row .col-2:last-child {
		width: 100%;
	}

	.top02 {
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 50px;
		box-sizing: border-box;
	}

	.top03 {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.top02 .row .col-3 {
		padding-right: 20px;
		margin-bottom: 50px;
		box-sizing: border-box;
	}

	.top02 .row .col-3 .inner-txt a {
		    padding: 15px;
    min-width: 320px;
    height: 110px;
		bottom: -40px;
		right: 0;
		padding: 20px 70px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top02 .row .col-3 .inner-txt a h3 {
		font-size: calc(54 / 1100 * 100vw);
	}

	.top03 .row { flex-direction: column-reverse; }
	
	.TOP_quality_card{
		display:inherit;
	}
	.card-img{
		margin:20px auto;
	}
	.card-text{
    margin: 35px auto;
}
}

/* * * * * * * * * * *
* CTA
* * * * * * * * * * */
.cta,
.hide-sticky-header .cta {
	visibility: hidden;
}

.sticky-header .cta {
	visibility: visible;
}

.cta {
	position: fixed;
	bottom: 15%;
	right: 0;
	z-index: 99;
}

.cta a {
	color: #fff;
	font-size: 1.5rem;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	background: linear-gradient(45deg, #00823B, #00B150);
	border: 1px solid #fff;
	display: inline-block;
	padding: 20px;
}

.cta a .fa {
	padding-bottom: 5px;
}

/* スマホ対応 */
@media screen and (max-width:1024px) {
	.cta {
		display: none;
	}
}

/* * * * * * * * * * *
* 事業内容
* * * * * * * * * * */
.business01 { padding-bottom: 50px; }

.business01 .content {
	position: relative;
}

.business01 .content img {
	position: relative;
	z-index: -1;
}

.business01 .content .item {
	background-color: #fff;
	width: 85%;
	padding: 50px;
	box-sizing: border-box;
	margin: -100px auto 0;
}

.business02 .content h2 { 
	font-size: 45px;
	font-weight: normal;
	margin-bottom: 150px;
}

.business02 .content h2 span {
	font-size: 35%;
}

.business02 .content .row {
	background-color: #fff;
	padding: 50px;
	margin-bottom: 150px;
	box-sizing: border-box;
}

.business02 .content .row:nth-child(odd) {
	flex-direction: row-reverse;
}

.business02 .content .row .col-2:first-child img {
	margin-top: -100px;
}

.business02 .content .row .col-2:last-child h3 span.num {
	color: #00B050;
	font-size: 120%;
	font-family: "Noto Sans", "Noto Sans JP", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding-right: 10px;
} 

@media screen and (max-width: 1024px) {
	.business01 .content img {
		min-height: 300px;
		object-fit: cover;
	}

	.business01 .content .item {
		width: 95%;
		padding: 20px;
	}

	.business02 .content .row {
		margin-bottom: 100px;
	}

	.business02 .content h2{
		margin-bottom: 50px;
	}

	.business02 .content .row {
		padding: 50px 20px 20px;
	}
}

/* * * * * * * * * * *
* お問い合わせ枠
* * * * * * * * * * */
.contact-wrapper {
	background: linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)), url(/struct/wp-content/uploads/contact_wrapper.png) no-repeat top center/cover;
	padding: 80px 20px;
	box-sizing: border-box;
}

.contact-wrapper h3 { 
	color: #fff;
	line-height: 1.65;
}

@media screen and (max-width: 1024px) {
	.contact-wrapper {
		padding: 50px 20px;
	}
}

/*更新による送信ボタンのズレ調整*/
.wpcf7-spinner {
    width: 0!important;
    margin: 0 10px!important;
}

.introduction01{
	margin:10px;
}
.introduction01 p{
	font-size:90%;
	padding:0;
}

.price-list table,
.schedule table,
.time-table table,
.time-table-sp table,
.curriculum table,
.university table{
	border:solid 2px #1E9D6B;
}

.schedule table tr{
	border-bottom:dotted 2px #1E9D6B;
}

.schedule table tr th{
	width:20%;
	font-size:150%;
	vertical-align:middle;
	text-align:center;
	color:#1E9D6B;
}

.schedule table tr td{
	width:40%;
	vertical-align:middle;
}

@media screen and (max-width:768px) {
	.schedule table tr td,.schedule table tr th{
		 width:100%;
	}

	.schedule table tr:nth-child(6) td:nth-child(3),
	.schedule table tr:nth-child(7) td:nth-child(3){
		display:none;
	}
	.schedule table tr{
		border-bottom:none;
	}
	.schedule table tr td{
		border-top:none;
	}
	
}


.time-table table tr:nth-child(1) th:nth-child(1),
.time-table-sp table tr:nth-child(1) th:nth-child(1){
	background-color:#fff;
}

.time-table table tr th,
.time-table-sp table tr th{
	text-align:center;
	vertical-align:middle;
	
}

.time-table table tr:first-child td:nth-child(2),
.column2_50 .am-class{
	text-align:center;
	background:#e7f3fa;
	color:#000;
}

.time-table table tr:first-child td:nth-child(4),
.column2_50 .pm-class{
	text-align:center;
	background:#f3fae7;
	color:#000;
}

.time-table table tr:nth-child(2n+2) td,
.time-table-sp table tr:nth-child(2n+2) td{
	text-align:center;
	font-weight:bold;
	border-bottom:dotted 2px #1E9D6B;
}

.time-table table tr:nth-child(2n+3) td,
.time-table-sp table tr:nth-child(2n+3) td{
	text-align:center;
}

.time-table table tr:nth-child(2) td:nth-last-child(2){
	text-align:center;
	vertical-align:middle;
	font-weight:normal;
}

@media screen and (min-width:768px){
.time-table-sp table{
	display:none;
}
}
@media screen and (max-width:768px){
	.time-table table{
		display:none;
	}
	.time-table-sp table tr th{
		display:none;
	}
	.time-table-sp table tr td{
		border-top:none;
	}
}

.price-list table tr th{
	background:#1E9D6B;
	color:#fff;
	text-align:center;
}

.price-list table tr:nth-child(2) td:nth-child(1),
.price-list table tr:nth-child(8) td:nth-child(1){
	background:#e7faf8;
	text-align:center;
	vertical-align:middle;
}

.price-list table tr:nth-child(5) td:nth-child(1),
.price-list table tr:nth-child(11) td:nth-child(1){
	background:#d2f6f2;
	text-align:center;
	vertical-align:middle;
}

.price-list table tr:nth-child(4) td,
.price-list table tr:nth-child(7) td,
.price-list table tr:nth-child(10) td,
.price-list table tr:nth-child(13) td{
	text-align:right;
	font-weight:bold;
	color:#1E9D6B;
	border-top:double 3px #1E9D6B;
}

.price-list table tr:nth-child(5),
.price-list table tr:nth-child(8),
.price-list table tr:nth-child(11){
	border-top:solid 2px #1E9D6B;
}

.price-list p{
	font-size:90%;
	padding:0;
}

@media screen and (max-width:768px){
	.price-list table tr td{
		border-top:none;
	}
}

.curriculum table tr th{
	width:25%;
	text-align:center;
	vertical-align:middle;
	font-weight:bold;
}

.curriculum table tr:nth-child(1) th{
	background-color:#faf8e7;
}
.curriculum table tr:nth-child(2) th{
	background-color:#f3fae7;
}
.curriculum table tr:nth-child(3) th{
	background-color:#e7f3fa;
}

.curriculum table tr td{
	width:60%;
}

@media screen and (max-width:768px) {
	.curriculum table tr th,
	.curriculum table tr td{
		width:100%;
	}
	
}

.university table tr:nth-child(1) th:nth-child(1){
	background-color:#faf8e7;
	font-weight:bold;
}

.university table tr:nth-child(3) th:nth-child(1){
	background-color:#f3fae7;
	font-weight:bold;
}

.university table tr:nth-child(6) th:nth-child(1){
	background-color:#e7f3fa;
	font-weight:bold;
}

.university table tr:nth-child(2) th:nth-child(1),
.university table tr:nth-child(4) th:nth-child(1),
.university table tr:nth-child(5) th:nth-child(1){
	text-align:center;
	vertical-align:middle;
}

.university table tr td li{
	float:left;
	line-height: 1.3;
	padding: 3px 0;
	margin: inherit;
	width: 15%;
}
.university table tr:nth-child(1) th:nth-child(1){
	
}
@media screen and (max-width:768px) {
	.university table tr td li{
		float:none;
		width: 100%;
		list-style-type:none;
	}
	.university table tr td ul{
		padding-left:10px;
	}
	.university table tr:nth-child(7) th:nth-child(1){
		display:none;
	}
}


.box-text{
	background-color:#e7faf8;
	margin: 10px;
	padding: 10px 10px 10px 20px;
}

.box-text p,
.box-text-border p{
	padding:0;
	font-size:90%;
}

.box-text p:first-child,
.box-text-border p:first-child{
	font-weight:bold;
}

.box-text-border{
	border:double 4px rgba(142,204,179,1);
	margin: 10px;
	padding: 10px 10px 10px 20px;
}
.box-text-border ul{
	list-style:disc;
	margin: 0 0 0 10px;
}

.box-text-border ul li{
	margin: 0 0 0 10px;
}

.shougakukin,.course{
	margin: 10px;
	background-color: #faf8e7;
	padding:10px;
	flex-grow:1;
	
}
.hoken{
	margin: 10px;
	background-color:#e7f3fa;
	padding:10px;
	flex-grow:1;
	
}

.sonota{
	margin: 10px;
	background-color:#f3fae7;
	padding:10px;
	flex-grow:1;
	
}

.shougakukin p,.hoken p,.sonota p,.course p{
	font-size:90%;
}

.outline{
	display:flex;
}

.outline .column2_50{
	display:flex;
  flex-direction:column;
}

@media screen and (max-width:768px) {
	.outline{
		display:block;
	}
}


.img-center{
	text-align:center
}