@charset "UTF-8";


.title {
	margin-bottom: 40px;
	text-align: center;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.title {
	margin-bottom: 20px;
}
}
/* -------------end------------- */





/* 1個目のブロック
----------------------------------- */

.content01 {
	padding: 250px 0 ;
	background: url(../img/background_01.jpg) center top fixed;
	background-repeat: no-repeat;
}

#con01_column{
	max-width: 960px;
	width:100%;
	margin: 0 auto;

}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content01 {
	background: url(../img/background_01_sp.jpg) center bottom;
	
background-size: 100% auto;
	background-repeat: no-repeat;
padding-top: 100px;
padding-bottom: 100px;
}
#con01_column{
	width:90%;
	margin: 0 auto;

}	

}
/* -------------end------------- */



/* 2個目のブロック
----------------------------------- */

.content02 {
	padding: 150px 0;
	background: url(../img/background_02.jpg) center top fixed;
}

	#con02_column {
		max-width: 960px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
		/*padding-left: 340px;*/
	}

#con02_column > .title_section {
			width: 65%;
			max-width: 650px;

			
			margin-right: 0;
			margin-left: auto;
		}


		#con02_column>section {
			width: 65%;
			max-width: 650px;
			margin:0 auto;
			padding:30px;
			background: rgba(220,243,246,0.9);
			box-sizing: border-box;
			margin-right: 0;
			margin-left: auto;
		}

		#con02_column>section>p{
			margin-bottom: 20px;
		}


		.cont02_img{
			width: 50%;
			margin:0 auto;
			padding: 10px 0 30px 0;
		}
			.cont02_img h4{
				text-align: center;
				font-size: 125%;
				font-weight: 500;
				color: #b18247;
			}
			.cont02_img h4 span{
				text-align: center;
				font-size: 94%;
				font-weight: 500;
				color: #7e521b;
			}

		.intro {
			width: 100%;
			margin:0 auto;
			padding:30px;
			background-color: #fff;
			box-sizing: border-box;
		}
			.intro h3 {
				width: 50%;
				margin:0 auto;
				padding-bottom: 20px;
			}

.intro > p {
				margin-bottom: 10px;
			}


/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content02 {
	padding: 50px 0;
}

#con02_column {
	width:90%;

	}

#con02_column > .title_section {
width: 100%;
margin-right: auto;
margin-left: auto;
		}


#con02_column>section {
width: 100%;
margin-right: auto;
margin-left: auto;
padding:15px;
}


.cont02_img{
			width: 80%;
			margin:0 auto;
			padding: 10px 0 30px 0;
		}


.intro {
padding:20px;
		}
.intro h3 {
				width: 80%;}

}
/* -------------end------------- */


/* 3個目のブロック
----------------------------------- */

.content03 {
	padding: 150px 0;
	background: url(../img/background_03.jpg) center top fixed;
	background-size: cover; /* 背景をリピートさせたくないときに入れる */
}

.con03_dot_box {
	max-width: 760px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
	text-align: left;
	overflow: hidden;
}
	.con03_dot_box h2 {
		line-height: 1.4;
	}

.school_con3_flex{
	display: flex;
justify-content: space-between;
margin-bottom: 30px;}

.school_con3_flex li:first-child{width: 32%;}

.school_con3_flex li:last-child{width: 66%;}

.school_con3_dl dt {
  background-color: #4cc4d2; /* 背景色 */
  padding: 10px 20px 10px 25px; /* 左側に三角分の余白を追加 */
  position: relative; /* 三角を絶対配置するため */
  color: #fff;
  border-radius: 10px;
	font-size: 113%;
	margin-bottom: 10px;
}

/* 左側三角 */
.school_con3_dl dt::before {
  content: "";
  position: absolute;
  top: 50%; /* 高さ中央 */
  left: 0; /* 左端に配置 */
  transform: translate(-100%, -50%); /* 完全に左に出す */
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 15px solid #4cc4d2; /* 吹き出しと同じ色 */
}

.school_con3_dl dd{background-color: #ffffff;
padding: 10px 20px 10px 20px; }


/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content03{
	padding: 50px 0;
}
	
.con03_dot_box {
	max-width: 760px;
	width:90%;
}
	
.school_con3_flex{
flex-wrap: wrap;}

.school_con3_flex li:first-child{width: 50%;
	margin-left: auto;
		margin-right: auto;
	margin-bottom: 20px;}

