@charset "utf-8";

/* ---------------------------------------- 
 - #loading
---------------------------------------- */
#loading {
	position: fixed;
	z-index: 1000;
	background-color: #ffffff;
	width:100%;
	height: 100%;
	top:0;
	left: 0;
	animation: disappear 0.8s ease-in-out 0.8s both;
}
@keyframes disappear {
	0% {
		display: block;
		opacity: 1;
	}
	99% {
		display: block;
		opacity: 0;
	}
	100% {
		display: none;
		opacity: 0;
		visibility: hidden;
	}
}
html.onload body div#loading {
	animation-play-state: paused;
}
#loading .loader,
#loading .loader:after {
  border-radius: 50%;
  width: 50px;
  height: 50px;
}
#loading .loader {
	display:none;
	z-index: 1000;
	margin: auto;
	margin-top: -25px;
	margin-left: -25px;
	font-size: 5px;
	position: absolute;
	top:50%;
	left:50%;
	text-indent: -9999em;
	border-top: 2px solid rgba(204, 204, 204, 0.2);
	border-right: 2px solid rgba(204, 204, 204, 0.2);
	border-bottom: 2px solid rgba(204, 204, 204, 0.2);
	border-left: 2px solid #ccc;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* ---------------------------------------- 
 - header
---------------------------------------- */
#header{
	background: transparent;
}
#header ul.header_snslist,
#header .header_logo{
	opacity: 0;
	visibility: hidden;
	position: relative;
	overflow: hidden;
	-webkit-transition: .3s;
    transition: .3s;
}
#header.is-active{
	background: linear-gradient(180deg,#fff,transparent);
}
#header.is-active ul.header_snslist,
#header.is-active .header_logo{
	opacity: 1;
    visibility: visible;
}
#header.is-active ul.header_snslist::after,
#header.is-active .header_logo::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
	width: 100%;
    height: 100%;
    background-color: #00693e;
}
#header.is-active ul.header_snslist::after,
#header.is-active .header_logo::after{
    animation: header-overlayIn 0.4s 0.1s cubic-bezier(.77,0,.175,1), header-overlayOut 0.4s 0.7s cubic-bezier(.77,0,.175,1);
    animation-fill-mode: both;
}
#header.is-active ul.header_snslist li,
#header.is-active .header_logo img{
	animation:header-fadeIn 0.1s 0.5s;
	animation-fill-mode: both;
}
@keyframes header-fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}
@keyframes header-overlayIn {
    0% {
      width: 0;
    }
    100% {
      width:  100%;
    }
}
@keyframes header-overlayOut {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(102%);
    }
}

