@charset "utf-8";


/* small.css */

@media screen and (max-width: 767px) {

	html {
		font-size: 53.125%; /* 8.5px */
	}

	body {
		min-width: initial;
		min-width: auto; /* For IE11以下 */
	}

	h1.jp {font-size: 2.6rem;}

	a[href^="tel:"] {
		pointer-events: auto;
	}

	.float_l_bl ,
	.float_r_bl {
		float: none;
		display: block;
		margin: 0px auto 15px;
	}

	.sp_block {display: block;}
	.sp_none {display: none;}

	.sp_textleft {text-align: left;}


/* table
------------------------------------- */
	.bs_table01_price th:first-child {width: 130px;}

	.bs_table02 th ,
	.bs_table02b th {
		width: 88px;
	}


/* header
--------------------------------------------------------------------------- */
	header {
		min-width: initial;
		min-width: auto;
	}

	.bs_header_in {
		width: 100%;
		display: block;
		padding: 0 15px;
	}

	.bs_header_title_wrap {margin: 0;}
	.bs_header_title_wrap p {
		font-size: 1.3rem;
		margin: 0;
		line-height: 1;
	}

	.bs_header_logo {width: 220px;}

	.bs_trigger_open ,
	.bs_trigger_close {
		display: block;
	}

	.bs_trigger_open {
		position: fixed;
		top: 12px;
		right: 12px;
		z-index: 999;
	}
	.bs_trigger_open a {
		display: block;
		width: 32px;
		height: 32px;
		background-color: #FFFFFF;
		color: #E53200;
		border-radius: 3px;
		font-size: 2rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.bs_trigger_open a:hover {opacity: 1;}

	.bs_trigger_open a::after {
		display: block;
		content: "\f0c9";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		text-align: center;
		margin: 0 auto;
		position: absolute;
		top: 2px;
		right: 0px;
		left: 0px;
	}
	.bs_trigger_open a.active::after {
		content: "\f00d";
	}

	.bs_trigger_open span {
		display: none;
	}

	.bs_acordion_tree {
		width: 100%;
		height: 100%;
		overflow-y: auto;
		overflow-x: hidden;
		position: fixed;
		top: 56px;
		right: 0px;
		padding: 10px 10px 50px;
		z-index: 100;
		background-color: rgba(40,40,35,0.6);
		display: none;
	}

	.bs_gnav_wrap {
		background: transparent;
	}
	.bs_gnav {
		gap: 10px 15px;
		margin-bottom: 20px;
	}
	.bs_gnav > li {
		width: calc(100% / 2 - 15px * 1 / 2);
		height: 50px;
		background-color: #FFFFFF;
		border-radius: 0px;
		display: table;
	}

	.bs_gnav > li a {
		display: table-cell;
		vertical-align: middle;
		padding: 0px 10px;
		text-align: center;
		background: #FFEECC;
		background: linear-gradient(180deg, rgba(255, 238, 204, 1) 0%, rgba(255, 228, 172, 1) 100%);
	}
	.bs_gnav > li.bs_gnav_products a {
		background-color: rgba(255,255,255,0.7);
	}

	.bs_header_info_wrap {
		position: static;
		text-align: center;
	}
	.bs_header_contact {
		margin: 0 auto 20px;
	}

	.bs_trigger_close {
		height: 50px;
		margin-bottom: 50px;
	}
	.bs_trigger_close a {
		display: block;
		width: 100%;
		text-align: center;
	}
	.bs_trigger_close a i {
		font-size: 2.4rem;
		color: #FFFFFF;
	}


/* contents
--------------------------------------------------------------------------- */
	.contents {
		padding: 30px 0 50px;
	}

/* pankuzu
------------------------------------- */
	.bs_pankuzu {
		margin: 0 0 25px;
	}

/* block
------------------------------------- */
	.bs_full_wrap {padding: 50px 0;}

	.bs_inner_wrap01 {
		padding: 0px 15px;
	}
	.bs_inner_wrap02 {
		padding: 0px 15px;
	}
	.bs_inner_wrap03 {
		padding: 0px 15px;
	}

/*--- main:side Start ---*/
	.bs_main_col {
		width: 100%;
		float: none;
		display: block;
		margin-bottom: 30px;
	}

	.bs_side_col {
		clear: both;
		width: 100%;
		float: none;
		display: block;
	}

	ul.bs_side_menu01 {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 20px;
	}
	ul.bs_side_menu01 li {
		width: calc(100% / 2 - 20px / 2);
	}

/*--- column Start ---*/
	.bs_2col > div ,
	.bs_2col > li ,
	.bs_3col > div ,
	.bs_3col > li ,
	.bs_4col > div ,
	.bs_4col > li ,
	.bs_5col > div ,
	.bs_5col > li {
		width: 100%;
	}

	.sp_2col > div ,
	.sp_2col > li ,
	.sp_2col > article {
		width: calc(100% / 2 - 20px / 2);
	}

	.bs_three_thirds {
		display: block;
	}
	.bs_one_third {
		width: 100%;
		margin: 0 auto 15px;
		padding: 0;
	}
	.bs_two_thirds {
		width: 100%;
	}

	/* 子要素を任意の順に並び替え */
	.sp_flex_order1 {order: 1;}
	.sp_flex_order2 {order: 2;}

/*--- Gmap Start ---*/
	.bs_gmap {
		height: 200px;
	}

/*--- 縦書き ---*/
	.bs_rl_box {
		width: 100%;
		writing-mode: horizontal-tb;
	}

/* title
------------------------------------ */
	.bs_pagetitle_in {
		height: 100px;
	}

	.bs_title02 {
		font-size: 1.8rem;
	}

	.bs_copy01 {font-size: 2rem;}
	.bs_lead01 {
		font-size: 1.65rem;
		margin-bottom: 50px;
	}
	.bs_lead02 {
		font-size: 1.7rem;
		line-height: 2;
		margin-bottom: 40px;
	}


/* btn
------------------------------------- */
	.bs_btn01_l {
		width: 90%;
		height: 80px;
		line-height: 80px;
		font-size: 2rem;
	}


/* form
------------------------------------- */
	p.bs_form_flow01 i {
		padding:0 2%;
	}

	/*** form fileup Start */
	/* Type2 */
	.bs_fileup_label01 {
		padding: 15px 0;
	}
	.bs_fileup_label01 span {
		background-size: 40px 40px;
		font-weight: 500;
		padding: 5px 0 5px 48px;
	}

	.bs_form_menu li {
		width: 100%;
		margin: 0 auto 40px;
	}


/* 共通
--------------------------------------------------------------------------- */
	.bs_anchor_ul {
		gap: 10px 15px;
	}
	.bs_anchor_ul li {
		width: calc(100% / 2 - (15px * 1 / 2));
	}

	.bs_feature_title_main {
		background-size: 100% auto;
	}

	.bs_feature_title_sub::before ,
	.bs_feature_title_sub::after {
		width: 64px;
		height: 64px;
		top: -8px;
	}


/* top page
--------------------------------------------------------------------------- */
	.me_top_campaign {
		padding: 0px 15px 20px;
	}


/* news
--------------------------------------------------------------------------- */
	/* article
	------------------------------------- */
	.bs_article_list01 figure {
		width: 150px;
		margin-right: 25px;
	}
	.bs_article_cont01 {
		width: calc(100% - (150px + 25px));
	}
	.bs_article_list01 > li a::after {
		width: 38px;
		height: 38px;
	}

	/* article category */
	.bs_article_category ,
	.bs_article_category_list li {
		width: 60px;
		height: 20px;
		line-height: 20px;
		font-size: 1.6rem;
		margin-bottom: 15px;
	}

	.me_top_article_wrap02 {
		margin-bottom: 30px;
	}
	.bs_article_list02 div {
		min-height: 60px;
	}
	.bs_article_list02 div time ,
	.bs_article_list02 div p {
		width: 100%;
		text-align: center;
		padding: 0;
	}


	/* News detail
	------------------------------------- */
	.bs_article_post_link i {
		width: 36px;
		height: 36px;
	}


/* lecture
----------------------------------------------------------------------------- */



/* company
----------------------------------------------------------------------------- */
	.me_company_enkaku_table01 th {
		width: 106px;
	}


/* businesstrip
----------------------------------------------------------------------------- */
	.me_businesstrip_scene_text {
		width: 100%;
		padding: 0;
		margin-bottom: 15px;
	}
	.me_businesstrip_scene_text h3 {
		color: var(--green);
	}
	.me_businesstrip_scene_image {
		margin: 0 auto 0;
	}

	.me_businesstrip_flow_ul {
		max-width: 200px;
		margin: 0 auto;
	}
	.me_businesstrip_flow_ul li {
		width: 100%;
	}
	.me_businesstrip_flow_ul li:not(:last-child)::after {
		content: "\f0d7";
		right: 50%;
		top: auto;
		bottom: -20px;
		transform: translateX(50%);
	}


/* taiwan
----------------------------------------------------------------------------- */
	.me_taiwan_coach_ul {
		gap: 0px 40px;
	}
	.me_taiwan_coach_ul li {
		padding: 5px 0;
	}


/* niko
--------------------------------------------------------------------------- */
	.me_niko_cam_price span {
		font-size: 2.3rem;
	}
	.me_niko_coach_text {
		width: 100%;
	}
	.me_niko_coach_image {
		margin: 0 auto;
	}
	.me_niko_coach_message {
		padding: 15px;
	}

	.me_niko_person_image {
		margin: 0 auto;
	}
	.me_niko_person_text {
		width: 100%;
	}

	.me_niko_ensou_text {
		width: 100%;
	}
	.me_niko_ensou_table th {
		width: 60px;
	}
	.me_niko_ensou_image {
		margin: 0 auto;
	}
	.me_niko_ensou_image_ul li {
		width: calc(100% / 2 - (20px * 1 / 2));
	}


/* footer
--------------------------------------------------------------------------- */
	.bs_footer_school_ul {
		gap: 20px 30px;
	}
	.bs_footer_school_ul > li {
		width: calc(100% / 2 - 30px / 2);
	}

	.bs_footer_in {
		padding: 20px 12px 40px;
	}

	.j_scroll_fade {
		right: 12px;
		bottom: 13vh;
	}
	.bs_gotop {
		width: 48px;
	}

	.bs_float_bn01 {
		max-width: 120px;
	}

	.bs_float_bn_touki01 {
		max-width: 120px;
	}

	.bs_float_icon01 {
		right: 74px;
		bottom: 25px;
	}
	.bs_float_icon01 li a {
		width: 48px;
		height: 48px;
		font-size: 1.2rem;
	}
	.bs_float_friday01 {
			width: 48px;
			height: 48px;
			font-size: 1.2rem;
	}

	.bs_footer_logo {
		max-width: 150px;
		margin: 0 auto 10px;
	}

	.bs_ft_map_wrap01 address ,
	.bs_ft_map_wrap01 address a {
		font-size: 2.2rem;
	}

	.bs_ft_menu > ul > li {
		margin: 0 15px 10px;
	}
	.bs_ft_menu > ul > li > a {
		text-align: center;
	}

	.bs_sns_wrap01 {
		padding: 0 12px;
	}

/* Facebook
----------------------------------------------------------------------------- */
	.bs_fb_bg {
		left: 0px;
	}


/* Instagram
----------------------------------------------------------------------------- */
	ul.bs_insta_ul > li {
		width: calc(100% / 3 - 15px * 2 / 3);
		margin: 0 15px 15px 0;
	}
	ul.bs_insta_ul > li:nth-child(3n) {
		margin-right: 0;
	}


/* video
----------------------------------------------------------------------------- */
	#bs_video_wrap01 video {
		width: 100%;
		height: 390px;
		object-fit: cover;
		object-position: center center;
	}

	#bs_mute {
		position: absolute;
		bottom: 5%;
		right: 5%;
	}


