/* screens smaller than 1500---------------------------------------------------------- */
@media only screen  and (max-width:1499px) {

/*base*/
/*------------------------------------------------------------------------------*/
body.open {
	overflow: hidden;
}

/*header*/
/*------------------------------------------------------------------------------*/
header {
	width: 100vw;
}
#header_in {
	max-width: auto;
	max-width: initial;
	width: 95%;
	padding: 10px 0;
	height: 80px
}
#logo {
	margin-left: 3vw;
}
.open #logo {
	z-index: 12;
}
#logo img {
	max-width: 70%;
}

/*globalnav*/
/*------------------------------------------------------------------------------*/
#gnav_btn {
	display: block;
}
#gnav_btn {
	position: absolute;
	right: 2.5vw;
	top: 50%;
	display: block;
  text-align: center;
	max-width: 71px;
	max-height: 71px;
	width: 10vw;
	height: 10vw;
	transform: translate(0,-50%);
}
#gnav_btn .text {
  display: none;
}
.open #gnav_btn {
	z-index: 11;
}
#gnav_btn .in {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 100%;
	background: #2A4298;
	border-radius: 3px;
}
#gnav_btn .in:hover {
	cursor: pointer;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 33px;
  height: 3px;
  width: 8vw;
  background: #fff;
  transition: .2s;
  border-radius: 2px;
  transform: translate(-50%,-50%);
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  max-width: 33px;
  height: 3px;
  width: 8vw;
  background: #fff;
  transition: .3s;
  border-radius: 2px;
}
#panel-btn-icon:before{
  margin-top: -12px;
}
#panel-btn-icon:after{
  margin-top: 10px;
}
#gnav_btn .close{
  background: transparent;
}
#gnav_btn .close:before,
#gnav_btn .close:after{
  margin-top: 0;
  height: 3px;
}
#gnav_btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#gnav_btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

#globalnav_in{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(255,255,255,0.9);
	transition: all .5s;
	visibility: hidden;
	opacity: 0;
	padding: 120px 2.5% 5%;
	overflow-y: auto;
	display: inherit;
	z-index: 10;
}
.open #globalnav_in {
	transition: all .5s;
	visibility: visible;
	opacity: 1;
}
#globalnav_in ul {
	margin-bottom: 2em;
}
#globalnav_in ul li {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
	font-size: 2em;
	border-bottom: 1px solid #2A4298;
}
#globalnav_in ul li a {
	padding: 1em;
	display: block;
}
#globalnav_in ul li a:before {
	content: '';
	position: absolute;
  top: calc(50% - 6px);
  right: 1.2em;
	width: 12px;
  height: 12px;
  border-top: solid 2px #2A4298;
  border-right: solid 2px #2A4298;
  transform: rotate(45deg);
}
.h_tel {
 	margin-left: 0;
	font-size: 3em;
	text-align: center;
	margin-bottom: 1em;
}
.h_tel .sub {
	font-size: 2rem;
	margin-right: 0.5em;
}
.h_contact {
width: auto;
	justify-content: space-around;
 	margin-left: 0;
 	font-size: 28px;
}
.h_contact .btn01 a {
	width: 40vw;
	height: auto;
	padding: 0.5em 1em;
	border-radius: 10px;
}
.h_contact .btn01:last-of-type a {
	margin-left: 0;
}





#form dl dt{
font-size: 1em;
}


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


