@charset "utf-8";
/* CSS Document */

/*========================
KEY VISUAL
========================*/
.key_visual {
  position: relative;
  margin-bottom: 50px;
}
.key_visual .logo_01 {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 80%;opacity: 0.8;
}

.key_visual .logo_02 {
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}
.key_visual .logo_02 img {
  margin:0 auto 10px;
 width:280px;filter: drop-shadow( 0 0 3px rgb(0, 0, 0, 0.8));
}
.key_visual .logo_02 p {
  font-size: 1.4rem;
  font-weight: 500
}
.key_visual_inner {
  display: flex;
  z-index: 1
}
.key_visual_column {
  height: 70vh;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.key_visual_photo01 {
  background: url("../img/top01_sp.jpg")no-repeat bottom left;
  background-size: cover;
}
.key_visual_photo02 {
  background: url("../img/top02_sp.jpg") no-repeat top center;
  background-size: cover;
}

@media all and (min-width: 768px) {
  .key_visual .logo_01 {
    width: 75%;
  }
.key_visual_photo01 {
  background: url("../img/top01.jpg")no-repeat bottom left;
  background-size: cover;
}
.key_visual_photo02 {
  background: url("../img/top02.jpg") no-repeat top center;
  background-size: cover;
}	
.key_visual .logo_02 img {width: 362px}
}
@media all and (min-width: 1024px) {
.key_visual .logo_01 {
    width: 25%;
  }
}
/*========================
SECTION
========================*/
.top_course{ width:calc(100% - 10px); padding: 0 5px;margin: 0 auto 50px;}
@media all and (min-width: 768px) {
.top_course{width:calc(100% - 0px);max-width: 1280px; padding: 0 10px;}
}
@media all and (min-width: 1024px) {
.top_course{width:calc(100% - 50px);max-width: 1280px; padding: 0 25px;}
}

/*========================
TILES
========================*/

.tiles {
	display: flex;
  flex-wrap: wrap;
	 width:calc(100% - 10px); padding: 0 5px;margin: 0 auto 50px;
}
@media all and (min-width: 768px) {
.tiles {width:calc(100% - 0px);max-width: 1280px; padding: 0 10px;}}
@media all and (min-width: 1024px) {
.tiles {width:calc(100% - 50px);max-width: 1280px; padding: 30px 25px 0;}}
.tiles .tile {
	display: inline-block;
	width: 100%;
	text-align: left;
	opacity: 0.99;
	overflow: hidden;
	position: relative;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}
@media all and (min-width: 768px) {
.tiles .tile {width: calc(100% / 3);}

}
.tiles .tile:before {
	content: "";
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
	width: 100%;
	height: 50%;
	opacity: 0;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	transition-property: top, opacity;
	transition-duration: 0.3s;
}
.tiles .tile img {
	display: block;
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	 transition: .3s ease-in-out;
	
}
.tiles .tile:hover img{
	transform:scale(1.2);
	filter: grayscale(90%);	
}
.tiles .tile .title {
font-family: 'Noto Serif JP', serif;
color: #A6FF00;
	line-height: 1;
	font-weight: 600;
	font-size: 34px;
	 text-shadow: 0 0 3px rgb(0, 0, 0, 0.8);
	position: absolute;
	top:40%; 
	left:0;
	padding-left: 20px
}
.tiles .tile .title p {
font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
font-weight: 400; color: #fff;
font-size: 14px;
padding-top: 1em;
line-height: 1.4}
.tiles .tile .details {
font-size: 16px;
    padding: 20px;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0px;
    z-index: 3;
    width: 100%;
   
}
.tiles .tile .details span {
	display: block;
	opacity: 0;
	position: relative;
	top: 100px;
	transition-property: top, opacity;
	transition-duration: 0.3s;
	transition-delay: 0s;
}
.tiles .tile .details .title {
	line-height: 1;
	font-weight: 600;
	font-size: 18px;font-family: 'Noto Serif JP', serif;
}
.tiles .tile .details .info {
	line-height: 1.2;
	margin-top: 5px;
	font-size: 16px; text-align: right;
	display: inline-flex;align-items: center;
	float: right
	
}
.tiles .tile .details .info img{width: 14px; margin-left:10px}
.tiles .tile:focus:before, .tiles .tile:focus span, .tiles .tile:hover:before, .tiles .tile:hover span {
	opacity: 1;
}
.tiles .tile:focus:before, .tiles .tile:hover:before {
	top: 50%;
}
.tiles .tile:focus span, .tiles .tile:hover span {
	top: 0;
}
.tiles .tile:focus .title, .tiles .tile:hover .title {
	transition-delay: 0.15s;
}
.tiles .tile:focus .info, .tiles .tile:hover .info {
	transition-delay: 0.25s;
}
.check_list{padding: 35px 0;}
.check_list ul{display: flex;flex-direction: column;max-width: 350px; padding: 0 10px;margin: 0 auto;}
.check_list ul li{font-size: 1.6rem;display: flex;flex-direction:row;align-items: flex-start;position: relative;text-align: left;margin-bottom: 15px;padding-left:40px;}
.check_list ul li::before{ content: "";
 display: inline-block; position: absolute;
background: url("../img/checkbox_list.svg");
background-repeat: no-repeat;
 background-size: contain;
  background-position: center;
width: 30px;
height: 30px;
  top:0;
  left: 0;
  z-index: 10
}
@media all and (min-width: 768px) {
.check_list ul{max-width: 700px;}
.check_list ul li{font-size: 2rem; align-items: center;}
}
/*========================
POINT
========================*/
.point_box_wrap{display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;max-width: 1290px;margin: 0 auto;}
.point_box{
display: flex;
  align-items: center;
  flex-direction: column;
 width:calc(100% - 50px);margin: 25px }
 
 @media all and (min-width: 768px) {
 .point_box_wrap{margin: 0 auto 30px;}
 .point_box{
display: flex;
  align-items: center;
  flex-direction: column;
 width:calc(100% / 3 - 20px);margin: 10px}
 }
 @media all and (min-width: 1024px) {
 .point_box{
display: flex;
  align-items: center;
  flex-direction: column;
 width:calc(100% / 3 - 50px);margin: 25px}
 }
 .point_box h3 {
	border-bottom: 2px solid #A6FF00;
	margin-bottom: 5px;
	display: block;
	width: 100%;
	font-size: 2rem;
	padding: 5px 0;
	font-weight: 500;
}
.point_box h4 {font-weight: 500;font-size: 2rem;margin-bottom: 5px;}
 @media all and (min-width: 768px) {.point_box h3 {font-size: 2rem;}}
 @media all and (min-width: 1024px) {.point_box h3 {font-size: 2.4rem;}}
.point_box p{text-align: left}
.point_img {
	width: 100%;
	position: relative;
	overflow: hidden
}
.point_img img {
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transition: .3s ease-in-out;
	
}
.point_box:hover .point_img img {
	transform: scale(1.2);
	filter: grayscale(90%);
	z-index: 1
}
.point_img .point_ttl {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 7em;
	background: #A6FF00;
	text-align: right;
	padding-right: 10px;
	clip-path: polygon(25% 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 2;
	transition: .3s ease-in-out;
}
.point_box:hover .point_img .point_ttl {
	width: 8em;
	padding-right: 20px;
}
.point_img .point_ttl span {
	color: #000;
	line-height: 2;
	font-family: 'Noto Serif JP', serif;
	font-weight: 900
}
.point_img .point_ttl02 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 7em;
	background: #A6FF00;
	text-align: right;
	padding-right: 10px;
	clip-path: polygon(25% 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 2;
	transition: .3s ease-in-out;
}
.point_box:hover .point_img .point_ttl02 {
	width: 8em;
	padding-right: 20px;
}
.point_img .point_ttl02 span {
	color: #000;
	line-height: 2;
	font-weight: 700
}
.point_box01{position:relative;display:flex;align-items:center;flex-direction:column;width:calc(100% - 10px);margin:5px;padding: 40px 10px 10px;}
@media all and (min-width:768px){
.point_box01{display:flex;align-items:center;flex-direction:column;width:calc(100% / 3 - 10px);margin:5px;padding:40px 5px 15px;}
}
@media all and (min-width:1024px){.point_box01{display:flex;align-items:center;flex-direction:column;width:calc(100% / 3 - 10px);margin:5px;padding:35px 15px 15px;}
}
.point_box01 .point_img01{width:70%;position:relative;overflow:hidden;margin-bottom:15px}
.point_box01 .point_img01 img{width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:.3s ease-in-out}
.point_box01:hover .point_img01 img{transform:scale(1.2);filter:grayscale(90%);z-index:1}
.point_box01 h3.type03{border-bottom:2px solid #A6FF00;margin-bottom:15px;display:block;width:100%;font-size:2rem;padding:5px 0;font-weight:500;color:#fff}
@media all and (min-width:768px){.point_box01 h3.type03{font-size:1.6rem}
}
@media all and (min-width:1024px){.point_box01 h3.type03{font-size:2.4rem}
}
.point_box01 p{text-align: left}
.point_box01 .point_ttl03{position:absolute;display:inline-block;background-color:#000;border:solid 2px #A6FF00;padding-bottom:2px;width:5em;text-align:center;transform:rotate(-20deg);transition:.3s ease-in-out;top:0px;left: 10px}
.point_box01:hover .point_ttl03{transform:scale(1.2)rotate(-20deg);}
.point_box01 .point_ttl03:before,.point_box01 .point_ttl03:after{content:"";position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
.point_box01 .point_ttl03:before{border:solid 12px transparent;border-top:solid 12px #A6FF00}
.point_box01 .point_ttl03:after{border:solid 14px transparent;border-top:solid 14px #000;margin-top:-5px}
.point_box01 .point_ttl03 span{margin:0;padding:0;color: #A6FF00}
/*========================
OWNER_MESSAGE
========================*/
.owner_mess_wrap{position: relative; display: flex; flex-direction:column-reverse;justify-content: flex-start;max-width:768px;padding: 0 15px; margin: 0 auto 35px;}
.owner_mess_text{text-align: left;display: flex; flex-direction: column}
.trainers_photo{position: relative; overflow: hidden;margin-bottom: 15px}
.trainers_photo img{width: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: .3s ease-in-out;
    }
/*.owner_mess_wrap:hover .trainers_photo img{transform:scale(1.2);
	filter: grayscale(90%);z-index: 1}*/
h3.owner_mess_ttl{color:#A6FF00; font-size: 2rem;margin-bottom: 10px }
h4.owner_mess_ttl_sub{ font-size: 1.8rem;font-weight: 500; margin-bottom: 10px;}
.owner_mess_text p{ font-size: 1.4rem}
.owner_profile{max-width:768px;padding: 0 15px; margin: 0 auto 75px;text-align: left}
h3.owner_profile_ttl{font-size: 2rem;margin-bottom: 10px;border-bottom: 2px solid #A6FF00;line-height:1.8}
h4.owner_profile_ttl_sub{font-size: 1.8rem;}
.owner_profile p{padding-bottom: 1em;font-size: 1.4rem}
.owner_profile p:last-child{padding-bottom:0}
@media all and (min-width: 768px) {
.owner_mess_wrap{display: flex; flex-direction: row; justify-content: space-between;max-width: 1280px;padding: 0 10px;}
.owner_mess_text{ margin-right: 5px;width: calc(50% - 5px);}
.trainers_photo{ margin-left: 5px;width: calc(50% - 5px);margin-bottom: 0px}
.trainers_photo img{}
.owner_profile{max-width: 1280px;padding: 0 15px;}
h3.owner_mess_ttl{color:#A6FF00; font-size: 2.2rem }
h4.owner_mess_ttl_sub{ font-size: 2rem}
h3.owner_profile_ttl{font-size: 2.2rem;}
h4.owner_profile_ttl_sub{font-size: 2rem;}
.owner_profile p{}
}
 @media all and (min-width: 1024px) {
.owner_mess_wrap{display: flex; flex-direction: row; justify-content: space-between;max-width: 1280px;padding: 0 25px;}
.owner_mess_text{ margin-right: 25px;width: calc(50% - 25px);display: flex;flex-direction: column;justify-content: center;}
.trainers_photo{ margin-left: 25px;width: calc(50% - 25px);}
.trainers_photo img{}
.owner_profile{max-width: 1280px;padding: 0 25px;}
h3.owner_mess_ttl{color:#A6FF00; font-size: 3rem;margin-bottom: .5em }
h4.owner_mess_ttl_sub{ font-size: 2.6rem;margin-bottom: .5em }
.owner_mess_text p{ font-size: 1.6rem}
h3.owner_profile_ttl{font-size: 3rem;}
h4.owner_profile_ttl_sub{font-size: 2rem;}
.owner_profile p{font-size: 1.6rem}
}
/*========================
MUTUAL_BOX 交互
========================*/
.mutual_box{padding: 0 10px;}
.mutual_box ul{display: flex;flex-direction: column; width: 100%;}
.mutual_box ul li p{font-size: 1.4rem}
.mutual_box ul li {
        display: flex;
        align-items: center;
		width: 100%;flex-direction: column;
		margin-bottom: 15px;
    }
.mutual_box ul li .photo,
.mutual_box ul li .text {
        width: 100%;text-align: left; }
.mutual_box ul li .photo{
margin-bottom: 5px;overflow: hidden;
  aspect-ratio: 1 / 1;
}
.mutual_box ul li .photo img{object-fit: cover;
  width: 100%;
  height: 100%;}	

@media all and (min-width: 768px) {
.mutual_box{max-width: 1280px; padding: 0 15px;margin: 0 auto}
.mutual_box ul{flex-direction: column}
.mutual_box ul li .photo,
.mutual_box ul li .text {
        width: 50%; }
.mutual_box ul li {margin-bottom: 0px;flex-direction: row}
.mutual_box ul li .photo{margin-bottom: 0px;}
.mutual_box ul li:nth-child(odd) {
        flex-direction: row-reverse;
    }
.mutual_box ul li:nth-child(odd) .text {
        padding-right: 15px;text-align: left;
    }
 
.mutual_box ul li:nth-child(even) .text {
        padding-left: 15px;text-align: left;
    }	
}
 @media all and (min-width: 1025px) {
 .mutual_box{max-width: 1280px; padding: 0;margin: 0 auto}
 .mutual_box ul li p{font-size: 1.8rem}
 .mutual_box ul li:nth-child(odd) .text {
        padding-right: 25px;text-align: left;
    }
 
.mutual_box ul li:nth-child(even) .text {
        padding-left: 25px;text-align: left;
    }
 }
  /*========================
CHECK
========================*/
.balloon_box_wrap{ display: flex;
  flex-wrap: wrap;justify-content: center;max-width: 1280px; margin: 0 auto;}
.balloon_box{background: #262525; width:calc(100% - 40px); display: flex; align-content: center; flex-direction: column;
  max-width: 350px;position: relative;margin: 20px}

.balloon_upper {
  position: absolute;
  display: inline-block;
  margin: 0 0 1.5em;
  padding: 7px 10px;
  width: 100%;
  max-width: 350px;
  color: #000;
  font-size: 16px;
  background:#A6FF00;
  text-align: center;
  top:0;
}

.balloon_upper:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #A6FF00;
}

.balloon_upper .ttl {
  margin: 0;
  padding: 0;font-family: 'Noto Serif JP', serif;
  font-weight:900;
  line-height: 2
}
.balloon_lower{background: #262525; padding: 85px 10px 25px;
  min-width: 120px;
  max-width: 100%;display: flex;
  flex-direction: column;justify-content: space-between;
  align-items: center;
  justify-content: center;text-align: center;}
.balloon_lower img{height: 140px;margin-bottom: 10px;max-width: 100%;transition: .3s ease-in-out;}
.balloon_lower img:hover{	}
.balloon_lower .text{height: 3.5em;vertical-align: middle;display: flex;justify-content: center;flex-direction: column;}
.balloon_lower .text p{padding-bottom: 0!important}
@media all and (min-width: 768px) {
.balloon_box{width:calc(100% / 3 - 40px);
}

}
 /*========================
CONCEPT
========================*/
.top_concept{padding: 0 10px;}
.concept01 {margin-bottom: 50px}
.concept02{padding-top: 50px}
.concept01 .text{text-align: left}
.concept02 .text{text-align: left}
.top_concept .photo{margin-bottom: 5px;overflow: hidden;
  aspect-ratio: 1 / 1;}
.top_concept .photo img{object-fit: cover;
  width: 100%;
  height: 100%;}
  .concept01,.concept02{display: flex; flex-direction:column-reverse;}
  .pad_type01{padding: 50px 0}
  @media all and (min-width: 768px) {
.top_concept{max-width: 1280px; padding: 0 15px;margin: 0 auto}
 .concept01{display: flex; flex-direction: row;margin-bottom: 75px }
 .concept02{display: flex; flex-direction: row;margin-bottom: 75px }
 .concept01 .text,.concept01 .photo{ width: 50%;display: flex;flex-direction: column;justify-content: center; }
 .concept02 .text,.concept02 .photo{ width: 50%;display: flex;flex-direction: column;justify-content: center; }
 .concept01 .text{padding-left: 15px;}
 .concept02 .text{padding-right: 15px;}
 .concept02 .btn-two-outer{}
 .pad_type01{padding: 75px 0}
}
 @media all and (min-width: 1025px) {
 .top_concept{max-width: 1280px; padding: 0;margin: 0 auto}
 .concept01 .text{padding-left: 25px;}
.concept02 .text{padding-right: 25px;}
 }
  /*========================
TOPICS
========================*/
.topics{text-align: left; padding: 0 10px;}
  @media all and (min-width: 768px) {
  .topics{max-width: 1280px; padding: 0 15px;margin: 0 auto}
  }
 @media all and (min-width: 1025px) {
  .topics{max-width: 1280px; padding: 0 25px;margin: 0 auto}
 }
.topics_ttl{font-size: 2rem;padding-bottom: .5em;}
.topics_text{}

/*========================
COLUMN
========================*/
.column{text-align: left; padding: 0 10px;}
.column_ttl{display: block; padding-top: 0.15em; }
.column_date{padding: 0.15em 0}
.column_cat{padding: 0.15em 0.25em;border: 1px solid #fff;text-align: center}

.column ul li a{display: flex;flex-direction: column; align-items: flex-start;box-sizing: border-box;}
@media all and (min-width: 768px) {
.column{max-width: 1280px; padding: 0 15px;margin: 0 auto}
.column_ttl{width: calc(100% - 17em); padding-left: 1em;}
.column_date{width: 7em;padding: 0.15em 0}
.column_cat{width: 9em;padding: 0.15em 0;border: 1px solid #fff;text-align: center}
.column ul li a{display: flex;flex-direction: row;align-items: flex-start;box-sizing: border-box}}
@media all and (min-width: 1025px) {
.column{max-width: 1280px; padding: 0 25px;margin: 0 auto}
}

.column ul li a:hover .column_ttl span{border-bottom:1px solid #fff;}
.column ul{padding-bottom: 35px}




/*20230131*/
.balloon_right {
  position: relative;
  padding:.5em .5em .5em 8em;
  background: #262525;
  text-align: left;max-width:480px; margin-bottom: 15px;
    display: flex;
  align-items: center;font-size: 2rem;
}

.balloon_right span {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 2rem;
  height: 100%;
  color: #000;
  background: #FF6600;
  display: flex;
  align-items: center;
  font-family: 'Noto Serif JP', serif;font-weight: 900;font-size: 2.2rem;
}

.balloon_right span:after {
  position: absolute;
  top: calc(50% - 10px);
  right: -14px;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 0 10px 15px;
  border-style: solid;
  border-color: transparent transparent transparent #FF6600;
}
@media all and (min-width: 768px) {
.balloon_right {max-width: 1280px; margin: 0 0 15px;height: 80px;font-size: 2.2rem;}
.balloon_right span {font-size: 2.4rem;}
}
@media all and (min-width: 1025px) {
.balloon_right {max-width: 1230px; margin: 0 auto 30px;font-size: 2.6rem;}
.balloon_right span {font-size: 2.8rem;}
}
.voice_wrap{max-width:480px; margin: 0 5px 25px;}

.voice_wrap dl{text-align: left;}
.voice_wrap dt{border-left: 5px solid #A6FF00;padding-left: 1rem;font-size: 1.8rem; font-weight: 700;margin-bottom: .5em}
.voice_wrap dd{padding-left: 1.5rem;margin-bottom: 1em}
@media all and (min-width: 768px) {
.voice_wrap{
max-width: 1230px; margin: 0 15px 75px;
}
.voice_profile{margin-bottom: 15px}
}
@media all and (min-width: 1025px) {
.voice_wrap {max-width: 1230px; margin: 0 auto 75px;}
.voice_wrap{margin-bottom: 75px!important}
}
.voice_result{ display: flex;
  justify-content: center;
  align-items: center;  background: #262525;padding: .5em; width: 100%;margin-bottom: 15px}
.voice_inner{display: flex;flex-direction: column;  }
.voice_inner_right{margin-bottom: 15px}
.voice_inner_right img{width: 100%}
.voice_result .before_weight{font-size: 1.8rem;width:40%;text-align: left;white-space: nowrap;padding-right: 1em;}
.voice_result .after_weight{font-size: 2rem;font-weight: 700;padding-right: .5em;padding-left: 1em;width:20%;white-space: nowrap}
.voice_result .after_weight span{font-size:80%}
.voice_result svg{height: 20px; width: auto;}
.result_red{color: #FE1732;font-weight: 700;font-size: 2rem;width:25%;white-space: nowrap;text-align: right;}
.result_red span{font-size:80%}
@media all and (min-width: 768px) {
.voice_inner{flex-direction: row; justify-content: space-between;  }
.voice_inner_right{width: 25%}
.voice_inner_left{width:calc(75% - 15px);margin-right: 15px;}
.voice_result .before_weight{font-size: 2.4rem;padding-left:0em}
.voice_result .after_weight{font-size: 3.6rem;padding-left: .5em}
.voice_result svg{height: 30px; width: auto;}
.result_red{font-size: 3.6rem;}
.voice_profile_detail{font-size: 2.4rem;}
}
@media all and (min-width: 1025px) {
.voice_inner_left{width:calc(75% - 25px);margin-right: 25px;}
.voice_result .before_weight{font-size: 2.8rem;}
.voice_result .after_weight{font-size:4rem;}
.result_red{font-size: 4rem;}
.voice_profile_detail{font-size: 2.8rem;}
}
/*20230215追加*/
/*========================
PRICE_BOX
========================*/
.course_price_wrap ul {
  margin-bottom: 0px
}

.price_box {
  background: #262525;
  margin-bottom: 15px;
  padding: 15px;
}
.price_box h3 {
  border-bottom: 3px solid #A6FF00;
  margin-bottom: 15px;
  font-size: 3rem;
  padding-bottom: 10px;
}
.price_box p {
/*  margin-bottom: 15px;*/
  flex-grow: 1;
  font-size: 2rem;
}
.price_box p span.small {
  font-size: 1.6rem;
}
.price_box .course_price {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #A6FF00;
  border-radius: 50vh;
  color: #000;
  margin-bottom: 5px;
  font-size: 3rem;
  padding: 2px;
  width: 100%;
  font-weight: 700;
}
.price_box.type02 .course_price {
  margin-bottom: 35px !important;
}
.price_box .course_price .yen {
  font-size: 75%;
}
.price_box .course_price .tax {
  font-size: 50%;
}
.price_box .text_box {
  display: flex;
  flex-direction: column;
}
.price_box.type02 {
  margin-bottom: 35px !important;
}
@media all and (min-width: 768px) {
  .price_box {
    margin-bottom: 15px;
    text-align: left;
  }
.price_box:last-child{margin-bottom: 50px;}
  .price_box.type02 .course_price {
    margin-bottom: 15px !important;
  }
  .price_box .course_price {
    width: 30%;
    white-space: nowrap;
  }
  .price_box .text_box {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
}
@media all and (min-width: 1024px) {
  .price_box {
    margin: 25px 25px 50px 25px;
    text-align: left;
  }
  .price_box .course_price {
    width: 29%;
    font-size: 3.6rem;
  }
}
.admission_fee {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
}
.course_price_wrap .admission_fee li {
  background: #000;
  text-align: center
}
.course_price_wrap .admission_fee li p {
  font-weight: 500;
  padding-bottom: 0;
  font-size: 2.4rem
}
@media all and (min-width: 768px) {
  .admission_fee {
    flex-direction: row;
    justify-content: space-between;
  }
}
.icon_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  max-width: 1280px;
  margin: 0 auto 50px;
}
.icon_wrap li{width:calc(25% - 10px);margin:5px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.icon_circle {
  position: relative;
  width: 80px;
  height: 80px;
  background-color: #262525;
  border-radius: 50%;
  text-align: center;
  z-index: 1;
  margin: 0 auto 10px
}
.icon_wrap li p {font-size: 0.8rem;padding: 0 0 10px;}
.icon_circle::after {
  top: -7px;
  left: -7px;
  padding: 7px;
  box-shadow: 0 0 0 4px #A6FF00;
  -webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
  -webkit-transform: scale(.8);
  -moz-transition: -moz-transform 0.2s, opacity 0.2s;
  -moz-transform: scale(.8);
  -ms-transform: scale(.8);
  transition: transform 0.2s, opacity 0.2s;
  transform: scale(.8);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  content: '';
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.icon_wrap li:hover .icon_circle::after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
.icon_circle img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 60%;
}
@media all and (min-width: 768px) {
  .icon_wrap {
    flex-wrap: nowrap;
  }
  .icon_wrap li {
    width: calc(25% - 30px);
  }
  .icon_circle {
    width: 150px;
    height: 150px;
  }
  .icon_wrap li p {
    font-size: 1.6rem
  }
}
@media all and (min-width: 1021px) {
  .icon_wrap li {
    width: calc(25% - 50px);
  }
  .icon_circle {
    width: 250px;
    height: 250px;
  }
}
.plan_wrap {
  margin: 50px auto 50px;
}
.price_box .text_box table{  flex-grow: 1;font-size: 2rem;margin-bottom: 15px;}
.price_box .text_box table th{width: 9em;font-weight: inherit;text-align: left}
.text_box table td{text-align: left}
@media all and (max-width: 480px) {
.price_box .text_box table th,.price_box .text_box table td{width: 100%; display: block}
}