@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);

/* ------------------------------
    基本情報
------------------------------ */

html,body{	height:100%;}
html{
	font-size:62.5%;
	overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
/*	font-family:"Noto Sans Japanese",sans-serif;*/
  font-family: "Sawarabi Mincho",serif;
	text-align: left;
	color:#333;
/*	letter-spacing: 1px;*/
}

@media screen and (max-width: 768px) {

	.ipad body,
	.android body,
	.iphone body {
		-webkit-text-size-adjust: 100%;
	}
	.android h2,
	.android h3,
	.android ul,
	.android dl dt,
	.android dl dd,
	.android p{
		max-height: 999999px;
	}

}

/*============================
共通
============================*/

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	background: url("../img/bg_pc.jpg") center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
p,dt,dd,th,td,li{
	font-size:1.6rem;
	line-height: 1.5;
}
a{
	color: #000;
	text-decoration: none;
}
*, *:before, *:after {
	box-sizing: border-box;
}

img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

.mincho{
	font-family: "Sawarabi Mincho", serif;
}
.go{
  font-family:"Noto Sans Japanese",sans-serif;
}
.align_center{
	text-align: center;
}
.txt_bold{
	font-weight: bold;
}
.txt_green{
	color: #00B7A9;
}
.flex{
	display: flex;
}
.wrap{
	position: relative;
	width:940px;
	margin: 0 auto;
}


@media screen and (min-width : 767px) {

	.pc{
		display:block!important;
	}
	.sp{
		display:none!important;
	}

	.hover {
		display: inline-block;
		transition: opacity .3s ease;
	}
	.hover:hover {
		opacity: 0.7;
	}
	.hover,
	.hover * {
		outline: 1px solid transparent;
	}

}
@media screen and (max-width: 768px) {

	html{
		overflow-y: auto;
	}
	body.fixed{
		position: fixed;
		width: 100%;
	}
	.pc{
		display:none!important;
	}
	.sp{
		display:block!important;
	}

	.wrap{
		width:95%;
	}
	body{
    position: relative;
    background:none;
  }
  body::before {
    background: url("../img/bg_sp.jpg") top center no-repeat;
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -1;
  }
}

/*============================
header
===========================*/

header{
	position: fixed;
	top:0;
	left:calc(50% - 470px);
	z-index: 2;
	width:940px;
	height: 50px;
	opacity: 1;
}

header.test{
  position: fixed;
  top:0;
  right: 7px;
  left: auto;
  z-index: 2;
  width:940px;
  height: 50px;
  opacity: 1;
}
/*
header .logo{
	width: 200px;
	margin-top: 18px;
}
*/
header nav{
	position: absolute;
	top:0;
	right:7px;
}
header nav li a{
	display: block;
	width: 160px;
	height: 35px;
	background: #fff;
	border-radius: 0 0 5px 5px;
	color: #00B7A9;
	text-align: center;
	line-height: 35px;
	font-family: "Sawarabi Mincho", serif;
	font-size: 1.3rem;
}
header nav li + li{
	margin-left: 12px;
}


@media screen and (min-width : 767px) {

/*
	header.green .logo{
		opacity: 0
	}
*/
	header.green nav li a{
		background: #00B7A9;
		color: #fff;
		border: 1px solid #fff;
		border-top: 0px;
	}

}

@media screen and (max-width: 768px) {
  header.test,
	header{
    position: absolute;
    width: 100%;
    top:0;
    left:0;
    height: 50px;
  }
  header.test .logo,
  header .logo{
    width: 150px;
    margin: 18px auto 0;
  }
}

/*============================
fv
===========================*/
.fv {
	position: relative;
	width: 100%;
	height: 100vh;
	margin:0 auto 90px;
	padding-top: 120px;
}
.fv_wrap{
  position: relative;
  padding: 0 5%;
}
.fv .logo{
  position: absolute;
  right: 5%;
  bottom: 110px;
	width: 240px;
}
.fv .logo a{
	display:block;
}
/*
.fv .btn_scrool a {
	position: absolute;
	bottom:30px;
	right: 170px;
	display: block;
	width: 50px;
	height: 96px;
	background: url("../img/icon_scroll.png") 0 0 / 50px 96px no-repeat;
	animation: upanddown 1.5s infinite;
	text-indent: 100%;
	overflow: hidden;
}

@keyframes upanddown {
  0% {
  background: url("../img/icon_scroll.png") 0 0 / 100% 100% no-repeat;
  }
  100% {
  background: url("../img/icon_scroll_on.png") 0 0 / 100% 100% no-repeat;
  }

}
*/
.fv .btn_scrool{
  width: 940px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0;
}
.fv .btn_scrool a .btn_off,
.fv .btn_scrool a .btn_on{
	position: absolute;
	bottom:30px;
	right: 170px;
	display: block;
	overflow: hidden;
}
.fv .btn_scrool a .btn_off{
	animation: upanddown 1.5s infinite;
}
@keyframes upanddown {
  0% {
  opacity: 1;
  }
  100% {
  opacity: 0;
  }

}