.school_con3_flex li:last-child{width:100%;}
	
.school_con3_dl dt {
  padding: 10px 20px; /* 三角の余白は上に移動したので左の余白不要 */
  position: relative; /* 三角を絶対配置するため */
	line-height: 1.4;
}

/* 上向き三角（中央に配置） */
.school_con3_dl dt::before {
  content: "";
  position: absolute;
  top: 0; /* 吹き出しの上端に合わせる */
  left: 50%; /* 横中央 */
  transform: translate(-50%, -100%); /* 真上に配置 */
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 15px solid #4cc4d2; /* 上向きにしたいので下向きの三角を作る */
}

	
}
/* -------------end------------- */



/* 4個目のブロック
----------------------------------- */

.content04 {
	padding: 150px 0;
	background: url(../img/background_04.jpg) center top fixed;
	background-size: cover; 
}

.con04_dot_box {
	max-width:  760px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
	text-align: left;
	overflow: hidden;
}


/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content04 {
padding-top: 50px;
padding-bottom: 50px;
}
	
.con04_dot_box {
	width:90%;
}
	
}
/* -------------end------------- */

/* 5個目のブロック
----------------------------------- */

.content05 {
	padding: 150px 0;
	background: url(../img/background_05.jpg) center top fixed;
	background-size: cover; 
}

.con05_dot_box {
	max-width: 960px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
	text-align: left;
	overflow: hidden;

}


.con05_dot_box article {
		margin-bottom: 40px;
		padding:20px;
		background-color: #fff;
		background-repeat: no-repeat;
		background-position: 0 25px;
	}

.con05_menu_title{width: 70%;
		margin:0 auto;
		margin-top: 30px;
		margin-bottom: 160px;
		padding: 20px 0;
		color: #fff;
		line-height: 1.2;
		text-align: center;
		background-color: #4cc4d2;
font-size: 150%!important;
font-weight: 500;}

.con05_menu_subtitle{font-size: 138%!important;
font-weight: 500;
border-left: 5px solid #4cc4d2;
padding-left: 10px;
color: #4cc4d2;
line-height: 1.2;
margin-bottom: 20px!important;}

.cont5_parts{display: flex;
justify-content: space-between;
flex-wrap: wrap;}


.cont5_parts li{width: 48%;
	font-size: 118%;
font-weight: 500;}