/* screens smaller than 1200---------------------------------------------------------- */
@media only screen  and (max-width:1199px) {

/*layout*/
/*------------------------------------------------------------------------------*/
.inner01 {
	width: 95%;
}
.pc_tb {
	display: block;
}
.flex01 .w49 {
	width: 100%;
	margin-bottom: 1em;
}
.flex01 .w49:last-of-type {
	margin-bottom: 0;
}

/*top_title*/
/*------------------------------------------------------------------------------*/
.top_title .subtitle02 {
	min-width: auto;
	min-width: initial;
	width: 100%;
	max-width: 900px;
	border-radius: clamp(3.125rem, 2.443rem + 3.409vw, 5rem);
}
.top_title .sub {
	font-size: clamp(1rem, 0.864rem + 0.682vw, 1.375rem);
}
.top_title .sub:before,
.top_title .sub:after {
	width: 20.83vw;
}
.top_title .main {
	font-size: clamp(1.625rem, 0.511rem + 5.568vw, 4.688rem);
}
.top_box05 .top_title .main {
	font-size: clamp(1.5rem, 0.864rem + 3.182vw, 3.25rem);
	text-wrap: balance;
	display: block;
	line-height: 1.2;
}

/*box*/
/*------------------------------------------------------------------------------*/
.box01_wrap {
	width: 100%;
}
.speach-balloons {
	font-size: clamp(1.125rem, 0.716rem + 2.045vw, 2.25rem);
	width: 100%;
	padding: 0.8rem;
}
.flex01 .speach-balloons {
  margin-left: 0;
  margin-right: 0;
}
.speach-balloons .sub {
	font-size: clamp(0.875rem, 0.739rem + 0.682vw, 1.25rem);
}

/*top_box01*/
/*------------------------------------------------------------------------------*/
.top_box01 .title {
	padding: 2vw 0;
}
.top_box01 .title img {
	width: 41.67vw;
}
.top_box01_in {
margin-top: 90px;
}
.cta_box01.bg {
	padding: 8.33vw 0 12vw;
}
.cta_box01_in .title {
	font-size: clamp(1.25rem, 0.886rem + 1.818vw, 2.25rem);
	text-wrap: balance;
}
.cta_box01_in .flex01 {
	flex-wrap: wrap;
}
.cta_box01_in .btn {
	width: 100%;
	margin-bottom: 2em;
}
.cta_box01_in .btn:last-of-type {
	margin-bottom: 0;
}

/*top_box02*/
/*------------------------------------------------------------------------------*/
.top_box02_in {
	padding: 30px 0;
	font-size: clamp(1.125rem, 0.989rem + 0.682vw, 1.5rem);
}
.top_box02_in .flex01 {
	flex-wrap: wrap;
}
.top_box02_in .point {
	width: 100%;
	text-align: center;
	margin-bottom: 1.5em;
}
.top_box02_in .point img {
	max-width: 70%;
}
.top_box02_in .container {
	display: block;
}
.top_box02_in .container .item {
	margin-bottom: 1em;
	text-align: center;
}
.top_box02_in .container .item:not(:nth-of-type(2)) {
	margin-left: 0;
}
.top_box02_in .container .item:last-of-type {
	margin-bottom: 0;
	text-align: left;
}
.top_box02_in .flex01 > .text {
	margin-bottom: 1em;
}

.top_box02_in .text .marker.big br{
display: inline-block;
}


/*top_box03*/
/*------------------------------------------------------------------------------*/
.top_box03_in .title {
	font-size: clamp(1.5rem, 0.682rem + 4.091vw, 3.75rem);
	margin-bottom: 0.5em;
}
.top_box03_in .flex01 {
	flex-wrap: wrap;
	padding: 10px;
}
.top_box03_in .flex01 .img {
	width: 100%;
	margin-bottom: 1em;
	text-align: center;
}
.top_box03_in .flex01 .img:last-of-type {
	margin-bottom: 0;
}

/*top_box04*/
/*------------------------------------------------------------------------------*/
.flow_box_in {
	width: 49%;
	padding: 1em;
}
.flow_box_in:nth-of-type(2n) {
	margin-right: 0;
}
.flow_box_in:nth-of-type(1),
.flow_box_in:nth-of-type(2) {
	margin-bottom: 2%;
}

/*top_box05*/
/*------------------------------------------------------------------------------*/
.top_box05 {
padding: 5vw 0;
}
.top_box05 .item{
max-width: 600px;
width: 80%;
margin: 0 0 5vw 0;
}
.top_box05 .item h3{
font-size: 1.5em;
}
.top_box05 p.btn a{
padding: 3vw;
font-size: 1.2em;
}



/*cta_box02*/
/*------------------------------------------------------------------------------*/
.cta_box02 {
	padding: 50px 0;
	background: #FFE500;
}
.cta_box02_in {
	width: 100%;
	padding: 0;
	text-align: center;
	text-wrap: balance;
}
.cta_box02_in::before,
.cta_box02_in::after {
	content: none;
}
.cta_box02_in .title {
	font-size: clamp(1.5rem, 0.682rem + 4.091vw, 3.75rem);
	margin-bottom: 1rem;
}
.cta_box02_in .title .sub {
	font-size: clamp(1.75rem, 0.795rem + 4.773vw, 4.375rem);
}
.cta_box02_in .text {
	font-size: clamp(1.125rem, 0.898rem + 1.136vw, 1.75rem);
}
.cta_box02_in .img {
	position: static;
	width: 100%;
	height: auto;
	margin-bottom: 1rem;
}
.cta_box02_in .img img {
	border-radius: 0;
}
.cta_box02_in .btn a {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(1.375rem, 1.148rem + 1.136vw, 2rem);
}
.cta_box02_in .btn a::after {
	width: clamp(1.25rem, 0.841rem + 2.045vw, 2.375rem);
	height: clamp(1.25rem, 0.841rem + 2.045vw, 2.375rem);
	background: url(../image/arrow01.png) no-repeat;
	background-size: contain;
}

/*access*/
/*------------------------------------------------------------------------------*/
.access .flex01 {
	align-items: center;
}
.access_in:first-of-type {
	width: 50%;
	text-align: center;
}
.access_in .title {
	font-size: clamp(1.375rem, 1.193rem + 0.909vw, 1.875rem);
	margin-left: 0;
}
.access_in .logo {
	justify-content: center;
	flex-wrap: wrap;
}
.access_in .img {
	margin-right: 0;
	width: 100%;
	margin-bottom: 1em;
}
.access_in .img img {
	max-width: 70%;
}
.gmap {
	padding-bottom: 50%;
}

/*footer*/
/*------------------------------------------------------------------------------*/
footer {
	padding: clamp(7.5rem, 5.682rem + 9.091vw, 12.5rem) 0 30px;
}
.footer_in {
	width: 95%;
	flex-wrap: wrap;
}
.footer_box {
	width: 100%;
	margin-bottom: 1em;
}
.footer_box:last-of-type {
	margin-bottom: 0;
	flex-wrap: wrap;
}
.f_logo img {
	max-width: 70%;
}
.f_tel {
	font-size: clamp(1.5rem, 1.227rem + 1.364vw, 2.25rem);
}
.f_tel .sub {
	font-size: clamp(1.125rem, 0.989rem + 0.682vw, 1.5rem);
}
.f_menu {
	width: 100%;
	margin-bottom: 2em;
}
.f_menu .title {
	font-size: clamp(1.125rem, 0.989rem + 0.682vw, 1.5rem);
	text-align: center;
	margin-bottom: 1em;
}
.f_menu ul{
width: auto;

}
.f_menu li {
	width: 33.3333%;
}
.f_contact {
	width: 100%;
}
.f_contact .btn a {
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	height: auto;
	padding: 2em;
	border-radius: 10px;
	font-size: clamp(1.375rem, 1.148rem + 1.136vw, 2rem);
}
.copy {
	margin-top: 40px;
}

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


/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {

/*layout*/
/*------------------------------------------------------------------------------*/
.pc_tb {
	display: none;
}
.tel {
	pointer-events: auto;
}

/*globalnav*/
/*------------------------------------------------------------------------------*/
#globalnav_in ul li {
	font-size: clamp(1.375rem, 0.929rem + 2.232vw, 2rem);
}
.h_tel {
	font-size: clamp(1.75rem, 0.857rem + 4.464vw, 3rem);
}
.h_tel .sub {
	font-size: 2rem;
}
.h_contact {
	display: block;
 	font-size: clamp(1.25rem, 0.893rem + 1.786vw, 1.75rem);
}
.h_contact .btn01 a {
	width: 100%;
	height: auto;
	padding: 0.5em 2em;
	border-radius: 10px;
	margin-bottom: 1.5em;
}
.h_contact .btn01:last-of-type a {
	margin-bottom: 0;
}


/*top_box01*/
/*------------------------------------------------------------------------------*/
.cta_box01_in {
	margin-bottom: 2em;
}
.cta_box01_in .btn a .sub {
	font-size: clamp(1rem, 0.643rem + 1.786vw, 1.5rem);
}
.cta_box01_in .btn a .main {
	font-size: clamp(1.25rem, 0.536rem + 3.571vw, 2.25rem);
	display: block;
	text-wrap: balance;
}
.cta_box01_in .btn a .main:before {
	content: none;
}

/*access*/
/*------------------------------------------------------------------------------*/
.access .flex01 {
	flex-wrap: wrap;
}
.access_in:first-of-type {
	width: 100%;
	margin-bottom: 1em;
}
.access_in:last-of-type {
	text-align: center;
}
.access_in .time,
.access_in .phone,
.access_in .num,
.access_in .address,
.access_in .address02 {
	font-size: clamp(1.25rem, 0.804rem + 2.232vw, 1.875rem);
}
.access_in .address {
	padding-bottom: 0;
	border-bottom: none;
}
.access_in .sub {
	font-size: clamp(1rem, 0.821rem + 0.893vw, 1.25rem);
}

/*footer*/
/*------------------------------------------------------------------------------*/
.f_menu li {
	width: 50%;
}

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



/*------------------------------------------------------------------------------*/
/*下層*/

/* screens smaller than 1200---------------------------------------------------------- */
@media only screen  and (max-width:1199px) {

/*page_title*/
/*------------------------------------------------------------------------------*/
#page_title .subtitle02 {
	margin: clamp(30px,5vw,60px) 0 clamp(30px,4.8vw,50px);
	min-width: 80%;
}
#page_title .sub:before,
#page_title .sub:after {
	width: 11vw;
}
#page_title .main {
	font-size: clamp(1.625rem, 0.511rem + 5.568vw, 4.688rem);
}

