@charset "UTF-8";
@media screen and (max-width: 1120px){

*{
	margin:0;
	padding:0;
}

:root{
	--color01: #1e7f4b;
	--color01B: rgba( 45, 146, 91, 0.1);
	--color02: #003590;
	--color03: #996600;
	--level04: #99cccc;
	--level03: #00cccc;
	--level02: #669999;
	--level01: #339999;
}

html{
	font-size: 62.5%;
}

body{ 
	color: #000;
	margin:0;
	padding:0;
	font-family: 'Noto Sans JP', sans-serif;
	width:100%;
	webkit-text-size-adjust: 100%;
}

img{
	border:0;
	margin:0;
	vertical-align: bottom;
}

table,tr,td{
	border-collapse: collapse; 
}

ul{
	list-style-type: none;
}

a,a img,button{
	transition: 0.3s ease-in-out;
}

a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.clear{
	clear:both;
}

.clearfix:after{
	content: "";
	display: block;
	clear: both;
}

.sp_none{
	display:none;
}

.ff_pop{
	font-family: 'Poppins', sans-serif;
}

#style01{
	width:100%;
}

.ul_style{
	padding-top: 81px;
}



/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　ヘッダー ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

header{
	position: fixed;
	top: 0;
	box-sizing: border-box;
	width: 100%;
	padding: 0 3vw;
	z-index: 10000;
}
.top_header{
	transform: translateX(-50%);
	top: 10px;
	left: 50%;
}
.kaso_header{
	background: #fff;
}
.header01{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	padding: 7px;
	border-radius: 7px;
	background: #fff;
	font-size: 1.4rem;
}

.header01 h1{
	font-size: 1.4rem;
}

.header01 h1 img{
	width: 132px;
}

.sp_menu_button{
	position: relative;
	width: 30px;
	height: 30px;
	background: var(--color01);
}

.sp_menu_button span{
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 2px;
	background: #fff;
	transition: 0.3s ease-in-out;
}

.sp_menu_button span:nth-child(1){
	top: 25%;
}

.sp_menu_button span:nth-child(2){
	top: 50%;
}

.sp_menu_button span:nth-child(3){
	top: 75%;
}

.sp_menu_button.active span:nth-child(1){
	top: 50%;
	transform: translate(-50%, -50%) rotateZ(45deg);
}

.sp_menu_button.active span:nth-child(2){
	opacity: 0;
}

.sp_menu_button.active span:nth-child(3){
	top: 50%;
	transform: translate(-50%, -50%) rotateZ(-45deg);
}

.header01 nav{
	position: absolute;
	top: 110%;
	left: 0;
	display: none;
	box-sizing: border-box;
	width: 100%;
	padding: 2vw;
	border-radius: 2vw;
	background: #fff;
	z-index: 10000;
}

.kaso_header .header01 nav{
	top: 100%;
}

.h01_menu_list01 > li{
	margin-bottom: 3vw;
	font-size: 1.8rem;
	font-weight: 700;
}

.h01_list01_item{
	margin-bottom: 0.5vw;
	color: #333;
}

.header01_list02{
	padding-left: 1em;
	font-size: 1.6rem;
}

.header01_list02 > li{
	margin-right: 3vw;
}

.h01_menu_list01 > li a,
.header01_list02 a{
	position: relative;
	display: inline-block;
	padding-left: 0.7em;
	color: var(--color01);
	text-decoration: none;
}

.h01_menu_list01 > li a:after,
.header01_list02 a:after{
	position: absolute;
	top: 0.8em;
	left: 0;
	transform: translateY(-50%);
	content: "";
	border-left: 0.5em var(--color01) solid;
	border-top: 0.3em transparent solid;
	border-bottom: 0.3em transparent solid;
}

.h01_menu01:not(:last-child){
	margin-bottom: 1vw;
}

.h01_menu01 a{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 10vw;
	border-radius: 20px;
	color: #fff;
	text-decoration: none;
	line-height: 1;
}

.h01_menu01.con a{
	border: 1px var(--color01) solid;
	background: var(--color01);
}

.h01_menu01.con a:hover{
	background: #fff;
	color: var(--color01);
}

.h01_menu01.exp a{
	border: 1px var(--color02) solid;
	background: var(--color02);
}

.h01_menu01.exp a:hover{
	background: #fff;
	color: var(--color02);
}

.h01_menu01 a svg{
	margin-right: 5px;
	fill: #fff;
	transition: 0.3s ease-in-out;
}

.h01_menu01.con a:hover svg{
	fill: var(--color01);
}

.h01_menu01.exp a:hover svg{
	fill: var(--color02);
}

.header02{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 7px;
	font-size: 1.2rem;
	font-weight: 700;
}

.kaso_header .header02{
	padding-bottom: 7px;
	margin-top: 0;
}

.h02_menu_list{
	display: flex;
	align-items: center;
}

.h02_menu_list li{
	margin-right: 3vw;
	color: #fff;
}

.h02_menu_list li a{
	color: #fff;
	text-decoration: none;
}

.top_header .h02_menu_list li a{
	text-shadow: 0 0 3px #333;
}

.kaso_header .header02 a{
	color: #000;
}

.h02_menu_list li a:hover{
	text-decoration: underline;
}

.h02_menu_sns{
	display: flex;
	align-items: center;
}

.h02_menu_sns li:not(last-child){
	margin-right: 3vw;
}

.h02_menu_sns img{
	width: 20px;
}



/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　フッター ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

footer{
	padding: 15vw 3vw 0;
	background: url("./img/footer_bg.jpg") center bottom/auto 547.5px repeat-X;
}

.footer01{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 5vw;
}

.footer_logo,
.footer_sns{
	display: flex;
	align-items: center;
}

.footer_logo{
	padding-top: 5vw;
	justify-content: center;
}

.footer_logo li:nth-child(1){
	width: 42vw;
	margin-right: 3vw;
}

.footer_logo li:nth-child(2){
	width: 20vw;
}

.footer_logo img,
.footer_sns img{
	width: 100%;
}

.footer_sns li{
	width: 8vw;
	margin-left: 3vw;
}

.footer02{
	padding: 0 3vw 5vw;
	border-bottom: 1px rgba(0, 53, 144, 0.3) solid;
	margin: 0 auto;
}

.f02_list01{
	margin-bottom: 3vw;
	font-size: 1.3rem;
}

.f02_list01:after{
	content: "";
	display: block;
	clear: both;
}

.f02_list01 > li{
	float: left;
	width: 48%;
	margin-bottom: 2%;
}

.f02_list01 > li:first-child{
	margin-right: 4%;
}

.f02_list01_item01{
	margin-bottom: 2vw;
	font-weight: 700;
}

.f02_list01_item01 a{
	color: #000;
}

.f02_list01_item01 a:hover{
	text-decoration: none;
}

.f02_list02 > li{
	position: relative;
	padding-left: 0.75em;
}

.f02_list02 > li:not(:last-child){
	margin-bottom: 1vw;
}

.f02_list02 > li:before{
	position: absolute;
	left: 0;
	content: "-";
}

.f02_list02 > li.no_icon:before{
	display: none;
}

.f02_list02 > li.no_icon span{
	font-weight: bold;
}

.f02_list02 > li a{
	color: #000;
	text-decoration: underline;
}

.f02_list02 > li a:hover{
	text-decoration: none;
}
.f02_list03{
	margin-top: 1vw;
}

.f02_list03 > li{
	position: relative;
	padding-left: 0.75em;
}

.f02_list03 > li:not(:last-child){
	margin-bottom: 1vw;
}

.f02_list03 > li:before{
	position: absolute;
	left: 0;
	content: "-";
}

.footer_copy{
	padding: 5vw 3vw 5vw;
	color: #666;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
}







/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　index ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.main_img{
	position: relative;
	height: 120vw;
	/*margin-bottom: 18vw;*/
	margin-bottom: 5vw;
	padding-top: 20px;
	height: auto;
}
.slick-slide img {
	width: 100%;
}