/* ---------------------------------------- 
 - mainvisual
---------------------------------------- */
#mainvisual {
	width: 100%;
	box-sizing: border-box;
    overflow: hidden;
}
#mainvisual_inner{
	position: fixed;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100vh;
    min-height: 810px; /* 調整 */
    transform: translate(-50%, -50%);
}
#mainvisual .typo {
	position: absolute;	
	color:#00d67e;
}
#mainvisual .typo.front {
	z-index: 1;
}
#mainvisual .typo.typing {
	z-index: -1;
}
#mainvisual .typo_01 {
	width:55.78%;/*/1366*/
	max-width: 762px;
	top:20%;
	right:-2%;
}
#mainvisual .typo_02 {
	width:86.38%;/*/1366*/
	max-width: 118px;
	top:-1%;
	left:6%;
}
#mainvisual .typo_03 {
	width:44.43%;/*/1366*/
	max-width: 607px;
	bottom:2%;
	left:-0.5%;
}
#mainvisual .typo_04 {
	width:9.37%;/*/1366*/
	max-width: 128px;
	bottom:-2%;
	right:1%;
}
#mainvisual .typo_05 {
	width:34.26%;/*/1366*/
	max-width: 468px;
	top:52%;
	right:15%;
}
#mainvisual .typo_06 {
	width:31.77%;/*/1366*/
	max-width: 434px;
	top:7%;
	left:18%;
}
#mainvisual .typo_07 {
	width:29.28%;/*/1366*/
	max-width: 400px;
	top:41%;
	left:35%;
}
#mainvisual .typo_08 {
	width:29.8%;/*/1366*/
	max-width: 407px;
	bottom:20%;
	left:15%;
}
#mainvisual .typing_01 {
	width:434px;
	top:20%;
	left:12%;
	font-size: 2.0rem;
}
#mainvisual .typing_02 {
	width:300px;
	top:55%;
	left:25%;
	font-size: 2.0rem;
}
#mainvisual .typing_03 {
	width:42.46%;
	max-width: 580px;
	top:45%;
	right:10%;
	font-size: 1.3rem;
	line-height: 2.1;
}
/* フェード表示アニメーション */
#mainvisual .typo {
	overflow: hidden;
}
#mainvisual .typo.fadein::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
	width: 100%;
    height: 100%;
    background-color: #00693e;
}
#mainvisual .typo_01::after,
#mainvisual .typo_03::after,
#mainvisual .typo_05::after{
    animation: typo-overlayIn 0.4s 0.2s cubic-bezier(.77,0,.175,1), typo-overlayOut 0.5s 0.8s cubic-bezier(.77,0,.175,1);
    animation-fill-mode: both;
}
#mainvisual .typo_01 img,
#mainvisual .typo_03 img,
#mainvisual .typo_05 img{
	animation:typo-fadeIn 0.1s 0.6s;
	animation-fill-mode: both;
}
#mainvisual .typo_06::after,
#mainvisual .typo_07::after,
#mainvisual .typo_08::after{
    animation: typo-overlayIn 0.4s 0.7s cubic-bezier(.77,0,.175,1), typo-overlayOut 0.5s 1.2s cubic-bezier(.77,0,.175,1);
    animation-fill-mode: both;
}
#mainvisual .typo_06 img,
#mainvisual .typo_07 img,
#mainvisual .typo_08 img{
	animation:typo-fadeIn 0.1s 1.1s;
	animation-fill-mode: both;
}
#mainvisual .typo_02::after,
#mainvisual .typo_04::after{
    animation: typo-overlayIn-vertical 0.3s 0.5s cubic-bezier(.77,0,.175,1), typo-overlayOut-vertical 0.5s 1.0s cubic-bezier(.77,0,.175,1);
    animation-fill-mode: both;
}
#mainvisual .typo_02 img,
#mainvisual .typo_04 img{
	animation:typo-fadeIn 0.1s 0.8s;
	animation-fill-mode: both;
}
@keyframes typo-fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}
@keyframes typo-overlayIn {
    0% {
      width: 0;
    }
    100% {
      width:  100%;
    }
}
@keyframes typo-overlayOut {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(102%);
    }
}
@keyframes typo-overlayIn-vertical {
    0% {
      height: 0;
    }
    100% {
      height: 100%;
    }
}
@keyframes typo-overlayOut-vertical {
    0% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(102%);
    }
}

/*タイピング*/
.jaticker-cursor {
	font-weight: bold;
}
.jaticker-input {
	color: #00d67e;
	text-decoration: underline;
}
.jaticker-convert {
	color: #00d67e;
	background-color: #00d67e;
}
@media screen and (min-width: 1600px) { /* 調整 */
	#mainvisual .typo_01 {
		right:4%;
	}
	#mainvisual .typo_02 {
		left:8%;
	}
	#mainvisual .typo_03 {
		left:4%;
	}
	#mainvisual .typo_04 {
		right:6%;
	}
	#mainvisual .typo_05 {
		right:20%;
	}
	#mainvisual .typo_06 {
		left:18%;
	}
	#mainvisual .typo_07 {
		left:30%;
	}
	#mainvisual .typo_08 {
		left:22%;
	}
	#mainvisual .typing_01 {
		left:18%;
	}
	#mainvisual .typing_02 {
		left:25%;
	}
	#mainvisual .typing_03 {
		width: 50%;
		max-width: 680px;
		right:15%;
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 768px) {
	#mainvisual_inner{
		top: 0;
		left: 0;
		min-height: 100%; /* 調整 */
		transform: translate(0, 0);
	}
	#mainvisual .typo.typing,
	#mainvisual .typing_01 {
		display: none;
	}
	#mainvisual .typo_01 {
		width:72vw;
		top:25%;
		right: -3%;
	}
	#mainvisual .typo_02 {
		width: 12vh;
		top: 0%;
		left: 3%;
	}
	#mainvisual .typo_03 {
		width: 70vw;
		bottom: 11%;
		left: -0.5%;
	}
	#mainvisual .typo_04 {
		width: 12.5vh;
		bottom: 3%;
		right: 2%;
	}
	#mainvisual .typo_05 {		
		width: 72vw;
		top: 49%;
		right: 0%;
	}
	#mainvisual .typo_06 {
		width: 65vw;
		top: 11%;
		left: 31%;
	}
	#mainvisual .typo_07 {
		width: 63vw;
		top: 42%;
		left: 33%;
	}
	#mainvisual .typo_08 {
		width: 62vw;
		bottom: 25%;
		left: 6%;
	}
}