.cont5_parts li::before{content:"●";
	padding-right: 5px;
	padding-left: 0px;
color: #4cc4d2;}


		.cont05_01{ background-image: url(../img/cont5_01_img.jpg);}
		.cont05_02{ background-image: url(../img/cont5_02_img.jpg);}
		.cont05_03{ background-image: url(../img/cont5_03_img.jpg);}
		.cont05_04{ background-image: url(../img/cont5_04_img.jpg);}
		.cont05_05{ background-image: url(../img/cont5_05_img.jpg);}
		.cont05_06{ background-image: url(../img/cont5_06_img.jpg);}
		.cont05_07{ background-image: url(../img/cont5_07_img.jpg);}
	.con05_dot_box h2 {
		line-height: 1.4;
	}

	.con05_dot_box section{
		max-width: 680px;
		margin:0 auto;
		margin-bottom: 40px;
	}	

.con5_tb  {
	border-spacing: 0;
	border-collapse:collapse;
	width: 100%;
	max-width:680px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #4cc4d2;
	border-right-color: #4cc4d2;

}

.con5_tb th {
	width: 35%;
	vertical-align: middle;
	padding: 10px 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #4cc4d2;
	padding-left: 5px;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #4cc4d2;
	background-color: #c6ebf0;
	text-align: center;
		font-size: 113%;
}

.con5_tb td {
	vertical-align: middle;
	width: 65%;
		padding: 10px;
		font-size: 94%;
		color: #333;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #4cc4d2;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #4cc4d2;
}


	.con05_dot_box p{
		margin: 10px 0;
	}


.con5_tb_curriculum  {
	border-spacing: 0;
	border-collapse:collapse;
	width: 100%;
	max-width:680px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #4cc4d2;
	border-right-color: #4cc4d2;

}

.con5_tb_curriculum th {
	width: 35%;
	vertical-align: middle;
	padding: 10px 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #4cc4d2;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #4cc4d2;
color:#32a5b3;
	text-align: center;
	font-size: 94%;
}

.con5_tb_curriculum td {
	vertical-align: middle;
	width: 65%;
		padding: 10px;
		font-size: 94%;
		color: #333;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #4cc4d2;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #4cc4d2;
}

.con5_tb_curriculum tr:nth-child(2n+1) th,
.con5_tb_curriculum tr:nth-child(2n+1) td {
	background: #dcf3f6;
}

.con5_menu_price{
font-size: 150%;
font-family: 'Rubik', sans-serif;
font-weight: 400;
margin-right: 0.5em;
	line-height: 1.2;
}


/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content05 {
padding-top: 50px;
padding-bottom: 50px;
}
	
.con05_dot_box {
width:90%;}

.con05_dot_box article {
		margin-bottom: 40px;
		padding:20px;
		background-color: #fff;
		background-repeat: no-repeat;
		background-position: 0 25px;
	}

.con05_menu_title{width: 100%;
margin-bottom: 80px;
padding: 15px 0;
line-height: 20px;
font-size: 113%!important;
margin-top: 0px;}

.con05_menu_subtitle{font-size: 125%!important;
margin-bottom: 15px!important;}
	
.cont5_parts li{width: 100%;}


.cont05_01{ background-image: url(../img/cont5_01_img_sp.jpg);
background-position: center  center;
background-size: contain;
	}
		.cont05_02{ background-image: url(../img/cont5_02_img_sp.jpg);
background-position: center  center;
background-size: contain;
}
		.cont05_03{ background-image: url(../img/cont5_03_img_sp.jpg);
	background-position: center bottom;
background-size: contain;}
		.cont05_04{ background-image: url(../img/cont5_04_img_sp.jpg);
	background-position: center bottom;
background-size: contain;}
		.cont05_05{ background-image: url(../img/cont5_05_img_sp.jpg);
	background-position: center bottom;
background-size: contain;}
		.cont05_06{ background-image: url(../img/cont5_06_img_sp.jpg);
	background-position: center bottom;
background-size: contain;}
		.cont05_07{ background-image: url(../img/cont5_07_img_sp.jpg);
	background-position: center bottom;
background-size: contain;}
	.con05_dot_box h2 {
		line-height: 1.4;
	}

.con5_tb th {
vertical-align: middle;
padding: 10px 0px;
width: 5.5em;
	font-size: 94%;
}

.con5_tb td {
width: auto;
}

.con5_tb_curriculum th {
vertical-align: middle;
padding: 10px 0px;
width: 5.5em;
}

.con5_tb_curriculum td {
width: auto;
}
}
/* -------------end------------- */


/* 6個目のブロック
----------------------------------- */

.content06 {
	padding: 150px 0;
	background: url(../img/background_06.jpg) center top fixed;
	background-size: cover; 
}

.con06_dot_box {
	max-width: 960px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
	text-align: left;
	overflow: hidden;
}

.con06_dot_box p{
	margin: 30px 0;
	color:#7d665e;
}

.con06_dot_box h2 {
	line-height: 1.4;
}

.con06_title {
	margin-bottom: 30px;
	text-align: center;
}

.con06_btn {
	margin: 24px 0 0 370px;
}
.con06_btn img {
	box-shadow: 2px 2px 1px rgba(0,0,0,.1);
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content06  {
padding-top: 50px;
padding-bottom: 50px;
}
	
.con06_dot_box {
	width:90%;
}

	
}
/* -------------end------------- */

/* Q&A
---------------------------------------------------------------------------*/
/* Chrome、Safari以外 */
summary {
  display: block;}

/* Chrome、Safari */
summary::-webkit-details-marker {
  display: none;
}

.qa-case {
max-width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
background-color: #ffffff;
font-size: 100%;
}

.qa-case summary {
display: flex;
align-items: center;
position: relative;
padding: 1em 1.5em 1em 1.5em;
cursor: pointer;
justify-content: space-between;
background-color: #4cc4d2;
color: #ffffff;
}

.qa-case summary::before,
.qa-case p::before {
    position: absolute;
    left: .5em;
    font-weight: 600;
}

.qa-case summary::before {
color: #ffffff;
content: "Q";

}

.qa-case summary::after {
    position: absolute;
    right: 1em; /* 右端に固定 */
    transform: translateY(-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-bottom: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    content: '';
    transition: transform .5s;
}

.qa-case[open] summary::after {
    transform: rotate(225deg);
}

.qa-case p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding-top: .5em;
    padding-left: 1.5em;
	padding-right: 1.5em;
    padding-bottom: .5em;
    transition: transform .5s, opacity .5s;
	background-color: #ffffff;
}