/*subtitle*/
/*------------------------------------------------------------------------------*/
.subtitle03_02 {
	text-align: center;
}
.subtitle03_02 .logo {
	margin: 0 0 10px;
	width: 100%;
}
.subtitle03_02 .logo img {
	max-width: 200px;
}


/*curriculum_box*/
/*------------------------------------------------------------------------------*/
.curriculum_box01 .img_box {
	width: 100%;
	margin-bottom: 20px;
}
.curriculum_box01 .img_box img:first-child {
	width: 55%;
	max-width: 420px;
}
.curriculum_box01 .img_box img:nth-child(2n) {
	width: 40%;
	max-width: 240px;
}
.curriculum_box01 .txt_box {
	width: 100%;
	padding-left: 0;
}
.curriculum_box01 .sub {
	padding: 0.4vw clamp(8px,1.6vw,20px);
	margin-right: 0.8vw;
}
.curriculum_box01 ul {
	padding-left: 1.6vw;
}
.curriculum_box04 .img_box {
	width: 100%;
}
.curriculum_box04 .txt_box {
	width: 100%;
	padding-right: 0;
}
.curriculum_box05 .txt_box {
	width: 100%;
	text-align: center;
}
.curriculum_box05 .img_box {
	width: 100%;
}
.curriculum_box05 .img_box img:first-child {
	width: 45%;
	max-width: 280px;
}
.curriculum_box05 .img_box img:nth-child(2n) {
	width: 45%;
	max-width: 300px;
}