/* ---------------------------------------- 
 - department
---------------------------------------- */
#department {
	margin-top: 100px;
	margin-bottom: 200px;
	text-align: center;
	color: #00693e;
}
#department .jp {
	display: block;
	font-size: 4.8rem;
	letter-spacing: 1.0em;margin-left: 1.0em;
}
#department .en {
	display: block;
	font-size: 2.0rem;
	letter-spacing: 0.4em;
}
@media screen and (max-width: 768px) {
	#department {
		margin-top: 150px;
		margin-bottom: 150px;
	}
	#department .jp {
		font-size: 7.8vw;

	}
	#department .en {
		font-size: 3vw;
	}
}

/* ---------------------------------------- 
 - contents（共通）
---------------------------------------- */
/* head_ttl */
.head_ttl {
	font-size:6.0rem;
	color:#00693e;
	line-height: 1.2;
}
.head_ttl-en {
	font-size:2.4rem;
	color:#7fb49e;
	line-height: 1.2;
}
@media screen and (max-width: 1200px) {
	.head_ttl {
	    font-size: 5vw;
	}
}
@media screen and (max-width: 768px) {
	.head_ttl {
		font-size:9.067vw;/*34px*/
	}
	.head_ttl-en {
		font-size:5.333vw;/*20px*/
	}
}

/* ---------------------------------------- 
 - contents（outline）
---------------------------------------- */
#outline_inner {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-direction:row-reverse;
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
	padding: 80px 0 0;
}
.outline_ttl{
	width:50%;
	max-width: 664px;
	text-align: right;
}
.outline_ttl .head_ttl{
	text-align: left;
	display: inline-block;
}
.outline_ttl .visual{
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	z-index: 1;
	position: relative;
	margin-top: 80px;
}
.outline_ttl .visual .visual-01{
	width: 60%;
    max-width: 300px;
}
.outline_ttl .visual .visual-01 img {
	transform: translate(5%, 80px);
}
.outline_ttl .visual .visual-02{
	width: 40%;
    max-width: 230px;
	z-index: 1;
	position: relative;
}
.outline_ttl .visual .visual-02 img {
	transform: translate(0, 300px);
}
.outline_lead{
	width:45%;	
	box-sizing: border-box;
	padding-top: 2em;
}
.outline_lead .head_lead{
	line-height: 2.4;
	margin-top: 1.0em;
}
.outline_lead .visual{
	display: none;
}
@media screen and (max-width: 768px) {
	#outline_inner {
		display: block;
		padding-top: 75px;
	}
	.outline_ttl{
		width:100%;
		max-width: 100%;
		text-align: left;
	}
	.outline_ttl .visual{
		display: none;
	}
	.outline_lead{
		width:100%;
		padding-top: 1em;
	}
	.outline_lead .head_lead{
		line-height: 2.2;
		margin-top: 1.0em;
	}
	.outline_lead .visual{
		display: -webkit-flex;
		display: flex;
	}
	.outline_lead .visual .visual-01{
		width: 60%;
		max-width: 300px;
	}
	.outline_lead .visual .visual-01 img {
		transform: translate(5%, 250px);
	}
	.outline_lead .visual .visual-02{
		width: 40%;
		max-width: 230px;
		z-index: 1;
		position: relative;
	}
	.outline_lead .visual .visual-02 img {
		transform: translate(0, 430px);
	}
}