.qa-case[open] p {
    transform: none;
    opacity: 1;
    
}

.qa-case p::before {
    content: "A";
}



/* 7個目のブロック
----------------------------------- */

.content07 {
	padding: 150px 0;
	background: url(../img/background_07.jpg) center top fixed;
	background-size: cover; /* 背景をリピートさせたくないときに入れる */
}

.con07_dot_box {
max-width: 960px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
	text-align: left;
	/**background: url(../img/con03_dot_box.png);**/
	overflow: hidden;
}

.con07_dot_box p{
	margin: 30px 0;
	font-size: 113%;
	color:#7d665e;
}

.con07_dot_box h2 {
	line-height: 1.4;
}

.con07_btn {
	margin: 24px 0 0 370px;
}
.con07_btn img {
	box-shadow: 2px 2px 1px rgba(0,0,0,.1);
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.content07  {
padding-top: 50px;
padding-bottom: 50px;
}
.con07_dot_box {
	width:90%;
}
}
/* -------------end------------- */

/* 8個目のブロック
----------------------------------- */

.content08 {
	background: url(../img/background_08.jpg) fixed;
}

.cont08_bg{
	padding: 150px 0;
	background: url(../img/cont08_bg.png) center 160px no-repeat fixed;	

}
.cont08_wrap{
	max-width: 760px;
width:100%;
margin-left: auto;
	margin-right: auto;
}

/* 小さい画面用の設定-------------- */
@media (max-width:767px){
.cont08_bg {
padding-top: 50px;
padding-bottom: 50px;
}
.cont08_wrap{
	width:90%;
}
}
/* -------------end------------- */
/*.con08_title {
	margin-bottom: 30px;
	text-align: center;
}*/

/*.sended {
	max-width: 600px;
	width:100%;
		margin-left: auto;
		margin-right: auto;
	padding: 12px;
	text-align: center;
	color: #333;
	background: rgba(255,255,255,.8);
}

table.entry_conf {
	width: 700px;
	margin: 0 auto 40px;
}
table.entry_conf th {
	width: 200px;
}

.entry_table {
	width: 600px;
	margin: 0 auto 30px;
}
.entry_table th {
	width: 200px;
}
.entry_form {
	width: 690px;
	margin: 0 auto 30px;
	font-size: 16px;
	color: #333;
}

.entry_form th {
	width: 180px;
	text-align: right;
	padding: 12px;
	font-weight: bold;
	vertical-align: top;
}
.entry_form th p {
	width: 35px;
	margin: 0 0 0 5px;
	text-align: center;
	padding: 1px;
	background: #f00;
	color: #fff;
	font-size: 12px;
	border-radius: 4px;
	display: block;
	float: right;
}
.entry_form td {
	padding: 12px;
}
.entry_form td p {
	color: #f33;
	font-weight: bold;
}

.entry_form input,
.entry_form textarea {
	padding: 8px;
	border: 0;
	color: #000;
	background:#f9ca6c;
}
.entry_form input[type="button"] {
	cursor: pointer;
}
.entry_form select {
	padding: 5px;
	border: 0;
	background:#f9ca6c;
}

p.submits {
	text-align: center;
}
p.submits input {
	margin: 0 8px;
	padding: 0 15px;
	line-height: 35px;
}*/

#privacy {
	/*overflow: auto;
	width: 100%;
	height: 200px;
	background-color: #FFFFFF;
	padding: 20px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 80px;
	text-align: left;*/
	}

 .privacy.center #privacy .pr_title {
	color: #FFFFFF;
	background-color: #4cc4d2;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-top: 3px;
	padding-bottom: 3px;
	font-size: 125%;
	padding-left: 13px;
}

#privacy .privacy_box .pr_sub {
	border-bottom: 1px dotted #606060;
	font-size: 107%;

}
.privacy.center #privacy .privacy_box {
	margin-bottom: 15px;
}


.bnr{
	text-align: center;
}


.birth_flex{display: flex;
justify-content: space-between;
align-items: center;}

.birth_flex li:nth-child(even){width: 20%;}
.birth_flex li:nth-child(odd){width: 8%;
	max-width: 1em;
margin-left: 1em;
box-sizing: border-box;}

.birth_flex li:first-child{width: 10%;
min-width: 2em;}


/* フッター
----------------------------------- */