/* 
--------------------------------------------------------------------------- */

/* swiper slide
------------------------------------- */
	.bs_swiperslide_in {
		height: 200px;
	}

/* ticker
------------------------------------- */
	.bs_ticker_wrap {
		position: static;
		padding: 0 10px;
	}

	.bs_ticker_box article a {
		padding: 10px 0;
	}

	.bs_ticker_box article time {
		display: block;
	}

/* infiniteslide
------------------------------------- */
	.me_infiniteslide_ul01 li{max-width:150px;}


/* layout
----------------------------------------------------------------------------- */
	.bs_layout01 {
		max-width: 100%;
		margin: 0 auto 30px;
	}
	.bs_layout01_txt {
		width: 100%;
	}
	.bs_layout01_txt.float_r_bl ,
	.bs_layout01_txt.float_l_bl {
		margin: 0;
		padding:40px 20px 40px 20px;
	}
	.bs_layout01_txt h3 span {
		padding-left: 20px;
	}

	.bs_layout01_img_l ,
	.bs_layout01_img_r {
		position: static;
		width: 100%;
		max-width: 100%;
	}
	.bs_layout01 .bs_btn {
		width: 250px;
		margin: 0 auto;
	}

	.bs_layout02_txt_l {
		position :static;
		width: 100%;
		padding: 20px 12px;
	}
	.bs_layout02_txt_r {
		position :static;
		width: 100%;
		padding: 20px 12px;
	}
	.bs_layout02 .bs_btn {
		width: 250px;
		margin: 0 auto;
	}

}


@media all and (-ms-high-contrast: none) {
	#bs_video_wrap01 video {
		height: auto;
	}
}