/* ---------------------------------------- 
 - contents（course）
---------------------------------------- */
#course #course_inner {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:90%;	
	max-width: 1010px;
	margin: 0 auto;
	padding: 100px 0;
}
.course_ttl{
	width:46%;
	max-width: 664px;
}
.course_lead{
	width:52%;	
	box-sizing: border-box;
}
.course_lead .head_lead{
	margin-top: 1.0em;
}
.course_visual{
	width:100%;	
	margin: 50px auto;
}
@media screen and (max-width: 768px) {
	#course #course_inner {
		display: block;
		padding: 150px 0 75px;
	}
	.course_ttl{
		width:100%;
		max-width: 100%;
	}
	.course_lead{
		width:100%;
		margin-top: 1.0em;
	}
	.course_lead .head_lead{
		margin-top: 1.0em;
	}
	.course_visual{
		margin: 30px auto;
	}
	#course .btn_more{
		text-align: center;
	}
}

/* ---------------------------------------- 
 - contents（feature）
---------------------------------------- */
#feature #feature_inner {
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
	padding: 100px 0;
	text-align: center;
}
.feature_ttl .head_ttl{
	margin-bottom: 0.4em;
}
.feature_visual {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	margin: 50px auto 40px;
}
.feature_visual .visual {
	position: relative;
	width: 33.333%;
	width: calc(100% / 3);
	box-sizing: border-box;
	padding: 7% 4.5% 0;
}
.feature_visual .visual::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 70%;
	border-left: dashed 1px #00693e;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}
.feature_visual .visual:last-child::after {
    display: none;
}
.feature_visual .visual .balloon {
    position: absolute;
	transform: scale(1);
	opacity: 0;	
}
.feature_visual .feature_01 .balloon {
    top: 0%;
    right: 3%;
    width: 53%;
}
.feature_visual .feature_02 .balloon {
	top: 10%;
    right: 6%;
    width: 50%;
}
.feature_visual .feature_03 .balloon {
    top: 3%;
    right: 40%;
    width: 51%;
}
.feature_visual.anime .feature_01 .balloon{
	animation: bound 0.5s ease-out 0.6s 1 forwards;
}
.feature_visual.anime .feature_02 .balloon{
	animation: bound 0.5s ease-out 0.8s 1 forwards;
}
.feature_visual.anime .feature_03 .balloon{
	animation: bound 0.5s ease-out 1.0s 1 forwards;
}
@-webkit-keyframes bound {
	from { transform: scale(0.4); opacity: 0; }
	40% { transform: scale(1.15); opacity: 1;}
	70% { transform: scale(0.95); }
	90% { transform: scale(1.05); }
	to { transform: scale(1); opacity: 1; }
}
@keyframes bound {
	from { transform: scale(0.4); opacity: 0; }
	40% { transform: scale(1.15); opacity: 1;}
	70% { transform: scale(0.95); }
	90% { transform: scale(1.05); }
	to { transform: scale(1); opacity: 1; }
}
.feature_visual .txt {
    font-size: 2.0rem;
    color: #00693e;
    line-height: 1.6;
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	#feature #feature_inner {
		padding: 75px 0;
	}
	.feature_visual {
		display: block;
		margin: 20px auto 40px;
	}
	.feature_visual .visual {
		width: 100%;
		margin: 0 auto 20px;
    	padding: 50px 0 20px;
		border-bottom: dashed 1px #00693e;
		display: flex;
	}
	.feature_visual .visual:nth-child(odd) {
    	flex-flow: row-reverse;
	}
	.feature_visual .visual:last-child {
		margin-bottom: 0;
    	padding-bottom: 0;
		border-bottom: none;
	}
	.feature_visual .visual::after {
		display: none;
	}
	.feature_visual .visual > img {
		width: 55%;
		max-width: 250px;
	}
	.feature_visual .visual .balloon {
		position: absolute;
		transform: scale(1);
		opacity: 0;	
	}
	.feature_visual .feature_01 .balloon {
		top: 0;
		right: -3%;
    	width: 32vw;
		max-width: 140px;
	}
	.feature_visual .feature_02 .balloon {
		top: 17%;
		right: auto;
		left: 18%;
		width: 30vw;
		max-width: 130px;
	}
	.feature_visual .feature_03 .balloon {
		top: 4%;
		right: 19%;
		width: 32vw;
		max-width: 140px;
	}
	.feature_visual .txt {
		font-size: 4vw;
		margin-top: 10px;
		width: 45%;
		text-align: left;
	}
}