/*
.main_img_cacth{
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 95%;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
	white-space: nowrap;
}


.index_en .main_img_cacth{
	top: 64%;
	font-size: 2rem;
	white-space: normal;
}

.main_img_link{
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 50%);
}

.main_img_link a{
	position: relative;
	display: block;
	width: 90vw;
	height: 15vw;
	border-radius: 5vw;
	background: #fff;
	box-shadow: 0 0 30px rgba(30, 123, 73, 0.38);
	text-decoration: none;
}

.main_img_link img{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60%;
}

.main_img_link a:hover img{
	opacity: 1;
}

.main_img_link div{
	position: absolute;
	top: 50%;
	left: 25%;
	transform: translateY(-50%);
	color: var(--color01);
	font-size: 1.4rem;
	font-weight: 700;
}

.index_en .main_img_link div{
	padding-right: 40px;
}

.main_img_link span{
	position: absolute;
	top: 50%;
	right: 3vw;
	transform: translateY(-50%);
	width: 6vw;
	height: 6vw;
	border: 1px var(--color01) solid;
	border-radius: 22px;
	background: var(--color01);
	transition: 0.3s ease-in-out;
}

.main_img_link a:hover span{
	background: #fff;
}

.main_img_link a span:after{
	position: absolute;
	top: 50%;
	left: 48%;
	transform: translate(-50%, -50%) rotateZ(-45deg);
	content: "";
	width: 1vw;
	height: 1vw;
	border-right: 2px #fff solid;
	border-bottom: 2px #fff solid;
}

.main_img_link a:hover span:after{
	border-color: var(--color01);
}
*/


.index_section01{
	margin-bottom: 12vw;
}

.is_subtitle01{
	color: var(--color01);
	font-size: 1.3rem;
	text-align: center;
	letter-spacing: 0.08em;
}

.is_title01{
	font-size: 2rem;
	text-align: center;
	letter-spacing: 0.08em;
}

.is01_box01_wrap{
	padding: 0 3vw;
	margin-top: 14vw;
}

.is01_box01:not(:last-child){
	margin-bottom: 8vw;
}

.is01_box01_data{
	margin-bottom: 5vw;
}

.is01_count{
	position: relative;
	padding-left: 22vw;
	margin-bottom: 1vw;
	color: var(--color01);
	font-size: 1.3rem;
	letter-spacing: 0.08em;
}

.is01_count:before{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: "";
	width: 20vw;
	height: 2px;
	background: var(--color01);
}

.is01_title{
	margin-bottom: 2vw;
	color: var(--color01);
	font-size: 2rem;
	letter-spacing: 0.02em;
}

.is01_text01{
	margin-bottom: 4vw;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}

.is_link_design a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 14vw;
	border: 1px var(--color01) solid;
	border-radius: 7vw;
	background: var(--color01);
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	text-decoration: none;
}

.is_link_design a:hover{
	background: #fff;
	color: var(--color01);
}

.is_link_design a span{
	position: absolute;
	top: 50%;
	right: 2vw;
	transform: translateY(-50%);
	width: 10vw;
	height: 10vw;
	border-radius: 5vw;
	background: #fff;
	transition: 0.3s ease-in-out;
}

.is_link_design a:hover span{
	background: var(--color01);
}

.is_link_design a span:after{
	position: absolute;
	top: 50%;
	left: 48%;
	transform: translate(-50%, -50%) rotateZ(-45deg);
	content: "";
	width: 1.6vw;
	height: 1.6vw;
	border-right: 2px var(--color01) solid;
	border-bottom: 2px var(--color01) solid;
}

.is_link_design a:hover span:after{
	border-color: #fff;
}

.is01_link a{
	box-shadow: 5px 5px 15px #D9E6E6;
}

.is01_box01_img{
	border-radius: 3vw;
	overflow: hidden;
}

.is01_box01_circle{
	display: none;
}

.is01_box01_img img{
	width: 100%;
}



.index_section02{
	margin-bottom: 9vw;
}

.is02_box{
	padding: 0 3vw;
	margin-top: 5vw;
}

.is02_box_img01{
	border-radius: 3vw;
	overflow: hidden;
}

.is02_box_img01 img{
	width: 100%;
}

.is02_box01{
	display: flex;
	flex-wrap: wrap;
	margin: -5vw auto 0;
}

.is02_list01{
	display: flex;
	width: 96%;
	border-radius: 3vw 3vw 0 0;
	margin: 0 auto 3vw;
	overflow: hidden;
}

.is02_list01 li{
	width: calc(100% / 3);
	height: 10vw;
	background: #fff;
	cursor: pointer;
}

.is02_list01 li div{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: var(--color01);
	opacity: 0.8;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	transition: 0.3s ease-in-out;
}

.is02_list01 li.active div{
	opacity: 1;
}

.is02_list01 li div span{
	font-size: 0.7rem;
	font-weight: 400;
}

.is02_list02{
}

.is02_box01_program{
	display: none;
	box-sizing: border-box;
	width: 100%;
	padding: 0 3vw;
}

.is02_box01_program.show{
	display: block;
}

.is02_box_img02{
	width: 80%;
	border-radius: 3vw;
	margin: 0 auto 6vw;
	overflow: hidden;
	flex-shrink: 0;
}

.is02_box_img02 img{
	width: 100%;
}

.is02_catch{
	margin-bottom: 2vw;
	font-size: 2rem;
	font-weight: 700;
}

.is02_title{
	color: var(--color01);
	font-size: 1.4rem;
	font-weight: 700;
}

.is02_day{
	margin-bottom: 3vw;
	color: var(--color01);
	font-size: 1.1rem;
	font-weight: 700;
}

.is02_text{
	margin-bottom: 4vw;
	font-size: 1.4rem;
	font-weight: 500;
}

.is02_attr{
	margin-bottom: 4vw;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
}

.is02_attr ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.1rem;
	font-weight: 700;
}

.is02_attr li{
	padding: 1vw 2vw;
	border: 1px var(--color01) solid;
	border-radius: 5vw;
	margin: 0 1vw 1vw 0;
	color: var(--color01);
}

.is02_link a{
	margin-left: auto;
	box-shadow: 5px 5px 15px #D9E6E6;
}



.index_section03{
	padding-bottom: 14vw;
}

.is03_box{
	padding: 0 3vw;
	margin: 8vw auto 0;
}

.is03_list01{
	display: flex;
	justify-content: space-between;
	margin-bottom: 5vw;
}

.is03_list01 li{
	position: relative;
	width: 30vw;
	height: 40vw;
	border-radius: 3vw;
	overflow: hidden;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}

.is03_list01 li.active{
	box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
}

.is03_list01 li img{
	height: 40vw;
}

.is03_list01 li:nth-child(1) img{
	position: absolute;
	right: -70vw;
}

.is03_list01 li:nth-child(2) img{
	position: absolute;
	right: -75vw;
}

.is03_list01 li:nth-child(3) img{
	position: absolute;
	right: -25vw;
}

.is03_list01_box{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 0 10vw 3vw;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	letter-spacing: 0.08em;
}

.is03_list01 li.active .is03_list01_box{
	background: rgba(45, 146, 91, 0.4);
}

.is03_title01{
	font-size: 0.8rem;
}

.is03_title02{
	font-size: 1.2rem;
}

.is03_list01_box span{
	position: absolute;
	left: 50%;
	bottom: 2vw;
	transform: translateX(-50%);
	width: 8vw;
	height: 8vw;
	border-radius: 50%;
	background: #fff;
	transition: 0.3s ease-in-out;
}

.is03_list01_box span:after{
	position: absolute;
	top: 50%;
	left: 48%;
	transform: translate(-50%, -50%) rotateZ(45deg);
	content: "";
	width: 5px;
	height: 5px;
	border-right: 2px var(--color01) solid;
	border-bottom: 2px var(--color01) solid;
}

.is03_list02{
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 8vw 6vw;
	border-radius: 3vw;
	box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
}

.is03_list02_tri{
	display: none;
}

.is03_list02 > ul{
	display: flex;
	align-items: center;
}

.is03_list02 > ul > li{
	display: none;
}

.is03_list02 > ul > li.show{
	display: block;
}