@media screen and (max-width: 768px) {
	.fv {
    width: 100%;
    padding: 0 12%;
    height: 100vh;
    margin:0 auto;
    padding-top: 80px;
  }
  .fv_wrap{
    position: relative;
    padding: 0;
  }

/*
  .fv .btn_scrool a {
    bottom:20px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height:58px;
    background: url("../img/icon_scroll.png") 0 0 / 100% no-repeat;
  }
*/
  .fv .btn_scrool{
    width: inherit;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
  }
  .fv .btn_scrool a .btn_off{
    width: 30px;
    height: auto;
    bottom:20px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }

}


/*============================
#bg_white
============================*/

.bg_white {
	width: 940px;
	margin: 0 auto;
	background: rgba(255,255,255,0.85);
}
.bg_white.test{
  margin-bottom: 60px;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.bg_white {
    width: 100%;
  }
  .bg_white.test{
    margin-bottom: 60px;
  }
}

/*============================
共通
============================*/
.ttl_sec {
  font-size: 5.4rem;
  color: #00b7a9;
  margin-bottom: 25px;
  text-align: center;
  position: relative;
}
.sttl_sec {
  font-size: 3.2rem;
  margin-bottom: 14px;
  text-align: center;
  position: relative;
}
.sttl_sec span{
  display: inline-block;
  position: relative;
  padding: 16px 0 0;
}
.sttl_sec span::before{
  content: "";
  display: block;
  width: calc(100% + 2em);
  height: 1px;
  border-top: 1px dashed #595757;
  margin-left: -1em;
  position: absolute;
  top: 0;
}
p.ttl_strength {
  width: 263px;
  margin: auto;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .ttl_sec {
    font-size: 2.7rem;
    margin-bottom: 20px;
     line-height: 1.3;
  }
  .sttl_sec {
    font-size: 1.8rem;
    margin-bottom: 30px;
    line-height: 1.3;
  }
  .sttl_sec{
    margin-bottom: 30px;
  }
  .sttl_sec span{
    display: block;
    font-size: 1.8rem;
    line-height: 1.3;
    padding: 16px 0 0;
  }
  .sttl_sec span::before{
    width: 100%;
    margin-left: 0;
  }
  p.ttl_strength {
    width: 180px;
    margin-bottom: 18px;
  }
}
/*============================
sec00
===========================*/

.sec00 {
	padding: 80px 0 60px;
}
.sec00 h2,.sec00 p {
	text-align: center;
  color: #00b7a9;
}
.sec00 h2{
  font-size: 4.3rem;
  margin-bottom: 40px;
}
.sec00 p{
  font-size: 2rem;
  line-height: 2.2;
  margin-bottom: 54px;
}
.sec00 div.area_movie {
  width: 100%;
}
.sec00 div.area_movie iframe {
  width: 100%;
  height: 427px;
}

@media screen and (max-width: 768px) {
	.sec00 {
    padding: 30px 0 0;
  }
  .sec00 h2{
    font-size: 2.4rem;
    line-height: 1.3;
    margin-bottom: 18px;
  }
  .sec00 p{
    padding: 0 4%;
    font-size: 1.4rem;
    line-height: 1.57;
    margin-bottom: 30px;
    text-align: left;
  }
  .sec00 div.area_movie iframe {
    width: 100%;
    height: 56vw;
  }

}


/*============================
sec01
===========================*/

.sec01 {
  padding: 36px 0 60px;
}
.sec01 p,.sec01 h2{
  text-align: center;
}
.sec01 ul.carousel.flex {
  flex-wrap: wrap;
  justify-content: center;
}
.sec01 ul.carousel.flex li {
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.sec01 {
    padding: 35px 0 0;
  }
  .sec01 ul.carousel.flex {
    flex-wrap: wrap;
    justify-content: center;
  }
  .sec01 ul.carousel.flex li {
    margin-bottom: 0;
  }

}


/*============================
sec02
===========================*/

.sec02 {
  padding: 20px 0 60px;
}
.sec02 p.img_sec02_01 {
  margin-bottom: 30px;
}
.sec02 p.txt_sec02_01 {
  padding: 0 82px;
  font-size: 2.0rem;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 38px;
}
.sec02 p.txt_sec02_01 + p {
  text-align: center;
  font-size: 2.75rem;
  vertical-align: middle;
  margin-bottom: 15px;
}

.sec02 p span.txt_green span.txt_ll {
  font-size: 7.7rem;
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
  position: relative;
}