/* ---------------------------------------- 
 - contents（movie）
---------------------------------------- */
#movie{
	position: relative;
	height:100vh;
}
#movie_inner{
  position:absolute;
  left:0;
  top:0;
  display:block;
  height:100%;
  width:100%;
}
.movie_parallax{
    position:relative;
    overflow:hidden;
    clip-path:inset(0 0 0 0);
    height: 100%;
}
.movie_parallax video,
.movie_parallax img {
    position: fixed;
    width: 100%;
    min-height: 100vh;
    height: auto;
    left: 0;
    top: 0;
    pointer-events: none;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	#movie{
		height:80vh;
	}
}

/* ---------------------------------------- 
 - contents（teacher）
---------------------------------------- */
#teacher #teacher_inner {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
	padding: 140px 0 100px;
}
.teacher_ttl{
	width:46%;
	max-width: 664px;
}
.teacher_lead{
	width:52%;	
	box-sizing: border-box;
}
.teacher_lead .head_lead{
	margin-top: 1.0em;
}
.teacher_inteview{
	width:100%;	
	margin: 50px auto;
	position: relative;
}
.teacher_inteview .visual{
	width:70%;	
	max-width: 760px;
	margin-left: auto;
	height: 460px;
}
.teacher_inteview .visual img,
.teacher_inteview .visual picture{
	height: 100%;
	object-fit: cover;
}
.teacher_inteview .inteview_lead{
	width: 90%;
    max-width: 600px;
	position: absolute;
	top:5%;
	left:0;
}
.teacher_inteview .inteview_lead .ttl{
	color:#00693e;
	font-size:2.4rem;
	border: solid 1px #00693e;
	display: inline-block;
	height: 35px;
	line-height: 35px;
	padding:0 5px 0 10px;
	margin-bottom: 30px;
}
.teacher_inteview .inteview_lead .catch{
	color:#fff;
	font-size:2.8rem;
	margin-bottom: 30px;
}
.teacher_inteview .inteview_lead .catch span.fadein{
	display: inline-block;
	padding:0 5px;
	position: relative;
	line-height: 1.4;
}
.teacher_inteview .inteview_lead .catch span.fadein span{
	position: relative;
	z-index: 1;
	opacity: 0;
}
.teacher_inteview .inteview_lead .catch.anime span.fadein::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
	width: 100%;
    height: 100%;
    background-color:#00693e;
}
.teacher_inteview .inteview_lead .catch.anime span.fadein::after {
    animation: typo-overlayIn 0.6s 0.4s cubic-bezier(.77,0,.175,1);
    animation-fill-mode: both;
}
.teacher_inteview .inteview_lead .catch.anime span.fadein span{
	animation:typo-fadeIn 0.5s 0.7s;
	animation-fill-mode: both;
}
@keyframes typo-fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}
@keyframes typo-overlayIn {
    0% {
      width: 0;
    }
    100% {
      width:  100%;
    }
}
.teacher_inteview .inteview_lead .name{
	font-size:2.0rem;
	margin-bottom: 30px;
}
.teacher_inteview .inteview_lead .name span{
	font-size:1.7rem;
}
@media screen and (max-width: 768px) {
	#teacher #teacher_inner {
		display: block;
		padding: 100px 0 75px;
	}
	.teacher_ttl{
		width:100%;
	}
	.teacher_lead{
		width:100%;	
		margin-top: 1.0em;
	}
	.teacher_lead .head_lead{
		margin-top: 1.0em;
	}
	.teacher_inteview{
		width:100%;	
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.teacher_inteview .visual{
		width:100%;	
		height: auto;
	}
	.teacher_inteview .inteview_lead{
		width: 100%;
		max-width: 100%;
		position: static;
		margin-top: -20px;
	}
	.teacher_inteview .inteview_lead .ttl{
		font-size:3.2vw;
		height: 30px;
    	line-height: 30px;
		margin-bottom: 10px;
	}
	.teacher_inteview .inteview_lead .catch{
		color:#fff;
		font-size:4vw;
		margin-bottom: 10px;
	}
	.teacher_inteview .inteview_lead .name{
		font-size:3.733vw;
		margin-bottom: 10px;
	}
	.teacher_inteview .inteview_lead .name span{
		font-size:3.467vw;
	}
}