.is03_text{
	margin-bottom: 3vw;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.is03_text p:not(:last-child){
	margin-bottom: 1em;
}

.is03_img{
	display: flex;
	justify-content: center;
}

.is03_img li{
	width: 48%;
	border-radius: 3vw;
	overflow: hidden;
}

.is03_img li:not(:last-child){
	margin-right: 4%;
}

.is03_img li img{
	width: 100%;
}


.is03_img_single{
	display: flex;
	justify-content: space-between;
}

.is03_img_single li{
	width: 100%;
	border-radius: 3vw;
	overflow: hidden;
}

.is03_img_single li img{
	width: 100%;
}





.index_section04{
	padding: 8vw 3vw;
	background: rgba( 45, 146, 91, 0.1);
}

.index_section04 .news_list{
	margin-top: 6vw;
	margin-bottom: 9vw;
}

.news_list li:not(:last-child){
	margin-bottom: 3vw;
}

.news_list li a{
	position: relative;
	display: block;
	padding-right: 25px;
	text-decoration: none;	
}

.news_list01{
	display: flex;
	align-items: center;
	margin-bottom: 1vw;
}

.news_list_date{
	margin-right: 2vw;
	color: #999;
	font-size: 1rem;
	font-weight: 700;
}

.news_list_cate{
	width: 75px;
	padding: 4px 0 5px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.news_en .news_main .news_list_cate{
	width: 150px;
}

.cate_color1{
	background: var(--color03);
}

.cate_color2{
	background: var(--color01);
}

.cate_color3{
	background: var(--color02);
}

.cate_color4{
	background: #b70a00;
}

.cate_color5{
	background: #ffa54d;
}

.news_list02{
	color: #333;
	font-size: 1.4rem;
	font-weight: 700;
}

.news_list li a:hover .news_list02{
	color: var(--color01);
}

.news_list li a span{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.news_list li a span img{
	width: 21px;
}

.index_banner{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.index_banner li{
	width: 48%;
	margin: 0 2% 2% 0;
}

.index_banner li:nth-child(even){
	margin-right: 0;
}

.index_banner li img{
	width: 100%;
}



.index_section05{
	padding: 6vw 3vw 7vw;
	background: var(--color01);
	color: #fff;
}

.index_section05 .is_subtitle01{
	margin-bottom: 2vw;
	color: #fff;
}

.is05_link01{
	margin: 5vw 0;
}

.is05_link01.is_link_design a{
	padding: 0 14vw;
	font-size: 1.2rem;
	border-color: #fff;
}

.is05_box > div{
	font-weight: 500;
}

.is05_box_l{
	margin-bottom: 5vw;
}

.is05_phone{
	width: 302px;
	margin-bottom: 2vw;
}

.is05_phone img{
	width: 100%;
}

.is05_phone_rt{
	margin-bottom: 5vw;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
}

.is05_map{
	margin-bottom: 5vw;
}

.is05_map iframe{
	width: 100%;
}

.is05_address{
	margin-bottom: 5vw;
	font-size: 1.4rem;
	font-style: normal;
	letter-spacing: 0.02em;
}

.is05_link02.is_link_design a{
	border-color: #fff;
}

.is05_box_r dl{
	margin-bottom: 2vw;
}

.is05_box_r dt{
	margin-bottom: 1vw;
	font-size: 1.3rem;
	letter-spacing: 0.02em;
}

.is05_box_r dd input,
.is05_box_r dd textarea{
	box-sizing: border-box;
	width: 100%;
	padding: 2vw;
	border: none;
	border-radius: 2vw;
	background: #fff;
	font-size: 1.4rem;
}

.is05_box_r dd textarea{
	min-height: 10em;
	resize: vertical;
}

.is05_box_r dd .error{
	margin-top: 1vw;
}

.is05_box_r dd .error span{
	color: #fff33e;
	font-weight: bold;
}

.is05_box_r dd .error img{
	width: 15px;
	margin-right: 5px;
	font-size: 1.3rem;
}

.is05_form_button{
	margin-top: 4vw;
	text-align: center;
}

.is05_form_button button{
	box-sizing: border-box;
	width: 170px;
	height: 32px;
	border: 1px #fff33e solid;
	border-radius: 16px;
	background: #fff33e;
	color: var(--color01);
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
}

.is05_form_button button:hover{
	background: #fff;
}

.is05_form_button button img{
	width: 16px;
	margin-right: 5px;
}

.is05_form_button input{
	box-sizing: border-box;
	width: 167px;
	height: 54px;
	border: 1px #fff33e solid;
	border-radius: 27px;
	background: #fff33e;
	color: var(--color01);
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
}

ul.slick-dots {
    text-align: center;
    width: 100%;
    margin-top: 30px;
}

ul.slick-dots li {
    display: inline-block;
    width: 80px;
    text-align: center;
    padding: 0 10px;
}

ul.slick-dots li button {
    display: block;
    width: 60px;
    height: 3px;
    text-indent: -88888px;
    border: none;
    border-radius: 0;
    background-color: #E5E5E5;
    padding: 0;
}

ul.slick-dots li.slick-active button {
    background-color: #000;
}




/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　受講生の声と現在の活躍 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.ul_title01{
	padding: 4vw 3vw;
	background: var(--color01);
}

.ul_title01 h1{
	color: #fff;
	font-size: 2rem;
}

.ul_wrap{
	padding: 12vw 0 18vw;
}

.ul_title02{
	padding-bottom: 1vw;
	border-bottom: 2px var(--color01) solid;
	margin-bottom: 3vw;
	color: var(--color01);
	font-size: 2rem;
}




.comments_text01{
	padding: 0 3vw;
	margin-bottom: 8vw;
	font-size: 2rem;
	font-weight: bold;
}

.com_list01{
	padding: 0 3vw;
}

.com_list01 > li{
	padding: 6vw 3vw;
	border-radius: 3vw;
	box-shadow: 0 0 10px rgba(45, 146, 91, 0.38);
	font-size: 1.6rem;
}

.com_list01 > li:not(:last-child){
	margin-bottom: 10vw;
}

.com_list01_prof{
	margin-bottom: 4vw;
	text-align: center;
}

.com_list01_img{
	margin-bottom: 2vw;
}

.com_list01_name{
	font-weight: bold;
}

.com_list01_country{
	margin-bottom: 2vw;
	font-size: 1.4rem;
}

.com_list01_course span{
	display: inline-block;
	padding: 5px 10px 8px;
	color: #fff;
	line-height: 1;
}

.com_list01_course .c_color01{
	background: var(--color01);
}

.com_list01_course .c_color02{
	background: var(--color02);
}

.com_list01_course .c_color03{
	background: var(--color03);
}

.com_list01_comment{
	line-height: 1.8;
}

.com_list01_text01:not(:last-child),
.com_list01_morelink{
	margin-bottom: 3vw;
}

.com_list01_morelink{
	text-align: center;
}

.com_list01_faq + .com_list01_morelink{
	margin-top: 3vw;
 }

.com_list01_morelink span{
	display: inline-block;
	padding: 1vw 6vw 2vw;
	border-radius: 6vw;
	color: #fff;
	line-height: 1;
	background: var(--color01);
	cursor: pointer;
}

.com_list01_more{
	display: none;
}

.com_list01_text02 a{
	color: var(--color01);
	text-decoration: none;
}

.com_list01_text02 a:hover{
	text-decoration: underline;
}

.com_list01_moreimg{
	margin-top: 2vw;
	text-align: center;
}

.com_list01_moreimg img{
	max-width: 100%;
}

.com_list01_faq{
	width: 100%;
	padding: 3vw 0;
}

.com_list01_faq:not(:last-child){
	border-bottom: 1px #ccc solid;
}

.com_list01_faq dt{
	position: relative;
	padding-left: 2em;
	color: var(--color01);
	cursor: pointer;
}

.com_list01_faq dt span{
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	padding: 2px 5px 8px;
	border-radius: 50%;
	background: var(--color01);
	color: #fff;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.com_list01_faq dd{
	display: none;
	padding: 3vw 0 0 2em;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　交通アクセス ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.map_section01{
	margin-bottom: 4vw;
}

.map_section_box{
	padding: 0 3vw;
	font-size: 1.6rem;
}

.map_section_box address{
	margin-bottom: 1.5em;
	font-style: normal;
}

.map_text{
	margin-bottom: 1vw;
}

.map_img img{
	width: 100%;
}

.map_img img:not(:last-child){
	margin-bottom: 1vw;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　沿革 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.base_tb{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.base_tb th{
	padding: 5px;
	border: 1px #333 solid;
	background: var(--color01);
	color: #fff;
}

.history_section01 .base_tb th{
	white-space: nowrap;
}

.base_tb td{
	padding: 5px;
	border: 1px #aaa solid;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　所長メッセージ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.message_section_box{
	margin: 0 3vw;
	font-size: 1.6rem;
}

.message_text{
	margin-bottom: 5vw;
}

.message_text p:first-letter{
	padding-left: 1em;
}

.message_text p:not(:last-child){
	margin-bottom: 1.5em;
}

.message_prof_box{
	padding: 6vw 3vw;
	border-radius: 3vw;
	background: #fff;
	box-shadow: 0 0 10px rgba(45, 146, 91, 0.38);
}

.message_prof{
	margin-bottom: 4vw;
}

.message_prof01{
	padding-bottom: 2vw;
	border-bottom: 1px var(--color01) solid;
	margin-bottom: 2vw;
	font-weight: bold;
}

.message_img{
	text-align: center;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　IECとは ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.iec_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.iec_text01{
	margin-bottom: 8vw;
}

.iec_flex{
	margin-bottom: 6vw;
}

.iec_flex_l{
	margin-bottom: 4vw;
}

.iec_flex_l h3{
	margin-bottom: 2vw;
}

.iec_flex_l span{
	position: relative;
	display: inline-block;
	padding: 2px 30px 6px 30px;
	background: var(--color02);
	color: #fff;
	font-size: 1.4rem;
}

.iec_flex_l span:before{
	position: absolute;
	top: 50%;
	left: 10px;
	content: "▲";
	transform: translateY(-50%) rotateZ(90deg);
	font-size: 1rem;
}

.iec_flex_r{
	text-align: center;
}

.iec_flex_r > img{
	box-shadow: 0 3px 6px #999;
}

.iec_flex_r > img:not(:last-child){
	margin-bottom: 2vw;
}

.iec_flex_r.logo img{
	width: 100%;
}

.iec_text02:not(:last-child){
	margin-bottom: 4vw;
}

.iec_text03{
	margin-bottom: 4vw;
}

.iec_banner{
	margin-top: -2vw;
}

.iec_banner img{
	width: 100%;
}



/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　レギュラープログラム ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.reg_section01,
.reg_section02,
.reg_section03{
	margin-bottom: 10vw;
}

.reg_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.reg_text01{
	margin-bottom: 8vw;
}

.reg_section01_flex:not(:last-child){
	margin-bottom: 6vw;
}

.reg_section01_flex > div:not(:last-child){
	margin-bottom: 4vw;
}

.pro_tb{
	width: 100%;
}

.pro_tb:not(:last-child){
	
}

.pro_tb th{
	padding: 10px;
	border: 1px #333 solid;
	color: #fff;
	text-align: left;
}

.reg_tb th{
	background: var(--color01);
}

.part_tb th{
	background: var(--color03);
}

.pro_tb td{
	padding: 10px;
	border: 1px #aaa solid;
}

.reg_tb td.point{
	background: rgba( 45, 146, 91, 0.1);
	text-align: center;
}

.pro_tb td ul{
	margin-left: 1.2em;
	list-style-type: disc;
}

.pro_tb td ol{
	margin-left: 1.2em;
}

.pro_tb_a{
	font-size: 1.8rem;
	font-weight: bold;
}

.reg_link_button01:not(:last-child){
	margin-bottom: 2vw;
}

.reg_link_button01 a{
	position: relative;
	display: inline-block;
	padding: 5px 40px 5px 20px;
	border: 1px var(--color01) solid;
	border-radius: 20px;
	background: var(--color01);
	color: #fff;
	text-decoration: none;
}

.reg_link_button01 a:hover{
	background: #fff;
	color: var(--color01);
}

.reg_link_button01 a span{
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	color: var(--color01);
	transition: 0.3s ease-in-out;
}

.reg_link_button01 a:hover span{
	background: var(--color01);
	color: #fff;
}

.reg_link_button01 a span:before{
	position: absolute;
	top: 50%;
	left: 45%;
	transform: translate(-50%, -50%) rotateZ(-45deg);
	content: "";
	width: 4px;
	height: 4px;
	border-right: 1px var(--color01) solid;
	border-bottom: 1px var(--color01) solid;
}

.reg_link_button01 a:hover span:before{
	border-color: #fff;
}



.gakki_img{
	margin-bottom: 2vw;
}

.gakki_img img{
	width: 100%;
}

.gakki_list{
	padding-left: 1em;
	list-style-type: disc;
}



.reg_section03_table{
	margin-bottom: 6vw;
}

.list_tb,
.list_tb tbody,
.list_tb tr,
.list_tb th,
.list_tb td{
	/*display: block;*/
}

.list_tb tr:not(:last-child){
	margin-bottom: 2vw;
}

.list_tb td{
	padding: 10px 5px;
	text-align: right;
}

.list_tb td:not(:first-child){
	border-top: none;
}

.list_tb td::before{
  content: attr(data-label);
  float: left;
  font-weight: bold;
}

.list_tb thead{
}

.pro_title{
	margin-bottom: 2vw;
}

.reg_section03_link{
}

.reg_section03_link > a{
	display: block;
	box-sizing: border-box;
	padding: 15px;
	border: 1px var(--color01) solid;
	border-radius: 50px;
	background: var(--color01);
	color: #fff;
	text-align: center;
	text-decoration: none;
}

.reg_section03_link > a:not(:last-child){
	margin-bottom: 2vw;
}

.reg_section03_link > a:hover{
	background: #fff;
	color: var(--color01);
}

.reg_section03_link > a h4{
	margin-bottom: 2px;
}



.reg_section04_flex{
	margin-bottom: 5vw;
}

.reg_section04_img{
	margin-bottom: 3vw;
}

.reg_section04_img img{
	width: 100%;
}

.reg_section04_data dl:not(:last-child){
	margin-bottom: 1em;	
}

.reg_section04_data dt{
	font-weight: bold;
}

.reg_section04_img02,
.reg_section04_text:not(:last-child){
	margin-bottom: 2vw;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　レギュラープログラム コース概要 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.reg_check{
	display: flex;
	margin-bottom: 3vw;
}

.reg_check li{
	position: relative;
	padding-left: 20px;
	margin-right: 20px;
	color: #d91d33;
	font-size: 1.4rem;
}

.reg_check li:before{
	position: absolute;
	top: 3px;
	left: 2px;
	transform: rotateZ(45deg);
	content: "";
	width: 6px;
	height: 10px;
	border-right: 2px #d91d33 solid;
	border-bottom: 2px #d91d33 solid;
}

.reg_navi{
}

.reg_navi li{
	margin-bottom: 1vw;
}

.reg_navi li a{
	position: relative;
	display: block;
	padding: 7px 20px;
	border: 1px var(--color01) solid;
	border-radius: 20px;
	background: var(--color01);
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
}

.reg_navi li a:hover{
	background: #fff;
	color: var(--color01);
}

.reg_navi li a:after{
	position: absolute;
	top: 53%;
	right: 14px;
	transform: translatey(-50%);
	content: "";
	border-left: 6px transparent solid;
	border-right: 6px transparent solid;
	border-top: 8px #fff solid;
}

.reg_navi li a:hover:after{
	border-top-color: var(--color01);
}

.reg_navi02{
}

.reg_navi02 li{
	padding: 3px 10px;
}

.reg_navi02 li:not(:last-child){
	border-bottom: 1px #ccc solid;
}

.reg_navi02 li a{
	color: var(--color01);
	text-decoration: none;
}

.reg_navi02 li a:hover{
	text-decoration: underline;
}

.reg_app1_flex{
	margin-bottom: 4vw;
}

.reg_app1_img{
	margin-bottom: 3vw;
}

.reg_app1_img img{
	width: 100%;
}

.reg_app1_data h3{
	margin-bottom: 2vw;
}

.reg_app1_box01{
	padding: 3vw;
	margin-bottom: 3vw;
	background: var(--color01B);
}

.reg_app1_flex_text{
	margin-bottom: 1vw;
}

.reg_app1_text01{
	margin-bottom: 2vw;
}

.reg_app1_data .color{
	color: #d91d33;
}

.reg_app1_ol{
	padding-left: 1.5em;
	margin-bottom: 3vw;
}

.reg_app1_flex02{
	padding: 3vw;
	background: var(--color01B);
}

.reg_app1_flex02:not(:last-child){
	margin-bottom: 5vw;
}

.reg_app1_flex02_text{
	margin-bottom: 3vw;
	font-size: 2rem;
	font-weight: bold;
}

.reg_app1_flex02_l{
	margin-bottom: 5vw;
}

.reg_app1_flex02_l:after{
	content: "";
	clear: both;
}

.reg_app1_text02{
	margin-bottom: 2vw;
}

.reg_app1_flex02_r{
	font-size: 1.6rem;
}

.reg_app1_flex02_dl{
	box-sizing: border-box;
	padding: 3vw;
	margin-bottom: 2vw;
	background: #fff;
}

.reg_app1_flex02_dl h3{
	margin-bottom: 1vw;
	font-size: 1.4rem;
	text-align: center;
}

.dl_shoshiki{
	margin-bottom: 2vw;
	color: var(--color01);
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}

.reg_app1_flex02_dl .dl_list li:not(:last-child){
	margin-bottom: 2vw;
}

.reg_app1_flex02_dl .dl_list li a{
	padding: 2vw 4vw;
	border-radius: 10vw;
	font-size: 1.4rem;
}

.document_dl:not(:last-child){
	margin-right: 3vw;
}

.document_dl dt{
	margin-bottom: 2vw;
}

.document_dl dt h3{
	color: var(--color01);
}

.document_dd01{
	margin-bottom: 3vw;
}

.document_dd02{
	margin-bottom: 3vw;
	font-size: 1.4rem;
}

.document_dd02 h4{
	margin-bottom: 1vw;
}

.reg_app1_contact{
	padding: 3vw;
	margin-bottom: 3vw;
	background: var(--color01B);
}

.reg_app1_contact_text{
	margin-bottom: 2vw;
	font-size: 1.8rem;
}

.reg_back{
	font-size: 1.4rem;
}

.app02_text01{
	margin-bottom: 3vw;
}

.app02_text02{
	margin-bottom: 2vw;
}

.app02_text03{
	margin-bottom: 3vw;
	color: #666;
	font-size: 1.4rem;
}








/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　パートタイムプログラム ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.part_tb th{
	background: var(--color03);
}

.part_wrap .reg_link_button01 a{
	border-color: var(--color03);
	background: var(--color03);
}

.part_wrap .reg_link_button01 a:hover{
	background: #fff;
	color: var(--color03);
}

.part_wrap .reg_link_button01 a:hover span{
	background: var(--color03);
}

.part_wrap .reg_link_button01 span:before{
	border-color: var(--color03);
}


.part_wrap .ul_title02{
	border-color: var(--color03);
	color: var(--color03);
}

.part_wrap .reg_section03_link a{
	border-color: var(--color03);
	background: var(--color03);
}

.part_wrap .reg_section03_link a:hover{
	background: #fff;
	color: var(--color03);
}



.part_flex01_l{
	margin-bottom: 8vw;
}

.part_level_list li{
	display: flex;
}

.part_level_list li:not(:last-child){
	margin-bottom: 2vw;
}

.part_level_list01{
	width: 90px;
	flex-shrink: 0;
}

.part_level_list01 span{
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	padding: 1px 2px 3px;
	border-radius: 30px;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.part_level_list01 .level04{
	background: var(--level04);
}

.part_level_list01 .level03{
	background: var(--level03);
}

.part_level_list01 .level02{
	background: var(--level02);
}

.part_level_list01 .level01{
	background: var(--level01);
}

.part_level_list02{
	margin-left: 10px;
}


.part_flex01_r{
	box-sizing: border-box;
	padding: 6vw 3vw;
	border-radius: 3vw;
	box-shadow: 0 0 10px rgba(153, 102, 0, 0.38);
}

.part_level_text{
	margin-bottom: 4vw;
}

.part_diffi{
	display: none;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　プライベートレッスン ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.pri_wrap .ul_title02{
	border-color: var(--color02);
	color: var(--color02);
}

.pri_wrap .reg_section03_link a{
	border-color: var(--color02);
	background: var(--color02);
}

.ri_wrap .reg_section03_link a:hover{
	background: #fff;
	color: var(--color02);
}

.pri_tb th{
	background: var(--color02);
	border-color: #000;
}


.pri_ol_list01{
	padding-left: 1.5em;
	margin-bottom: 5vw;
}

.pri_dl01{
	display: flex;
	width: 100%;
}

.pri_dl01 dt{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	padding: 5px 10px;
	border: 1px #000 solid;
	border-radius: 50px 0 0 50px;
	background: var(--color02);
	color: #fff;
	font-weight: bold;
	flex-shrink: 0;
}

.pri_dl01 dd{
	width: 100%;
	padding: 5px 15px;
	border: 1px #aaa solid;
	border-radius: 0 50px 50px 0;
}

.pri_ul_list01{
	padding-left: 1.5em;
	list-style-type: disc;
}



.pri_flex{
	padding: 6vw 3vw;
	background: #d1e0ff;
}

.pri_flex_l{
	padding: 4vw;
	margin-bottom: 4vw;
	background: #fff;
}

.pri_flex_l h3{
	margin-bottom: 4vw;
	text-align: center;	
}

.dl_list li:not(:last-child){
	margin-bottom: 4vw;
}

.dl_list li a{
	display: flex;
	justify-content: center;
	padding: 1vw 4vw;
	border-radius: 4vw;
	font-weight: bold;
	text-decoration: none;
}

.dl_list_pdf a{
	border: 1px #df5656 solid;
	color: #df5656;
}

.dl_list_excel a{
	border: 1px #1ecc2d solid;
	color: #1ecc2d;
}

.dl_list_word a{
	border: 1px #3942c2 solid;
	color: #3942c2;
}

.dl_list li a:hover{
	opacity: 0.7;
}

.dl_list  li a img{
	width: 20px;
	margin-right: 3vw;
}

.pri_flex_text{
	margin-bottom: 3vw;
}

.pri_contact{
}

.pri_tel{
	padding-left: 30px;
	margin-bottom: 3vw;
	background: url("./img/program/pri_phone_icon.png") left 5px/22px no-repeat;
	font-size: 2rem;
	font-weight: bold;
}

.pri_contact01{
	padding-left: 30px;
	background: url("./img/program/pri_mail_icon.png") left 5px/22px no-repeat;
	font-size: 2rem;
	font-weight: bold;
}

.pri_contact01 a{
	text-decoration: none;
}

.pri_contact01 a:hover{
	text-decoration: underline;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　パンフレットダウンロード ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.pdl_section01{
	font-size: 1.6rem;
}

.pdl_section_box{
	padding: 0 3vw;
}

.pdl_section_text01{
	margin-bottom: 4vw;
}

.pdl_section_flex01{
	margin-bottom: 6vw;
}

.pdl_section_text02{
	margin-bottom: 3vw;
}

.pdl_section_img01{
	border: 1px #999 solid;
}

.pdl_section_img01 img{
	width: 100%;
}

.pdl_section_box01:not(:last-child){
	margin-bottom: 6vw;
}

.pdl_section_flex02{
	display: flex;
}

.pdl_section_img02{
	margin-right: 3vw;
}

.pdl_section_button{
	margin-bottom: 3vw;
}

.pdl_section_button li:not(:last-child){
	margin-bottom: 2vw;
}

.pdl_section_button li a{
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	padding: 5px;
	border: 1px var(--color01) solid;
	border-radius: 5vw;
	background: var(--color01);
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}

.pdl_section_button li a:hover{
	background: #fff;
	color: var(--color01);
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　法人日本語研修 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.corp_section01,
.corp_section02,
.corp_section03{
	margin-bottom: 10vw;
}

.corp_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.corp_text01{
	margin-bottom: 5vw;
}

.corp_text01 a{
	color: var(--color01);
	text-decoration: none;
}

.corp_text01 a:hover{
	text-decoration: underline;
}



.corp_achievement_box{
	padding: 7vw 0;
}

.corp_achievement_box:not(:last-child){
	border-bottom: 2px #ccc dashed;
}

.corp_achievement_box h3{
	font-size: 2rem;
	text-align: center;
	margin-bottom: 5vw;
}

.corp_achievement_box h3 span{
	display: inline-block;
	padding: 2vw 6vw;
	background: var(--color01);
	color: #fff;
	box-shadow: 2vw 2vw 0 #105b33;
}

.corp_achievement_list01,
.corp_achievement_list02{
	display: flex;
	flex-wrap: wrap;
}

.corp_achievement_list01:not(:last-child){
	margin-bottom: 10vw;
}

.corp_achievement_list01 li,
.corp_achievement_list02 li{
	width: 48%;
	margin: 0 4% 4% 0;
}

.corp_achievement_list02 li{
	position: relative;
	box-sizing: border-box;
	margin-bottom: 2%;
	padding-left: 1.1em;
}

.corp_achievement_list02 li:before{
	position: absolute;
	left: 0;
	content: "・";
}

.corp_achievement_list01 li:nth-child(even),
.corp_achievement_list02 li:nth-child(even){
	margin-right: 0;
}

.corp_achievement_list01 li:nth-last-child(-n+2),
.corp_achievement_list02 li:nth-last-child(-n+2){
	margin-bottom: 0;
}

.corp_achievement_logo{
	text-align: center;
}

.corp_achievement_logo img{
	max-width: 100%;
}



.corp_case_box{
	border: 2px var(--color01) solid;
	border-radius: 5vw;
	overflow: hidden;
}

.corp_case_box:not(:last-child){
	margin-bottom: 6vw;
}

.corp_case_box h3{
	padding: 2vw 4vw;
	background: var(--color01);
	color: #fff;
	font-size: 1.8rem;
}

.corp_case_box01{
	padding: 2vw 3vw;
}

.corp_case_box01 dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.corp_case_box01 dt{
	box-sizing: border-box;
	width: 50px;
	padding: 2vw;
	background: var(--color01B);
}

.corp_case_box01 dd{
	box-sizing: border-box;
	width: calc(50% - 50px);
	padding: 2vw;
}

.corp_eng .corp_case_box01 dt,
.corp_eng .corp_case_box01 dd{
	width: 50%;
}

.corp_case_box01 dt:not(:last-of-type),
.corp_case_box01 dd:not(:last-of-type){
	margin-bottom: 2vw;
}

.corp_case_img{
	margin-top: 4vw;
	text-align: center;
}

.corp_case_img img{
	max-width: 100%;
}


/*

.corp_flex01 > div:not(:last-child){
	margin-bottom: 5vw;
}

.corp_text02{
	margin-bottom: 3vw;
}

.corp_dl{
	padding: 5vw 0;
	border-top: 1px #ccc solid;
}

.corp_dl dt{
	display: flex;
	margin-bottom: 3vw;
}

.corp_dl dt h3{
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: 36px;
	padding: 5px 35px 5px 5px;
	background: var(--color01);
	color: #fff;
}

.corp_dl dt h3:after{
	position: absolute;
	top :0;
	right: 0;
	content: "";
	border-top: 18px transparent solid;
	border-bottom: 16px transparent solid;
	border-right: 18px #fff solid;
}

.corp_list01{
	padding-left: 1.5em;
	margin-bottom: 3vw;
	list-style-type: disc;
}



.corp_img01{
}

.corp_img01 li:not(:last-child){
	margin-bottom: 3vw;
}

.corp_img01 img{
	height: 13vw;
}
*/

.corp_contact{
	padding: 3vw;
	background: var(--color01B);
}

.corp_contact a{
	color: var(--color01);
}

.corp_flex02 > ul{
	margin-bottom: 0;
}






/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　よくある質問 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.faq_section01{
	margin-bottom: 10vw;
}

.faq_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.faq_dl_box{
	margin-bottom: 5vw;
}

.faq_dl_box:nth-last-child(-n+2){
	margin-bottom: 0;
}

.faq_dl dt{
	position: relative;
	padding: 10px 40px 10px 40px;
	margin-bottom: 10px;
	background: var(--color01B);
}

.faq_dl dt:before{
	position: absolute;
	top: 5px;
	left: 5px;
	content: "Q";
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	padding-top: 3px;
	border-radius: 50%;
	background: var(--color01);
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.faq_dl dt:after{
	position: absolute;
	top: 53%;
	right: 14px;
	transform: translatey(-50%);
	content: "";
	border-left: 6px transparent solid;
	border-right: 6px transparent solid;
	border-top: 8px var(--color01) solid;
	transition: 0.3s ease-in-out;
}

.faq_dl dt.active:after{
	top: 50%;
	transform: translatey(-50%) rotateZ(180deg);
}

.faq_dl dd{
	display: none;
	padding: 0 10px 20px;
	border-bottom: 1px #ccc solid;
}

.faq_dl dd:not(:last-child){
	margin-bottom: 20px;
}

.faq_dl ul{
	padding-left: 1.5em;
	list-style-type: disc;
}

.faq_dl_text01:not(:last-child),
.faq_dl ul:not(:last-child){
	margin-bottom: 4vw;
}

.faq_dl ul li:not(:last-child){
	margin-bottom: 1vw;
}

.faq_dl .reg_link_button01:not(:last-child){
	margin-bottom: 2vw;
}

.faq_dl dd > a,
.faq_dl dd li > a{
	color: var(--color01);
	text-decoration: none;
}

.faq_dl dd > a:hover,
.faq_dl dd li > a:hover{
	text-decoration: underline;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　体験受講について ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.trial_section01{
	margin-bottom: 10vw;
}

.trial_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.trial_list{
	padding-left: 1.5em;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　お知らせ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.news_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.news_main{
	margin-bottom: 8vw;
}

.pager{
	display: flex;
	justify-content: center;
	margin-top: 6vw;
}

.pager li:not(:last-child){
	margin-right: 1vw;
}

.pager a{
	color: var(--color01);
	text-decoration: none;
}

.pager a:hover{
	text-decoration: underline;
}


.news_side{
	display: flex;
}

.news_side_box{
	box-sizing: border-box;
	width: 100%;
	border: 2px var(--color01) solid;
	border-radius: 5vw;
	overflow: hidden;
}

.news_side_box:not(:last-child){
	margin-right: 3vw;
}

.news_side_box h3{
	padding: 1vw 2vw;
	background: var(--color01);
	color: #fff;
}

.news_side_list{
	padding: 1vw 2vw 2vw;
}

.news_side_list li{
	padding: 1vw;
}

.news_side_list li:not(:last-child){
	border-bottom: 1px #ccc dotted;
}

.news_side_list li a{
	color: var(--color01);
	text-decoration: none;
}

.news_side_list li a:hover{
	text-decoration: underline;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　お知らせ詳細 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.news_detail_dc{
	display: flex;
	align-items: center;
	margin-bottom: 2vw;
}

.news_detail_date{
	color: #999;
	margin-right: 2vw;
}

.news_detail_cate{
	width: 100px;
	padding: 6px 10px;
	color: #fff;
	text-align: center;
	line-height: 1;
}

.news_en .news_detail_cate{
	width: 190px;
}

.news_detail_title{
	padding-bottom: 1vw;
	border-bottom: 2px var(--color01) solid;
	margin-bottom: 4vw;
	color: var(--color01);
}

.news_datail_subject{
	padding-bottom: 4vw;
	border-bottom: 1px #aaa dotted;
}
.news_datail_subject img{
	max-width:100%;
	height:auto;
	margin:1em 0;
}

.page{
	text-align:center;
	margin:80px 0;
}




/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　このサイトについて ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.about_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.about_section_text01{
	margin-bottom: 5vw;
}

.about_section_text02{
	margin-bottom: 2vw;
}

.about_section_list{
	padding-left: 1.5em;
	margin-bottom: 5vw;
	list-style-type: disc;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　個人情報保護の取り扱いについて ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.ii_section_list{
	padding-left: 1.5em;
}

.ii_section_list ul{
	padding-left: 1em;
	list-style-type: disc;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　採用情報／Job Opportunities ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.rec_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.rec_section_box a{
	color: var(--color01);
	text-decoration: none;
}

.rec_section_box a:hover{
	text-decoration: underline;
}

.rec_text01:not(:last-child){
	margin-bottom: 6vw;
}

.rec_dl{
	border-bottom: 1px #ccc solid;
	margin-bottom: 6vw;
}

.rec_dl dt{
	float: left;
	box-sizing: border-box;
	width: 80px;
	padding: 2vw 0;
	border-top: 1px #ccc solid;
}

.rec_dl dd{
	box-sizing: border-box;
	width: calc(100% - 80px);
	padding: 2vw 0;
	margin-left: 80px;
	border-top: 1px #ccc solid;
}

.rec_section_box ul{
	padding-left: 1em;
	list-style-type: disc;
}

.rec_flex01{
	margin-bottom: 6vw;
}

.rec_flex01 > div:not(:last-child){
	margin-bottom: 4vw;
}

.rec_flex01 h3{
	margin-bottom: 2vw;
	font-size: 2rem;
}

.rec_flex01 ul,
.rec_text02{
	margin-bottom: 3vw;
}

.rec_flex01 ol{
	padding-left: 1em;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　受講相談予約・お問い合わせフォーム ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.contact_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.contact_box01{
	margin-bottom: 6vw;
}

.contact_en_text01{
	margin-bottom: 4vw;
	text-align: center;
}

.contact_box01 .mand2{
	color: #d91d33;
	font-size: 2rem;
	font-weight: bold;
}

.pdt1{
	padding-top: 12px;
}

.contact_box01 dt{
	padding: 3vw;
	margin-bottom: 2vw;
	background: var(--color01B);
}

.contact_box01 ruby{
}

.contact_box01 rt{
}

.contact_box01 dt .mand{
	display: inline-block;
	padding: 1vw 2vw;
	border-radius: 30px;
	margin-left: 2vw;
	background: #d91d33;
	color: #fff;
	line-height: 1;
}

 .contact_box01 dt .mand2{
	margin-left: 2vw;
}

.contact_box01 dd{
	display: flex;
	padding: 3vw;
	margin-bottom: 2vw;
}

.contact_box01 dd .input_name{
	width: 50%;
}

.contact_box01 dd .input_name:not(:last-child),
.contact_box01 dd .radio_label:not(:last-child){
	margin-right: 3vw;
}

.contact_box01 dd .radio_label{
	display: inline-block;
}

.contact_box01 dd .radio_label input{
	margin-right: 2vw;
}

.contact_box01 dd input[type="text"],
.contact_box01 dd input[type="tel"],
.contact_box01 dd input[type="email"],
.contact_box01 dd textarea
{
	box-sizing: border-box;
	width: 100%;
	padding: 2vw;
	border: 1px #666 solid;
	font-size: 1.4rem;
}

.contact_box01 dd select{
	box-sizing: border-box;
	width: 100%;
	padding: 2vw;
	border: 1px #666 solid;
	border-radius: 0;
	background: #fff;
	font-size: 1.4rem;
}

.contact_box01 dd textarea{
	min-height: 10em;
	resize: vertical;
}

.contact_text01{
	margin-bottom: 2vw;
}

.dd_fw{
	flex-wrap: wrap;
}

.input_width01,
.input_width02{
	width: 100%;
}

.input_group{
	display: flex;
	margin-bottom: 2vw;
}

.input_group select{
	width: 100%;
}

.input_group span{
	padding: 2vw;
	border: 1px #666 solid;
	border-left: none;
	white-space: nowrap;
}

.con_cor_list01{
	width: 100%;
}

.con_cor_list01 > li{
	padding: 2vw;
}

.con_cor_list01 > li:not(:last-child){
	border-bottom: 1px #ccc dashed;
}

.con_cor_list02{
	padding-top: 0;
	padding-left: 4vw;
}

.con_cor_list02 label{
	padding-top: 12px;
}

.wid100{
	width: 100%;
}

.con_flex{
	display: flex;
}

.radio_label + .con_flex{
	margin-top: 2vw;
}

dt .sp_dt_flex{
	display: flex;
}

dt .sp_dt_flex .pdt1{
	padding-top: 0;
}

dd.sp_dd_block{
	display: block;
}

.contact_button{
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact_button button,
.contact_button a{
	padding: 5px 10px;
	border: 1px var(--color01) solid;
	border-radius: 50px;
	margin: 0 10px;
	background: var(--color01);
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
}

.contact_button button:hover,
.contact_button a:hover{
	background: #fff;
	color: var(--color01);
}

.contact_button .back{
	border-color: #333;
	background: #333;
}

.contact_button .back:hover{
	background: #fff;
	color: #333;
}

.contact_policy{
	padding: 3vw;
	margin-top: 6vw;
	border: 1px var(--color01) solid;
}

.contact_policy h3{
	margin-bottom: 2vw;
}

.con_po_flex_l{
	margin-bottom: 4vw;
}

.contact_policy_text{
	margin-bottom: 3vw;
}

.contact_done_text{
	margin-bottom: 8vw;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　日本語研修所が選ばれる理由 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.reason_section01,
.reason_section02,
.reason_section03,
.reason_section04{
	margin-bottom: 10vw;
}

.reason_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.reason_section_box a{
	color: var(--color01);
	text-decoration: none;
}

.reason_section_box a:hover{
	text-decoration: underline;
}

.reason_text01:not(:last-child){
	margin-bottom:6vw;
}

.reason_list01{
	padding-left: 1.5em;
	list-style-type: disc;
}

.reason_list01:not(:last-child){
	margin-bottom:3vw;
}

.reason_img01{
	text-align: center;
}

.reason_img02{
	display: flex;
	justify-content: center;
	align-items: center;
}

.reason_img02.sp_no_flex{
	display: block;
}

.reason_img02 > div:not(:last-child){
	margin-right:3vw;
}

.reason_img02.sp_no_flex > div:not(:last-child){
	margin-right:0;
	margin-bottom: 3vw;
}

.reason_img01 img,
.reason_img02 img{
	max-width: 100%;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　日米会話学院　概要 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.overview_wrap{
	padding-bottom: 0;
}

.overview_wrap section{
	padding: 8vw 0;
}

.overview_wrap section:nth-of-type(even){
	background: var(--color01B);
}

.overview_box01{
	margin: 0 3vw 5vw;
}

.ul_title03{
	margin-bottom: 4vw;
	color: var(--color01);
	font-size: 3rem;
	text-align: center;
}

.ul_title03 span{
	position: relative;
	display: inline-block;
	padding: 0 5vw;
}

.ul_title03 span:before,
.ul_title03 span:after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	width: 4vw;
	height: 2px;
	background: var(--color01);
}

.ul_title03 span:before{
	left: 0;
}

.ul_title03 span:after{
	right: 0;
}





/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　プログラムの紹介 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

.program_wrap section:not(:last-child){
	margin-bottom: 10vw;
}

.program_section_box{
	margin: 0 3vw;
	font-size: 1.4rem;
}

.program_list01 li:not(:last-child){
	margin-bottom: 6vw;
}

.program_list01 li h3{
	padding: 2vw 4vw;
	margin-bottom: 2vw;
	color: #fff;
	font-size: 1.8rem;
}

.program_list01_reg h3{
	background: var(--color01);
}

.program_list01_part h3{
	background: var(--color03);
}

.program_list01_pri h3{
	background: var(--color02);
}

.program_list01_text{
	margin-bottom: 4vw;
	font-size: 1.6rem;
}

.program_list01_link a{
	position: relative;
	display: inline-block;
	padding: 5px 40px 5px 20px;
	border-radius: 20px;
	color: #fff;
	text-decoration: none;
}

.program_list01_reg .program_list01_link a{
	border: 1px var(--color01) solid;
	background: var(--color01);
}

.program_list01_part .program_list01_link a{
	border: 1px var(--color03) solid;
	background: var(--color03);
}

.program_list01_pri .program_list01_link a{
	border: 1px var(--color02) solid;
	background: var(--color02);
}

.program_list01_link a:hover{
	background: #fff;
}

.program_list01_reg .program_list01_link a:hover{
	color: var(--color01);
}

.program_list01_part .program_list01_link a:hover{
	color: var(--color03);
}

.program_list01_pri .program_list01_link a:hover{
	color: var(--color02);
}

.program_list01_link a span{
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
	transition: 0.3s ease-in-out;
}

.program_list01_reg .program_list01_link a:hover span{
  background: var(--color01);
}

.program_list01_part .program_list01_link a:hover span{
  background: var(--color03);
}

.program_list01_pri .program_list01_link a:hover span{
  background: var(--color02);
}

.program_list01_link a span:before{
  position: absolute;
  top: 50%;
  left: 45%;
  transform: translate(-50%, -50%) rotateZ(-45deg);
  content: "";
  width: 4px;
  height: 4px;
}

.program_list01_reg .program_list01_link a span:before{
	border-right: 1px var(--color01) solid;
	border-bottom: 1px var(--color01) solid;
}

.program_list01_part .program_list01_link a span:before{
	border-right: 1px var(--color03) solid;
	border-bottom: 1px var(--color03) solid;
}

.program_list01_pri .program_list01_link a span:before{
	border-right: 1px var(--color02) solid;
	border-bottom: 1px var(--color02) solid;
}

.program_list01_link a:hover span:before{
	border-color: #fff;
}



.program_text01{
	margin-bottom: 6vw;
}

.program_text01 a{
	color: var(--color01);
	text-decoration: none;
}

.program_text01 a:hover{
	text-decoration: underline;
}

.program_text01 + .pro_tb{
	margin-bottom: 6vw;
}

.program_section_box .reg_tb a{
	color: var(--color01);
	text-decoration: none;
}

.program_section_box .reg_tb a:hover{
	text-decoration: underline;
}

.program_h3{
	margin-bottom: 3vw;
}

.program_h3 span{
	display: inline-block;
	padding: 2px 20px 6px;
	line-height: 1;
}

.program_h3.reg_h3 span{
	border: 2px var(--color01) solid;
	color: var(--color01);
}

.program_h3.part_h3 span{
	border: 2px var(--color03) solid;
	color: var(--color03);
}

.program_h3.pri_h3 span{
	border: 2px var(--color02) solid;
	color: var(--color02);
}

.program_h3 + .base_tb{
	margin-bottom: 6vw;
}

.program_text02{
	margin-bottom: 4vw;
}

.program_dl01{
	margin-bottom: 6vw;
}

.program_dl01 dt{
	font-weight: bold;
	margin-bottom: 2vw;
}

.program_dl01 dd{
	margin-bottom: 3vw;
}

.program_img01{
	margin-bottom: 6vw;
}

.program_img01 img{
	width: 100%;
}

.program_dl02{

}

.program_dl02 dt{
	display: flex;
	padding: 2vw 3vw;
	margin-bottom: 3vw;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
}

.bg_level01{
	background: #399;
}

.bg_level02{
	background: #0cc;
}

.bg_level03{
	background: #9cc;
}

.program_dl02 dt > div:first-child{
	flex-shrink: 0;
}

.program_dl02 dd{
	padding: 3vw;
	border: 2px solid;
}

.bg_level01 + dd{
	border-color: #399;
}

.bg_level02 + dd{
	border-color: #0cc;
}

.bg_level03 + dd{
	border-color: #9cc;
}

.program_dl02 dd:not(:last-child){
	margin-bottom: 6vw;
}

.program_dl02_list01{
	padding-left: 1em;
	margin-bottom: 3vw;
	list-style-type: disc;
}

.program_dl02 dd h4{
	margin-bottom: 2vw;
}

.program_dl02_list02{
	margin-bottom: 4vw;
	flex-shrink: 0;
}

.program_dl02_list02 li:not(:last-child){
	margin-bottom: 2vw;
}

.program_dl02_list02 li a{
	display: inline-block;
	padding: 2px 15px 5px;
	border: 1px var(--color01) solid;
	border-radius: 30px;
	background: var(--color01);
	color: #fff;
	font-size: 1.3rem;
	text-decoration: none;
}

.program_dl02_list02 li a:hover{
	background: #fff;
	color: var(--color01);
}

.program_dl02_comment{
	color: #666;
	font-size: 1.2rem;
}

.program_dl02_list03{
	display: flex;
	flex-wrap :wrap;
	justify-content: center;
}

.program_dl02_list03 li:not(:last-child){
	margin: 0 1vw;
}

.program_dl02_list03 li img{
	width: 150px;
}

.program_dl02_list03 .program_dl02_comment{
	width: 100%;
}

.program_text03{
	margin-top: 2vw;
}

.program_text03 a{
	color: var(--color01);
	font-weight: bold;
	text-decoration: none;
}

.program_text03 a:hover{
	text-decoration: underline;
}


.program_section_reg:not(:last-child){
	margin-bottom: 7vw;
}

.program_section_reg .reg_section_box:not(:last-child){
	margin-bottom: 6vw;
}

.program_section_reg .reg_section_box > h4{
	margin-bottom: 3vw;
	font-size: 2rem;
	line-height: 1;
}



.program_section05 .ul_title02{
	color: var(--color03);
	border-color: var(--color03);
}

.program_part_pdf{
	margin-top: 5vw;
}

.program_part_pdf > li{
	margin-bottom: 1.4em;
}

.program_part_pdf > li a{
	display: inline-block;
	padding: 2px 20px 5px;
	border: 1px var(--color03) solid;
	border-radius: 30px;
	background: var(--color03);
	color: #fff;
	text-decoration: none;
}

.program_part_pdf > li a:hover{
	background: #fff;
	color: var(--color03);
}

.program_part_cam{
	margin: 3vw 0;
}

.program_part_cam01{
	color: #d91d33;
	font-size: 1.6rem;
	font-weight: bold;
}

.program_part_cam02{
	margin-top: 0.8em;
	text-align: center;
}

.program_part_cam02 img{
	width: 200px;
}

.program_part_pdf ul{
	padding-left: 2em;
	list-style-type: disc;
	font-size: 1.4rem;
}

.program_part_policy01{

}

.program_part_policy02 a{
	color: var(--color01);
	text-decoration: none;
}

.program_part_policy02 a:hover{
	text-decoration: underline;
}



.program_section06 .ul_title02{
	color: var(--color02);
	border-color: var(--color02);
}



.pri_title span{
	display: inline-block;
	padding: 2px 20px 6px;
	border: 2px var(--color02) solid;
	color: var(--color02);
	line-height: 1;
}



.news_more01 a{
	width:250px;
	margin:0 auto 100px auto;
	color:#FFF;
	display:block;
	background: var(--color01);
	padding:10px;
	text-align:center;
	font-size:18px;
	border-radius:10px;
	border:1px var(--color01) solid;
	text-decoration:none;
}
.news_more01 a:hover{
	color:var(--color01);
	display:block;
	background-color:#fff; 
	border:1px var(--color01) solid;
}

.voice_mv01{
	width:100%;
}
.voice_mv01 iframe{
	width:100%;
	height:15em;
}


.banner202310{
	width:100%;
	margin:0 auto 3em auto;
}

.banner202310 img{
	width:100%;
}


.header_gengo01{
width: 100%;
margin:0 auto;
}
.header_gengo02{
	text-align:right;
}
.header_gengo02 select{
	font-size:16px;
}
.header_gengo_kaso01{
width: 100%;
margin:0 auto;
}
.header_gengo_kaso02{
	text-align:right;
}
.header_gengo_kaso02 select{
	font-size:16px;
}
.top_main_image01{
	position: absolute;
    bottom:-20px;
	width:100%;
}
.top_main_image02{
	width:90%;
	margin:0 auto;
}
.top_main_image02 img{
	width:100%;
}

.top_main_image02 a:hover{
	opacity: 1;
}
.camp_banner01{
	width: 80%;
    margin: 0 auto;
}
.camp_banner01 a{
	display:block;
	background-color:#FF6600;
	color:#FFFFFF;
	border-radius:10px;
	padding:15px 2em;
	text-align:left;
	text-decoration:none;
	background-image:url("./img/camp_icon01.png");
	background-repeat:no-repeat;
	background-position:right center;
}
.camp_banner02{
	font-size:1.5em;
	line-height:1;
	font-weight:bold;
}
.camp_banner03{
	font-size:4em;
	font-weight:bold;
	line-height:1;
}
.camp_banner03 span{
	font-size:0.7em;
	font-weight:bold;
	line-height:1;
}
}