/*-------------------
   common
-------------------*/
#container {
	color: #231815;
	font: 0.9rem/1.6 'Ubuntu',"ヒラギノ角ゴ ProN W3",'Hiragino Kaku Gothic ProN','メイリオ', Meiryo,"遊ゴシック体",YuGothic,"游ゴシック","Yu Gothic",'ＭＳ ゴシック',sans-serif;
	font-feature-settings: "palt";
	letter-spacing: .1em;
	padding: 0 0 20px;
}
#container * {
	box-sizing: border-box;
}
#container .flex,
#container .flex2{
	align-items: flex-start;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	flex-wrap: wrap;
	margin: 0 auto;
}
#container p{
    margin: 0;
}
#container a{
	color: #231815;
}
#container a:hover{
	color: #231815;
	text-decoration: none;
}
#container .area{
	margin-top: 15%;
	padding: 0 5%;
}
#container .area-bg{
	background: #f5f5f5;
	padding: 15% 5%;
}
#container h1.page-title{
	font: bold 1.5rem/1.2rem "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	margin: 10% 5% 5%;
	text-align: center;
}
#container h1.page-title span{
	font: 1rem/0 'Prata', serif;
}
#container h2{
	border-bottom: solid 1px #231815;
	font: bold 1.5rem/1.2rem "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	padding-bottom: 2%;
	text-align: center;
}
#container h3{
    border-top: solid 1px #e0e0e0;
    border-bottom: solid 1px #e0e0e0;
    font: bold 1.3rem/1rem "游明朝体", "Yu Mincho", 'YuMincho', "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    margin: 8% 0 3%;
    padding: 4% 0;
    text-align: center;
}
#container .txt-desc{
    margin: 3% 0 5%;
}
#container .box li {
    margin: 0 0 3%;
    text-align: justify;
    text-justify: inter-ideograph;
    word-break: break-all;
}

/*-------------------
  mainvisual
-------------------*/
#container .mainvisual .mv-pht-sp{
	width: 100%;
}
#container .mainvisual .mv-pht-pc{
	display: none;
}

/*-------------------
  select-btn
-------------------*/
#container .select-btn{
	margin: 8% auto 0 !important;
	width: 92%;
}
#container .select-btn li{
	margin: 0 auto 3%;
	width: 100%;
}
#container .select-btn li a{
	align-items: center;
	border: solid 1px #231815;
	display: flex;
	line-height: 1.4rem;
	padding: 2.5% 4%;
	position: relative;
	width: 100%
}
#container .select-btn li a::before,
#container .select-btn li a::after{
	content: "";
	display: block;
    position: absolute;    
    top: 50%;
}
#container .select-btn li a::before{
	border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
    right: 15px;
	height: 4px;
    width: 4px;    
    transform: translateY(-60%) rotate(45deg);
    transition: all .3s;
	z-index: 2;
}
#container .select-btn li a::after{
	background: #231815;
	border-radius: 30px;
	right: 10px;
	height: 16px;
    width: 16px;
    transform: translateY(-50%);
    transition: all .5s;
	z-index: 1;
}

/*-------------------
  system-area
-------------------*/
#container .system-area .box dl .association{
	background: #FFF;
	margin: 5% 0 3%;
	padding: 2%;
}

/*-------------------
  flow-area
-------------------*/
#container .flow-area h4{
	background: #efe8d7;
	font-size: 1rem;
	margin: 5% 0 3%;
	padding: 2%;
	text-align: center;
}
#container .flow-area .area-img,
#container .flow-area .box.flex2 img{
	display: block;
	margin: 8% auto;
}

/*-------------------
  apply-area
-------------------*/
#container .apply-area .apply-btn a{
	border: solid 1px #231815;
	color: #231815;
	display: block;
	margin: 10% auto 0;
	padding: 4% 5% 3%;
	position: relative;
	text-align: center;
	transition: all .3s;
	width: 70%;
}
#container .apply-area .apply-btn a::after{
	border-top: solid 1px #231815;
    border-right: solid 1px #231815;
	content:"";
	display: block;
    position:absolute;
	top:50%;
    right: 2rem;
	transform: translateY(-50%) rotate(45deg) skewX(-45deg);
    transition: all .3s;
    width: 7px;
    height: 18px;
}
#container .apply-area .apply-btn :hover::after{
	right:5px;
	height: 40px;
}

/*-------------------
  introduction-area
-------------------*/
/* エリア選択 */
#container .introduction-area .area-select{
	margin: 8% auto 0 !important;
	width: 90%;
}
#container .introduction-area .area-select li{
	margin: 0 2% 5%;
	width: 29.3%;
}
#container .introduction-area .area-select li a{
	align-items: center;
	display: flex;
	line-height: 1.4rem;
	position: relative;
	width: 100%
}
#container .introduction-area .area-select li a::before,
#container .introduction-area .area-select li a::after{
	content: "";
	display: block;
    position: absolute;    
    top: 50%;
}
#container .introduction-area .area-select li a::before{
	border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
    right: 15px;
	height: 4px;
    width: 4px;    
    transform: translateY(-60%) rotate(45deg);
    transition: all .3s;
	z-index: 2;
}
#container .introduction-area .area-select li a::after{
	background: #231815;
	border-radius: 30px;
	right: 10px;
	height: 16px;
    width: 16px;
    transform: translateY(-50%);
    transition: all .5s;
	z-index: 1;
}
#container .introduction-area .box ul {
    border-bottom: solid 1px #e0e0e0;
    margin: 0 0 5%;
    padding: 5%;
    width: 100%;
}
#container .introduction-area .box ul:last-child {
    border-bottom: none;
}
.introduction-area .box li.name {
    font-size: 1.5rem;
}
.introduction-area .box li.name::after {
    content: "先生";
    font-size: 1rem;
}
#container br.br-sp {
    display: block;
}

 @media screen and (min-width:480px) and ( max-width:960px) {
/*　スマホ横～タブレット 480pxから960pxまではここを読み込む　*/
/*-------------------
   common
-------------------*/
#container {
	padding-bottom: 10%;
}
#container .area{
	margin-top: 10%;
}
#container .area-bg{
	padding: 10% 5%;
}
#container h1.page-title{
	font-size: 2rem;
}
#container h1.page-title span{
	font-size: 1.3rem;
}
#container h2{
	font-size: 2rem;
}
#container .txt-desc{
    margin: 3% 0;
}
#container .box.flex dl,
#container .box.flex2 ul{
    padding: 0 2%;
    width: calc(100% / 2);
}