/* ---------------------------------------- 
 - contents（curriculum）
---------------------------------------- */
#curriculum #curriculum_inner {
	width:90%;	
	max-width: 900px;
	margin: 0 auto;
	padding: 100px 0;
	text-align: center;
}
.curriculum_ttl .head_ttl{
	margin-bottom: 0.4em;
}
.curriculum_flow {
	width: 100%;
	margin: 40px auto 50px;
}
.curriculum_flow .flow_ttl {
	margin-bottom: 35px;
	font-size: 1.8rem;
}
.curriculum_flow dl.flow_box {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;	
	border: solid 1px #00693e;
	padding: 20px 0;
	position: relative;
	margin-bottom: 18px;
}
.curriculum_flow dl.flow_box::before,
.curriculum_flow dl.flow_box::after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 55px 0 55px;
	position: absolute;
	left:50%;
	transform: translate(-50%, 0);
	z-index: 1;
}
.curriculum_flow dl.flow_box::before{
	border-color: #00693e transparent transparent transparent;
	bottom:-40px;	
}
.curriculum_flow dl.flow_box::after {
	border-color: #fff transparent transparent transparent;
	bottom:-39px;
}
.curriculum_flow dl.flow_box:last-child::before,
.curriculum_flow dl.flow_box:last-child::after{
	display: none;
}
.curriculum_flow dl.flow_box dt {
	width: 20%;
	font-size:2.2rem;
	color:#00693e;
}
.curriculum_flow dl.flow_box dd {
	flex: 1;
	text-align: left;
	font-size: 1.4rem;
	padding: 15px 5%;
	border-left: solid 1px #00693e;
}
@media screen and (max-width: 768px) {
	#curriculum #curriculum_inner {
		padding: 75px 0;
	}
	.curriculum_flow {
		margin-top: 20px;
		margin-bottom: 30px;
	}
	.curriculum_flow .flow_ttl {
		margin-bottom: 15px;
	}
	.curriculum_flow dl.flow_box {
		display: block;
		padding: 10px 5%;
		margin-bottom: 18px;
	}
	.curriculum_flow dl.flow_box::before,
	.curriculum_flow dl.flow_box::after{
		border-width: 30px 45px 0 45px;
	}
	.curriculum_flow dl.flow_box::before{
		border-color: #00693e transparent transparent transparent;
		bottom:-30px;	
	}
	.curriculum_flow dl.flow_box::after {
		border-color: #fff transparent transparent transparent;
		bottom:-29px;
	}
	.curriculum_flow dl.flow_box dt {
		width: 100%;
		font-size:2.0rem;
	}
	.curriculum_flow dl.flow_box dd {
		font-size: 1.4rem;
		;line-height: 1.8;
		padding: 10px 0;
		border: none;
		border-top: solid 1px #00693e;
	}
}

/* ---------------------------------------- 
 - contents（future）
---------------------------------------- */
#future {
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
}
#future #future_inner {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:90%;
	margin-left: auto;
	padding: 100px 0;
}
.future_ttl{
	width:36%;
	max-width: 664px;
}
.future_lead{
	width:62%;	
	box-sizing: border-box;
}
.future_lead .head_lead{
	margin-top: 1.0em;
}
@media screen and (max-width: 768px) {
	#future #future_inner {
		display: block;		
    	width: 100%;
		padding: 75px 0;
		margin: 0 auto;
	}
	.future_ttl{
		width:100%;
		max-width: 100%;
	}
	.future_lead{
		width:100%;
		margin-top: 1.0em;
	}
	.future_lead .head_lead{
		margin-top: 1.0em;
	}
}