.sec02 p span.txt_green span.txt_ll .kome{
  position: absolute;
  font-size: 0.2em;
  white-space: nowrap;
  display: block;
  left: -0.5em;
}
.sec02 h3 {
  text-align: center;
  margin-bottom: 60px;
}
.sec02 div.area_sec02_reason.carousel {
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex {
  flex-wrap: wrap;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex:nth-child(even) {
  flex-direction: row-reverse;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex > *{
  width: 50%;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt {
  background: #fff;
  padding: 12px 16px;
  position: relative;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt::before{
  content: "";
  position: absolute;
  left: -36px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 0px;
  height: 0px;
  border-top: 36px solid transparent;
	border-bottom: 36px solid transparent;
	border-left: 0px solid transparent;
	border-right: 36px solid #fff;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex:nth-child(even) dl.txt::before{
  left: auto;
  right: -36px;
  border-top: 36px solid transparent;
	border-bottom: 36px solid transparent;
	border-right: 0px solid transparent;
	border-left: 36px solid #fff;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt >* {
  text-align: center;
  color: #00b7a9;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason {
  font-size: 2.3rem;
  margin-bottom: 4px;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason::before,
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason::after{
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  background: url(../img/icon_star.png) no-repeat;
  margin: 0 5px;
  position: relative;
  top: 3px;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason::before{
  margin-right: 8px;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p {
  font-size: 2.4rem;
  line-height: 1.33;
  margin-bottom: 10px;
}
.sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dd {
  font-size: 1.4rem;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.sec02 {
    padding: 20px 0 0;
  }
  .sec02 .sttl_sec{
    margin-bottom: 10px;
  }
  .sec02 p.img_sec02_01 {
    margin-bottom: 10px;
  }
  .sec02 p.txt_sec02_01 {
    padding: 0 4%;
    font-size: 1.4rem;
    margin-bottom: 35px;
  }
  .sec02 p.txt_sec02_01 + p {
    font-size: 1.8rem;
    margin-bottom: 25px;
  }
  .sec02 p span.txt_green span.txt_ll {
    font-size: 4.1rem;
    padding-left: 10px;
    margin-top: -5px;
    margin-bottom: 0.25em;
  }
  .sec02 p span.txt_green span.txt_ll .kome{
    left: 0;
  }
  .sec02 h3 {
    width: 100%;
    max-width: 350px;
    margin: 0 auto 30px;
  }
  .sec02 .slick-initialized .slick-slide{
    margin: 0 6px;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex > *{
    width: 100%;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt {
    padding: 8px 3% 12px;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt::before{
    content: "";
    position: absolute;
    left: 50%;
    top: -18px;
    transform: translateX(-50%);
    display: block;
    width: 0px;
    height: 0px;
    border-top: 0 solid transparent;
    border-bottom: 18px solid #fff;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason {
    font-size: 1.2rem;
    margin-bottom: 4px;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason::before,
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason::after{
    width: 12px;
    height: 12px;
    background-size: 12px 12px;
    margin: 0 2px;
    top: 1px;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p.ttl_reason::before{
    margin-right: 3px;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dt p {
    font-size: 1.2rem;
    margin-bottom: 5px;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex dl.txt dd {
    font-size: 1rem;
  }

}

@media screen and (min-width: 769px) {
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex .img{
    position: relative;
    overflow: hidden;
  }
  .sec02 div.area_sec02_reason.carousel div.box_sec02_reason.flex .img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

/*============================
sec03
===========================*/

.sec03 {
  padding: 60px 0 70px;
}
/*
.sec03 p.ttl_strength {
  margin-bottom: 126px;
}
*/
.sec03 div.area_sec03_tuition.flex {
  margin-bottom: 34px;
  padding: 0 80px;
}
.sec03 div.area_sec03_tuition.flex p.img {
  width: 380px;
}
.sec03 div.area_sec03_tuition.flex p.txt {
  width: calc(100% - 380px);
  padding-left: 26px;
  font-size: 1.8rem;
  line-height: 2;
}
.sec03 h3 {
  text-align: center;
  font-size: 3.2rem;
  margin-bottom: 26px;
}
.sec03 .area_sec03_tuition_table{
  width: 540px;
  margin: 60px auto 90px;
  border: 5px solid #39baaf;
  background: #fff;
  border-radius: 17px;
  padding: 26px 70px 20px;
}
.sec03 .area_sec03_tuition_table p{
  text-align: center;
  color: #39baaf;
  font-size: 2.6rem;
}

.sec03 .area_sec03_tuition_table p.kome{
  text-align: center;
  color: #4d4d4d;
  font-size: 1.4rem;
}

.sec03 .area_sec03_tuition_table p .txt_ll{
  font-size:5.7rem;
}
.sec03 .area_sec03_tuition_table .flex{
  justify-content: space-between;
  margin-bottom: 10px;
}
.sec03 div.area_sec03_scholarship.flex{
  padding: 0 60px;
}
.sec03 div.area_sec03_scholarship.flex p img {
  width: 400px;
}
.sec03 div.area_sec03_scholarship.flex dl {
  width: calc(100% - 400px);
  padding: 10px 0 10px 20px;
}
.sec03 div.area_sec03_scholarship.flex dl dt {
  font-size: 2.8rem;
  margin-bottom: 10px;
}
.sec03 div.area_sec03_scholarship.flex dl dd p{
  font-size: 1.4rem;
  color: #4d4d4d;
}
.sec03 div.area_sec03_scholarship.flex dl dd p + p{
  margin-top: 1em;
}

@media screen and (max-width: 768px) {
  .sec03 {
    padding: 60px 0 50px;
  }
  .sec03 .sttl_sec{
    margin-bottom: 16px;
  }
  .sec03 div.area_sec03_tuition.flex {
    margin-bottom: 34px;
    padding: 0 4%;
    flex-direction: column;
  }
  .sec03 div.area_sec03_tuition.flex p.img {
    width: 60%;
    margin: 0 auto 15px;
  }
  .sec03 div.area_sec03_tuition.flex p.txt {
    width: 100%;
    padding-left: 0;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .sec03 h3 {
    font-size: 1.9rem;
    line-height: 1.7;
    margin-bottom: 14px;
  }
/*
  .sec03 .table_wrap{
    width: 100%;
    border-radius: 13px;
    padding: 5px;
    margin-bottom: 20px;
  }
  .sec03 table thead tr th{
    font-size: 0.8rem;
    line-height: 1.125;
    padding: 6px 0;
    border-left: 1px solid #e3e3e3;
    width: 28%;
  }
  .sec03 table thead tr th:first-child{
    border-left: none;
    width: 16%;
  }
  .sec03 table tbody tr td{
    font-size: 0.9rem;
    padding: 8px 0;
  }
  .sec03 table tbody tr td:nth-child(2){
    font-size: 1.1rem;
    padding: 8px 0;
  }
  .sec03 table tbody tr td {
    font-size: 0.9rem;
  }
  .sec03 table tbody tr td span {
    font-size: 1.7rem;
  }
*/
  .sec03 .area_sec03_tuition_table{
    width: 100%;
    max-width: 300px;
    margin: 30px auto 50px;
    border: 3px solid #39baaf;
    padding: 20px 30px 20px;
  }
  .sec03 .area_sec03_tuition_table p{
    font-size: 1.4rem;
  }
  .sec03 .area_sec03_tuition_table p .txt_ll{
    font-size:3rem;
  }
  .sec03 .area_sec03_tuition_table p.kome{
    font-size: 1rem;
  }
  .sec03 .area_sec03_tuition_table .flex{
    justify-content: space-between;
    margin-bottom: 10px;
  }
  .sec03 div.area_sec03_scholarship.flex{
    flex-direction: column;
    padding: 0 4%;
  }
  .sec03 div.area_sec03_scholarship.flex p.img{
    width: 90%;
    margin: auto;
    text-align: center;
  }
  .sec03 div.area_sec03_scholarship.flex p img {
    width: inherit;
  }
  .sec03 div.area_sec03_scholarship.flex dl {
    width: inherit;
    padding: 40px 0 20px;
  }
  .sec03 div.area_sec03_scholarship.flex dl dt {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .sec03 div.area_sec03_scholarship.flex dl dd p{
    font-size: 1.2rem;
    line-height: 2.0;
  }

}


/*============================
area_btn
===========================*/

.area_btn {
  padding: 0 107px 0;
  text-align: center;
}
.area_btn p {
  width: 355px;
  margin-bottom: 15px;
  display: inline-block;
}
.area_btn p + p{
  margin-left: 11px;
}
.area_btn p a{
  display: block;
}
.area_btn p a img{
  width: 100%;
}
@media screen and (max-width: 768px) {
	.area_btn {
    padding: 0 5% 0;
    text-align: center;
  }
  .area_btn p {
    display: block;
    width: 70%;
    margin: 0 auto 15px;
  }
  .area_btn p + p{
    margin-left: auto;
  }
}


/*============================
sec04
===========================*/

.sec04 {
  padding: 84px 60px 40px;
}

.sec04 div.area_movie {
  width: 620px;
  margin: 0 auto 40px;
}
.sec04 div.area_movie iframe {
  width: 100%;
  height: 427px;
}
.sec04 div.area_sec04_01 {
  margin-bottom: 60px;
}
.sec04 div.area_sec04_01 div.area_ttl {
  width: 420px;
}
.sec04 div.area_sec04_01 div.area_ttl p.ttl {
  font-size: 2.8rem;
  margin-bottom: 14px;
}
.sec04 div.area_sec04_01 div.area_ttl p.name {
  font-size: 1.9rem;
  text-align: right;
  margin-right: 1.5em;
}
.sec04 div.area_sec04_01 p.txt {
  width: 400px;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .sec04 {
    padding: 50px 0 0;
  }

  .sec04 div.area_movie {
    width: 100%;
    margin: 0 auto 20px;
  }
  .sec04 div.area_movie iframe {
    width: 100%;
    height: 56vw;
  }
  .sec04 div.area_sec04_01 {
    flex-direction: column;
    margin-bottom: 30px;
    padding: 0 4%;
  }
  .sec04 div.area_sec04_01 div.area_ttl {
    width: inherit;
  }
  .sec04 div.area_sec04_01 div.area_ttl p.ttl {
    font-size: 1.8rem;
    margin-bottom: 14px;
  }
  .sec04 div.area_sec04_01 div.area_ttl p.name {
    font-size: 1.4rem;
    text-align: right;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .sec04 div.area_sec04_01 p.txt {
    width: inherit;
    font-size: 1.2rem;
    line-height: 2.0;
  }

}


/*============================
sec05
===========================*/

.sec05 {
  padding: 0 0 60px;
}
.sec05 div.box_sec05_01.flex {
  padding: 0 60px;
}
.sec05 div.box_sec05_01.flex p.img {
  width: 322px;
}
.sec05 div.box_sec05_01.flex dl {
  width: calc(100% - 322px);
  padding: 0px 0 90px 20px;
}
.sec05 div.box_sec05_01.flex dl dt {
  font-size: 2.4rem;
  color: #00b7a9;
  margin-left: 5px;
  margin-bottom: 15px;
}
.sec05 div.box_sec05_01.flex dl dd {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .sec05 {
    padding: 20px 0 0;
  }
  .sec05 .ttl_sec{
    margin-bottom: 20px;
  }
  .sec05 .sttl_sec{
    margin-bottom: 6px;
  }
  .sec05 div.box_sec05_01.flex {
    flex-direction: column;
    padding: 0 4%;
  }
  .sec05 div.box_sec05_01.flex p.img {
    width: inherit;
    text-align: center;
  }
  .sec05 div.box_sec05_01.flex dl {
    width: inherit;
    padding: 14px 0 30px;
  }
  .sec05 div.box_sec05_01.flex dl dt {
    font-size: 1.6rem;
    margin-left: 5px;
    margin-bottom: 7px;
  }
  .sec05 div.box_sec05_01.flex dl dd {
    font-size: 1.2rem;
    line-height: 1.75;
  }

}


/*============================
sec06
===========================*/

.sec06 {
  padding: 15px 28px 60px;
}
.sec06 h3 {
  text-align: center;
  font-size: 2.8rem;
  margin: 40px 0 30px;
}
.sec06 h3 span.txt_green {
  font-size: 4.2rem;
  vertical-align: middle;
  position: relative;
  top: -5px;
}
.sec06 div.area_sec06_01.flex.carousel {
  flex-wrap: wrap;
}
.sec06 div.area_sec06_01.flex.carousel div.box_sec06_01 {
  width: 286px;
  margin-right: 13px;
  margin-bottom: 24px;
}
.sec06 div.area_sec06_01.flex.carousel div.box_sec06_01:nth-child(3n){
  margin-right: 0;
}
.sec06 div.area_sec06_01.flex.carousel div.box_sec06_01 p.img {
  width: 100%;
  margin-bottom: 8px;
}
.sec06 div.area_sec06_01.flex.carousel div.box_sec06_01 p.txt {
  text-align: center;
}
.sec06 p.txt_sec06_02 {
  font-size: 1.4rem;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .sec06 {
    padding: 30px 0 0;
  }
  .sec06 h3 {
    text-align: center;
    font-size: 2.1rem;
    margin: 0 0 20px;
  }
  .sec06 h3.h3_02{
    margin-top: 35px;
  }
  .sec06 h3 span.txt_green {
    font-size: 3.2rem;
    vertical-align: middle;
  }
  .sec06 div.area_sec06_01.flex.carousel div.box_sec06_01 {
    width: 100%;
    margin-right: 13px;
    margin-bottom: 24px;
  }
  .sec06 div.area_sec06_01.flex.carousel div.box_sec06_01:nth-child(3n){
    margin-right: 0;
  }
  .sec06 .slick-initialized .slick-slide{
    margin: 0 3px;
  }
  .sec06 div.area_sec06_01.flex.carousel div.box_sec06_01 p.img {
    width: 100%;
    margin-bottom: 8px;
  }
  .sec06 div.area_sec06_01.flex.carousel div.box_sec06_01 p.txt {
    font-size: 1.1rem;
    text-align: center;
  }
  .sec06 p.txt_sec06_02 {
    font-size: 1.0rem;
    padding: 0 4% 20px;
  }

}


/*============================
area_tel
===========================*/

.area_tel {
  width: 100%;
  margin: 100px 0 0;
  background: #00b7a9;
  padding: 22px 30px 26px 42px;
  align-items: center;
  justify-content: space-between;
}
.area_tel .txt_tel_01{
  color: #fff;
  font-size: 2.0rem;
  line-height: 1.4;
}
.area_tel p span.tel {
  font-size: 4.6rem;
  display: inline-block;
  line-height: 1;
  color: #fff;
  position: relative;
}
.area_tel p span.tel::before{
  content: "";
  display: inline-block;
  background: url(../img/icon_tel.png);
  width: 50px;
  height: 38px;
  margin-right: 2px;
}

.area_tel p span.mail {
  margin-top: 0.25em;
  font-size: 2.4rem;
  display: block;
  line-height: 1;
  color: #fff;
  position: relative;
}
.area_tel p span.mail::before{
  content: "";
  display: inline-block;
  background: url(../img/icon_mail.png);
  width: 30px;
  height: 23px;
  margin-right: 2px;
}

.area_tel .txt_tel_02 {
  font-size: 2.0rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .area_tel {
    width: 100%;
    margin: 20px 0 0;
    background: #00b7a9;
    padding: 15px 0 15px;
    flex-direction: column;
    align-items: center;
  }
  .area_tel .txt_tel_01{
    font-size: 1.1rem;
    margin-bottom: 6px;
  }
  .area_tel p span.tel {
    font-size: 2.7rem;
  }
  .area_tel p span.tel::before{
    width: 25px;
    height: 19px;
    background-size: contain;
    margin-right: 2px;
  }
  .area_tel p {
    text-align: center;
  }
  .area_tel p span.mail {
    font-size: 1.6rem;
    margin-bottom: 0.25em;
  }
  .area_tel p span.mail::before{
    width: 20px;
    height: 14px;
    background-size: contain;
    margin-right: 2px;
  }
  .area_tel .txt_tel_02 {
    font-size: 1.1rem;
  }

}


/*============================
footer
===========================*/

footer {
	width: 100%;
	background: #fff;
	margin-top: 170px;
}
footer div.wrap {
  padding: 72px 0 120px;
}
footer div.wrap >*{
  text-align: center;
}
footer div.wrap p.logo_footer {
  margin-bottom: 44px;
  margin-left: -30px;
}
footer div.wrap p.txt_address {
  font-size: 1.8rem;
  line-height: 1.72;
  margin-bottom: 44px;
}
footer div.wrap p.txt_copy {
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  footer {
    margin-top: 40px;
  }
  footer div.wrap {
    padding: 30px 0 30px;
  }
  footer div.wrap p.logo_footer {
    width: 184px;
    margin: 0 auto 12px;
  }
  footer div.wrap p.txt_address {
    font-size: 1.1rem;
    margin-bottom: 20px;
    line-height: 1.72;
  }
  footer div.wrap p.txt_copy {
    font-size: 0.9rem;
  }

}
.before_none span:before{
  display: none;
}

.spBana{
  max-width: 782px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
}
.spBana:hover{
  opacity: .6;
}
.spBana img{
  max-width: 100%;
}

/* //////////////////////////
入試のポイント
////////////////////////// */
.taC{ text-align: center; }
.taR{ text-align: right; }
.point-wrap{ padding: 60px 0 0; margin-bottom: 160px; }
.point-section h2{
    text-align: center;
    color: #00b7a9;
    font-size: 54px;
}
.point-section { padding-left: 60px; padding-right: 60px; }
.point-sectioon-home{ margin-bottom: 80px; }
.point-sectioon-home ul{
    margin-top: 30px;
}
.point-sectioon-home li{
  font-size: 16px;
}
.point-sectioon-home li .nom{
  white-space: nowrap;
  width: 1.5em;
  height: 1.5em;
  text-align: center;
  border: solid 1px #00b7a9;
  border-radius: 50%;
  display: block;
  margin-right: 0.4em;
}
.point-sectioon-home li .arow{
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 6px 0 6px;
  border-color: #ea6da4 transparent transparent transparent;
}
.point-sectioon-home li+li{
  border-top: dotted 2px #ccc;
}
.point-sectioon-home li a{
  align-items: center;
  display: flex;
  padding: 0.5em 0;
  color: #00b7a9;
}
.point-sectioon-home li p{
  font-size: 20px;
  color: #00b7a9;
  margin-right: 0.4em; }
@media screen and (max-width: 768px) {
  .point-wrap{ padding: 40px 0 0; margin-bottom: 100px; }
  .point-section h2{
      font-size: 28px;
  }
  .point-sectioon-home li{
    font-size: 12px;
  }
  .point-sectioon-home li p{
    font-size: 14px;
    max-width: 86%;
  }
  .point-sectioon-home li a{
    flex-wrap: wrap;
  }
}

.point-section + .point-section{
  margin-top: 120px;
}
.point-section + .point-sectioon01{ margin-top: 80px; }
.point-section h3{
  margin-bottom: 1.5em;
  font-size: 36px;
  line-height: 1.5;
  text-align: center;
  color: #00b7a9;
}
.point-section h4{
  color: #00b7a9;
  font-size: 28px;
  line-height: 1.5;
  margin-bottom: 1em;
}

.point-section table{ border-collapse: collapse; width: 100%; background: #fff; }
.point-section th,
.point-section td{
  border: solid 1px #ccc;
  padding: 0.5em;
}
.point-section td.sum{
  background: #ffe8a9;
}
.point-section th{ background: #e0f0e8; text-align: center; }

.point-section .read-txt{
  font-size: 20px;
  margin-bottom: 1em;
}
.point-section h5{ font-size: 28px; color: #ea6da4; margin-bottom: 0.5em; }
.point-section p{ font-size: 16px; }
.point-section table + p{ margin-top: 0.5em; }

.min-txt{ font-size: 0.75em; }
.point-section .content-box{ margin-top: 80px; }
.point-section .content-box table{ margin-top: 10px; }
@media screen and (max-width: 768px) {
  .point-section { padding-left: 20px; padding-right: 20px; }
  .point-section h3{ font-size: 24px; }
  .point-section h4{ font-size: 18px; }
  .point-section h5{ font-size: 16px; }
  .point-section .read-txt{ font-size: 14px; }
  .point-section + .point-sectioon01{ margin-top: 60px; }
  .point-section + .point-section{
    margin-top: 80px;
  }

  .point-section p{ font-size: 12px; }
  .point-section th,
  .point-section td{ font-size: 12px; }
  .point-section .content-box{ margin-top: 40px; }
}
@media screen and (min-width: 769px) {
  .point-section table.table01{
    table-layout: fixed;
  }
  .point-section table.table01 th{
    width: 220px;
  }
  .point-section table.table01 td{
    width: calc((100% - 220px) / 5);
  }
}



.flow-box{
  margin-top: 60px;
  margin-bottom: 60px;
  padding: 20px;
  border-radius: 8px;
  text-align: center;
  background: #fff;
}
.merit-box{
  text-align: center;
  padding: 20px 20px;
  background: #fff;
  text-align: center;
  border-radius: 8px;
}
.merit-box ul{ max-width: 620px; margin-left: auto; margin: auto; }
.merit-box li{
  position: relative;
  color: #00b7a9;
  font-size: 24px;
  padding: 0.5em 0;
  padding-left: 2em;
}
.merit-box li+li{
  border-top: dotted 2px #ccc;
}
.merit-box li .nom{
  position: absolute;
  top: .5em;
  left: 0;
  width: 1.4em;
  height: 1.4em;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #ea6da4;
}
@media screen and (max-width: 768px) {
  .merit-box li{ font-size: 14px; }
}
.uketuke{
  display: inline-block;
  color: #fff;
  background: #ea6da4;
  padding: 0.2em;
  line-height: 1;
}
.or-txt{ margin: 0.5em; }
.or-txt span{ display: inline-block; padding: 0.5em 1em; line-height: 1; border-radius: 30px; background: #ffe8a9; }
.point-sectioon04-1{ margin-top: 60px; }
.point-sectioon04-1 p{ margin-bottom: 0.5em; }
.point-sectioon04-2{ margin-top: 60px; }
.point-sectioon04-2 .mid-txt{ font-size: 20px; color: #00b7a9; }
.point-sectioon04-2 .mid-txt .huyou{ display: inline-block; line-height: 1; padding: 0.2em; font-size: 0.8em; color: #fff; background: #00b7a9; }
.point-sectioon04-2 .sub-txt{ margin-bottom: 2em; margin-top: 0.5em; }
.point-sectioon02 h4{ margin-bottom: 2.5em; }
@media screen and (max-width: 768px) {
  .point-sectioon04-2 .mid-txt.taC{ text-align: left; }
}
.point-section .sub-title{ color: #fff; }
.point-section .sub-title span{ display: inline-block; border-radius: 50px; background: #00b7a9; padding: 0.2em 0.5em; margin-bottom: 1em; }

.point-section .kingaku{ display: flex; justify-content: center; align-items: flex-end; line-height: 1; }
.point-section .kingaku strong,
.point-section .kingaku .txt-green{ color: #00b7a9; }
.point-section .kingaku strong{ font-size: 2em; line-height: 0.8; margin-left: 0.2em; }
.point-section .area_btn{ padding: 0; }
.area_btn_wrap{ margin-top: 60px; }
@media screen and (max-width: 768px) {
  .area_btn_wrap{ margin-top: 40px; }
}

.menu-coontent{
  max-width: 940px;
  margin: auto;
  display: flex;
  margin-bottom: 120px;
  flex-wrap: wrap;
}
.menu-coontent a{
  position: relative;
  border-radius: 5px;
  font-size: 2.8rem;
  width: calc(50% - 15px);
  text-align: center;
  display: block;
  color: #fff;
  background: #00b7a9;
  margin-right: 30px;
  padding: 1em;
  transition: 0.2s ease-in-out;
}
.menu-coontent a:after{
  transition: 0.2s ease-in-out;
  content: "";
  position: absolute;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.menu-coontent a:hover::after{
  border-color: #00b7a9;
}
.menu-coontent a:nth-child(2n){
  margin-right: 0;
}
.menu-coontent a:nth-child(n+3){
  margin-top: 30px;
}
.menu-coontent a:hover{
  background: #fff;
  color: #00b7a9;
}
@media screen and (max-width: 768px) {
  .menu-coontent{ padding: 0 30px; margin: 40px auto 60px; }
  .menu-coontent a{
    width: 100%;
    margin: 0;
    font-size: 1.4rem;
  }
  .menu-coontent a+a{ margin-top: 1em; }
  .menu-coontent a:nth-child(n+3){
    margin-top: 1em;
  }
}

/* 追加 */
.txt_sec06_ph{ display: flex; }
.txt_sec06_ph figure{ margin: 0; }
.sec07{
  padding: 84px 60px 40px;
}
.txt_sec07_02{ margin-bottom: 2em; }
.txt_sec07_01{
  text-align: center;
  padding: 30px;
  border: solid 4px #00b7a9;
  border-radius: 30px;
  background: #fff;
}
.txt_sec07_01 h3{
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 24px; }
.txt_sec07_01 p.text{
  margin-top: 1em;
  text-align: left;
  font-size: 14px; }

.sec07 div.area_sec07_tuition.flex {
  margin: 68px 0 34px; }
.sec07 div.area_sec07_tuition.flex p.img {
  width: 380px;
}
.sec07 div.area_sec07_tuition.flex div.txt {
  width: calc(100% - 380px);
  padding-left: 26px;
}
.sec07 div.area_sec07_tuition.flex div.txt h3{
  margin-bottom: 0.5em;
  font-size: 2.4rem;
  color: #00b7a9;
  line-height: 1.25;}
.sec07 div.area_sec07_tuition.flex div.txt p{
  font-size: 1.6rem;
  line-height: 2;}
.area_sec07_03{
  text-align: center;
  padding: 30px;
  background: #fff; }
.area_sec07_03 h3{
  margin-bottom: 2em;
  text-align: center;
}
.button{
  max-width: 640px;
  margin: auto;
  margin-top: 2em;
  border-radius: 4em;
  display: block;
  padding: 0.5em 1em;
  text-align: center;
  background: #00b7a9;
  color: #fff;
  font-size: 2rem; }
.button .arow{
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 0.75em;
  background: #fff;
  border-radius: 50%;
  height: 0.75em; }
.button .arow:after{
  content: "";
  position: absolute;
-moz-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 25%;
  height: 25%;
  box-sizing: border-box;
  border-right: solid 1px #00b7a9;
  border-bottom: solid 1px #00b7a9; }
.button p{
  font-size: 2rem;
  color: #fff;
  display: inline-block;
  padding-right: 2em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec07{    padding: 60px 0 50px;}
  .sec07-wrap{ padding: 0 4%; }
  .sec07 div.area_sec07_tuition.flex{
        margin-bottom: 34px;
    flex-direction: column;
  }
  .sec07 div.area_sec07_tuition.flex p.img{
  width: 60%;
    margin: 0 auto 15px;}
  .sec07 div.area_sec07_tuition.flex div.txt{
  width: 100%;
    padding-left: 0;}
  .sec07 div.area_sec07_tuition.flex div.txt p{
    font-size: 1.4rem;
    line-height: 1.7;}
}

/* 追加css 20251120 */
.link-button{
  color: #00B7A9;
  position: relative;
  border-radius: 5em;
  text-align: center;
  display: block;
  margin: 3em auto 0;
  max-width: 320px;
  font-size: 20px;
  line-height: 1;
  padding: 0.75em;
  border: solid 1px #00B7A9;
  z-index: 0;
}
.link-button:before,
.link-button:after{
  content: "";
  display: block;
  border-radius: 5em;
  width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  position: absolute;
  background-color: #f9f8ce;
  z-index: -1;
}
.link-button:after{
  z-index: -2;
  left: 5px;
  top: 5px;
  background-color: #00B7A9;
}
@media screen and (max-width: 768px) {
  .link-button{
    font-size: 16px;
    margin-top: 1.5em;
    max-width: 75%;
  }
}

.top-bg{
  margin-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .top-bg{
    margin-bottom: 100px;
  }
}
.yumesapo {
  text-align: center;
  padding: 0 60px;
}
.yumesapo img{
  max-width: 100%;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .yumesapo .sp{
    display: none;
  }
}
@media screen and (max-width: 768px) {
  
  .yumesapo .pc{
    display: none;
  }
  .yumesapo {
    text-align: center;
    padding: 0;
  }
  .yumesapo img{
    max-width: 100%;
  }
}