/*-------------------
  select-btn
-------------------*/
#container .select-btn{
	margin: 5% auto 0 !important;
}
#container .select-btn li{
	margin: 0 1% 2%;
	width: 48%;
}
#container .select-btn li a{
	padding: 4%;
}

/*-------------------
  curriculum-area
-------------------*/
#container .curriculum-area .area-img{
	margin: 5% 0;
	text-align: center;
}
	 
/*-------------------
  system-area
-------------------*/
#container .system-area h3{
	padding: 2%;
}

/*-------------------
  flow-area
-------------------*/
#container .flow-area .area-img{
	text-align: center;
}
#container .flow-area .box.flex2 ul{
	width: calc(100% / 2);
}

/*-------------------
  apply-area
-------------------*/
#container .apply-area .apply-btn a{
	margin: 5% auto 0;
	padding: 3% 5%;
	width: 40%;
}	 

/*-------------------
  introduction-area
-------------------*/
/* エリア選択 */
#container .introduction-area .area-select li{
	margin: 0 2% 3%;
	width: 16%;
}
#container .introduction-area h3{
	padding: 3%;
}
#container .introduction-area .box ul {
    margin: 0;
    padding: 3%;
}
#container .introduction-area .box li {
    margin: 0 0 1%;
}
#container br.br-sp {
    display: none;
}
}

 @media screen and (min-width:960px) {
/*　小・大画面デスクトップ　960pxからはここを読み込む　*/
/*-------------------
   common
-------------------*/
#container{
	padding-bottom: 5%;
}
#container .area{
	margin-top: 5%;
	padding: 0;
}
#container .area-inner{
	margin: 0 auto;
	width: 1200px;
}
#container .area-bg{
	padding: 5% 0;
}
#container h1.page-title{
	font-size: 2.2rem;
	margin: 5% auto 2%;
	width: 1200px;
}
#container h1.page-title span{
	font-size: 1.3rem;
}
#container h2{
	font-size: 2.2rem;
	margin: 0;
	padding-bottom: 1.5%;
}
#container h3{
    padding: 3% 0;
}
#container .txt-desc{
    margin: 2% 0;
}
#container .box li {
    margin: 0 0 2%;
}
#container .box.flex dl,
#container .box.flex2 ul{
    padding: 0 2%;
    width: calc(100% / 2);
}

/*-------------------
  mainvisual
-------------------*/
#container .mainvisual .mv-pht-sp{
	display: none;
}
#container .mainvisual .mv-pht-pc{
	display: block;
	margin: 0 auto;
	width: 1200px;
}

/*-------------------
  select-btn
-------------------*/
#container .select-btn{
	margin: 3% auto 0 !important;
	width: 1200px;
}
#container .select-btn li{
	margin: 0 1% 2%;
	width: 31.3%;
}
#container .select-btn li a{
	font-size: 1rem;
}

/*-------------------
  curriculum-area
-------------------*/
#container .curriculum-area .area-img{
	margin: 5% 0;
	text-align: center;
}
#container .curriculum-area{}

/*-------------------
  system-area
-------------------*/
#container .system-area h3{
	margin: 5% 0 2%;
	padding: 2%;
}

/*-------------------
  flow-area
-------------------*/
#container .flow-area h3{
	padding: 2%;
}
#container .flow-area .area-img{
	margin-top: 5%;
	text-align: center;
}
#container .flow-area .box.flex2 ul{
	width: calc(100% / 2);
}
#container .flow-area .box.flex2 ul img{
	margin: 0 auto;
}

/*-------------------
  apply-area
-------------------*/
#container .apply-area .apply-btn a{
	font-size: 1rem;
	margin: 5% auto 0;
	padding: 2% 5%;
	width: 30%;
}

/*-------------------
  introduction-area
-------------------*/
#container .introduction-area .txt-desc{
	text-align: center;
}
/* エリア選択 */

#container .introduction-area .area-select{
	margin: 3% auto 0 !important;
	width: 900px;
}
#container .introduction-area .area-select li{
	margin: 0 5% 5% 0;
	width: 10%;
}
#container .introduction-area .area-select li:last-child{
	margin-right: 0;
}
#container .introduction-area h3{
	margin: 5% 0 0;
	padding: 2%;
}
#container .introduction-area .box ul {
    margin: 0;
	min-height: 280px;
    padding: 3%;
    width: calc(100% / 2);
}
#container .introduction-area .box ul:nth-last-child(2){
	border: none;
}
#container br.br-sp {
    display: none;
}
}