/* ---------------------------------------- 
 - contents（license）
---------------------------------------- */
#license {
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
}
#license #license_inner {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	width:95%;
	padding: 100px 0;
}
.license_ttl{
	width:38%;
	max-width: 664px;
	text-align: right;
}
.license_ttl .head_ttl{
	text-align: left;
	display: inline-block;
}
.license_lead{
	width:62%;	
	box-sizing: border-box;
}
.license_lead dl{
	margin-top: 1.0em;
	margin-bottom: 1.5em;
}
.license_lead dl dt{
	font-size: 1.8rem;
	border-bottom: dotted 1px #00693e;
	padding: 0.2em 1.0em 0.2em 1.4em;
	margin-bottom: 0.5em;
	line-height: 1.6;	
	position: relative;
}
.license_lead dl dt::after {
    content: '■';
    display: block;
    position: absolute;
    top: 0.4em;
    left: 0;
    font-size: 1.6rem;
	color:#00693e;
}
.license_lead dl dd sup{
	font-size: 1.3rem;
	vertical-align: super;
}
.license_lead dl dd ul.notice li{
	font-size: 1.3rem;
	line-height: 1.8;
	text-indent: -1.0em;
	margin-left: 1.0em;
	margin-top: 0.5em;
}
@media screen and (max-width: 768px) {
	#license #license_inner {
		display: block;
		width:100%;
		padding: 75px 0;
	}
	.license_ttl{
		width:100%;
		max-width: 100%;
		text-align: left;
	}
	.license_lead{
		width:100%;	
		margin-top: 1.0em;
	}
	.license_lead dl dt{
		font-size: 1.7rem;
	}
	.license_lead dl dt::after {
		top: 0.35em;
		font-size: 1.5rem;
	}
	.license_lead dl dd sup{
		font-size: 1.2rem;
	}
}

/* ---------------------------------------- 
 - contents（news）
---------------------------------------- */
#news {
	width:90%;	
	max-width: 1100px;
	margin: 0 auto;
	padding: 200px 0 100px;
}
#news #news_inner {
	width:100%;
	position: relative;
}
#news .news_ttl .head_ttl{
	margin-bottom: 0.3em;
}
#news .news_ttl .head_ttl{
	margin-bottom: 0.4em;
}
#news ul.news_menu_list {
	width: 100%;
	margin-top: 40px;
	text-align: left;
}
#news ul.news_menu_list li {
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: dotted 1px #00693e;
	padding-left:0.5em; 
	padding-right:0.5em; 
}
#news ul.news_menu_list li {
	width: 100%;
	text-decoration: none;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}
#news ul.news_menu_list li .date{
	color:#777;
	font-size: 1.3rem;
	margin-right: 3%;
}
#news ul.news_menu_list li .category{
	color:#00693e;
	font-size: 1.2rem;
	border:solid 1px #00693e;
	margin-right: 3%;
	box-sizing: border-box;
	padding: 0 1.0em;
	height: 20px;
	line-height: 20px;
	min-width: 115px;
	text-align: center;
}
#news ul.news_menu_list li .event{
	color:#fff;
	border:none;
	background: #00693e;
}
#news ul.news_menu_list li .ttl {
    flex: 1;
}
#news ul.news_menu_list li .ttl a{
	text-decoration: none;
}
#news ul.news_menu_list li .ttl a:hover{
	text-decoration: underline;
}
#news .section_btn {
	position: absolute;
	top: 20px;
	right: 0;	
	letter-spacing: 0.05em;
}
#news .section_btn a {
	padding: 7px 35px 7px 10px;
	min-width: 165px;
}
@media screen and (max-width: 768px) {
	#news {
		padding: 100px 0 75px;
	}
	#news ul.news_menu_list {
		margin-top: 20px;
	}
	#news ul.news_menu_list li {
		flex-wrap: wrap;
		margin-bottom: 1.2em;
		padding-bottom: 1.2em;
	}
	#news ul.news_menu_list li .date{
		font-size: 1.2rem;
		margin-right: 3%;
	}
	#news ul.news_menu_list li .category{
		font-size: 1.1rem;
		margin-right: 0;
	}
	#news ul.news_menu_list li .ttl {
		flex: auto;
		width: 100%;
		margin-top: 0.5em;
		font-size: 1.3rem;
	}
	#news .btnMore {
		top: 45px;
		width: 125px;
		min-width: 125px;
		font-size: 1.4rem;
	}
	#news .section_btn {
		position: static;
		margin-top: 25px;
	}
}