/*price_box*/
/*------------------------------------------------------------------------------*/
#page_title.price .subtitle02 {
	margin-bottom: -10vw;
}
.price_bpx01 .in {
	margin-left: 0;
}
.price_bpx02 .img_box.bg {
	padding: 3% 3% 1.5%;
	margin-bottom: 3.33vw;
}

/*feature*/
/*------------------------------------------------------------------------------*/
#page_title.feature .subtitle02 {
	margin-bottom: -10vw;
}
.feature_box {
	padding: 3.33%;
	margin-bottom: clamp(2.5rem, 2.045rem + 2.273vw, 3.75rem);
}
.feature_box .flex01 {
	padding: 1.67%;
	background: url(../image/top_box02_bg.png) #FFF;
}
.feature_box .text {
	text-wrap: balance;
}
.feature_box .text br {
	display: none;
}
.feature_box .title {
	font-size: clamp(1.25rem, 0.886rem + 1.818vw, 2.25rem);
}

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



/* screens smaller than 768---------------------------------------------------------- */
@media only screen and (max-width:768px) {

.subtitle03_01 .sub {
	display: block;
}
.subtitle04_01.w_auto {
	width: 95%;
}

/*curriculum_box*/
/*------------------------------------------------------------------------------*/
.curriculum_box02 .txt_box {
	width: 100%;
}
.curriculum_box02 .img_box {
	width: 100%;
}
.curriculum_box02 .img_box img {
	max-width: 60%;
}
.curriculum_box03 .box {
	width: 50%;
}
.curriculum_box03 .title {
	padding: 20px 10px;
	background: #ff7a4d;
	color: #fff;
}
.curriculum_box03 .box:nth-child(2n) .title {
	background: #ffe500;
	color: #000;
}
.curriculum_box03 .txt01 {
	padding: 30px 1.6vw;
	background: url(../image/arrow02.png) no-repeat center center;
	background-size: 66px;
}
.curriculum_box03 .txt02 {
	padding: 20px 1.6vw;
}
.curriculum_box06 .img_box {
	width: 100%;
}
.curriculum_box06 .txt_box {
	width: 100%;
}
.curriculum_box08 .box {
	width: 100%;
}
.curriculum_box08 p {
	padding: 0;
}

/*price_box*/
/*------------------------------------------------------------------------------*/
.price_bpx01 .box {
	width: 100%;
}

/*feature*/
/*------------------------------------------------------------------------------*/
.feature_box {
	padding: 2.5%;
}
.feature_box .img {
	width: 100%;
	margin-right: 0;
	margin-bottom: 1em;
	text-align: center;
}
.feature_box .title {
	font-size: clamp(1.125rem, 0.321rem + 4.018vw, 2.25rem);
}

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


/* screens smaller than 540---------------------------------------------------------- */
@media only screen and (max-width:539px) {

/*box*/
/*------------------------------------------------------------------------------*/
.box01_wrap {
	margin-bottom: 30px;
}
.boy .box01::before {
	content: none;
}
.boy .box01 .box01_in {
  padding: 1.2em 1em 1em;
}
.girl .box01::before {
	content: none;
}
.girl .box01 p {
  margin-left: 0;
}
.girl .box01 .box01_in {
  padding: 1.2em 1em 1em;
}

/*header*/
/*------------------------------------------------------------------------------*/
#logo {
	max-width: 70%;
}

/*top_box04*/
/*------------------------------------------------------------------------------*/
.flow_box_in {
	width: 100%;
	margin-bottom: 2em;
	margin-right: 0;
}
.flow_box_in:nth-of-type(1),
.flow_box_in:nth-of-type(2) {
	margin-bottom: 2em;
}

/*cta_box02*/
/*------------------------------------------------------------------------------*/
.cta_box02_in .btn a::after {
	right: clamp(0.75rem, 0.023rem + 3.636vw, 1.25rem);
}

/*footer*/
/*------------------------------------------------------------------------------*/
.f_menu li {
	width: 100%;
}


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