@charset "utf-8";

@media screen and (max-width:1200px) {}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {}
/*==================================================
$common
==================================================*/
:root{
	--black:#333;
	--white: #fff;
	--blue:rgb(45,40,127);
	--sky-blue:rgb(9,111,214);
	--red: #D3525F;
	--gray: #D8D8D8;
	--light: #F0F0F0;
	--dark: #333333;
	--breakpoint-xs: 0;
	--breakpoint-sm: 640px;
	--breakpoint-md: 840px;
	--breakpoint-lg: 1220px;
	--breakpoint-xl: 1920px;
	--breakpoint-full: 100%;
	--font-sans-serif: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--font-serif: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	--font-size40:clamp(32px, 24.000px + 1.333vw, 40px);
	--font-size36:clamp(30px, 24.000px + 1vw, 36px);
	--font-size34:clamp(28px, 22.000px + 1vw, 34px);
	--font-size32:clamp(26px, 20.000px + 1vw, 32px);
	--font-size30:clamp(25px, 20.000px + 0.833vw, 30px);
	--font-size28:clamp(24px, 20.000px + 0.667vw, 28px);
	--font-size26:clamp(22px, 18.000px + 0.667vw, 26px);
	--line-height-lg:2.25;
	--line-height-md:1.75;
	--line-height-sm:1.5;
	--line-height-xs:1.3;
	/*Style Guide*/
	--primary-color:var(--red);
	--sub-color:var(--blue);
	--web-font: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--primary-font: var(--web-font);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}
html{
	font-size: 16px;
}
body {
	font-size:inherit;
	margin: 0 auto;
	padding: 0;
	line-height: var(--line-height-lg);
	position: relative;
	color: var(--black);
	font-family:var(--primary-font);
	font-weight: 500;
	text-align: left;	
}
a {color: inherit;text-decoration: none;}
a[href^="tel:"] {pointer-events: none;}
a:link,
a:visited,
a:active {
text-decoration: none;
}
img,svg {max-width: 100%;height:auto;}
::-moz-selection {/*ハイライトカラー指定*/
    color:#fff;
    background:var(--primary-color);
}
::selection{/*ハイライトカラー指定*/
    color:#fff;
    background:var(--primary-color);
}

/*==================================================
$共通エレメント
==================================================*/
.pc{
	display:inherit;
}
.sp{
	display:none;
}
.inner{
	max-width:var(--breakpoint-lg);
	margin:auto;
	padding:70px 20px;
}
.inner._md{
	max-width: var(--breakpoint-md);
}
.text_danger{
	font-weight:bold;
	color:#F00;
}
/*fixed,stickyを使用する為無効
.wrap{
	overflow-x:hidden;
	contain: paint;
}*/
.row{
	display:flex;
	gap:30px 30px;
}
.row._col-2{
	flex-wrap: wrap;	
	gap:17px 14px;
}
.row._col-2 > *{
	width:calc(50% - 7px);
}
.row > *{
	flex-grow:1;
}
/*==================================================
$header ヘッダー
==================================================*/
.header{
	position: relative;
}

.header_ber{
	position:absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	z-index:100;
}
@media screen and (max-width:1024px) {
	.home .header_ber{
		width:100%;
	}
}
.header_ber{
	/* max-width:var(--breakpoint-lg); */
	width:100%;
	height:90px;
	display: flex;
	gap:30px;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	margin-left:auto;
	margin-right:auto;
	padding:15px 90px;
}
.header_ber .hd_logo{
	width:350px;
	margin-right: auto;
}
.header_ber > p{
	font-size:12px;
	letter-spacing: 0.06em;
	line-height:var(--line-height-md);
	margin-right:auto;
}

.cta{
	display: block;
	position:fixed;
	bottom:35px;
	right:35px;
	z-index:100;
}
.cta a{
	display:block;
	width:fit-content;
}
.cta a svg,
.cta a img{
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 50%;
	transition: all 0.4s ease;
}

.cta a img {
	margin-top: 10px;
}
.cta a:hover svg,
.cta a:hover img{
	box-shadow: 0px 0px 0px -0px #777777;
}

/*==================================================
$footer フッター
==================================================*/
footer{
	text-align: center;
	border-top: 3px solid var(--blue);
	position: relative;
	background:var(--white) ;
	z-index: 5;
}
footer .inner{
	padding-top:40px;
	padding-bottom:40px;
}
.ft_logo{
	width:192px;
	margin:0 auto;
}
.copyright{
	color:var(--white);
	text-align: center;
	background: var(--blue);
}


/*==================================================
TOPページ index
==================================================*/
.mv_wrap{
	width:100%;
	overflow: hidden;
	/* background: url(../img/mv_bg.png) no-repeat center center / cover; */
	padding:100px 0 0 0;
}
.mv{
	/* max-width:var(--breakpoint-lg); */
	/* width:100%; */
	width: 90%;
	margin:0 auto;
}
.mv.row{
	justify-content: center;
	align-items:center;
	gap:65px 0;
}
.mv.row .left{
	width:48%;
	display: flex;
	align-items: center;
	padding:0 50px 0 30px;
}
.mv_text{
	width:100%;
}
.mv_text h1 img{
	width:100%;
	max-width: 480px;
}
.shadow{
	filter: drop-shadow(0px 3px 6px rgba(160,134,134,0.3));
}

.mv_catch{
	margin-top:30px;
}
.mv_image{
	margin-top:30px;
}
.mv_data{
	display:flex;
	align-items: center;
	flex-wrap: wrap;
	gap:15px 20px;
	margin-top:60px;
	margin-bottom:45px;
}
.mv .renewal_text{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1;
	color:var(--primary-color);
	vertical-align:bottom;
	position:relative;
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	gap:5px 14px;
	margin-bottom:25px;
}
.mv .renewal_text > small{
	font-size:17px;
}
.mv .renewal_text::after{
	content:"";
	display:block;
	width:1px;
	height:1px;
	flex:1;
	background:var(--primary-color);
}
.mv .venue{
	max-width:450px;
}
.media{
	display:flex;
	gap:20px;
}
.media._reverse{
	flex-direction: row-reverse;
}
.media_image{
	overflow:hidden;	
}
.media_image img{
	border-radius: 8px;
}
.media_text{
	flex-grow: 1;
}
.venue_point{
	font-size:1rem;
	letter-spacing: -0.03em;
	margin-bottom:15px;
}
.venue_point > b{
	display:block;
	font-weight: bold;
	letter-spacing: 0.07em;
	text-align: center;
	color:var(--white);
	line-height: var(--line-height-xs);
	background:var(--primary-color);
	padding:10px 5px;
	border-radius: 8px;
}
.venue_point > b span{
	display: inline-block;
}
.venue_call{
line-height: var(--line-height-xs);
}
.venue_call span{
	display: flex;
	gap:18px;
	align-items: center;
	font-size:14px;
	text-align: center;
	letter-spacing: 0.16em;
	color: var(--primary-color);
	margin-bottom:8px;
}
.venue_call span:before,
.venue_call span:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: var(--primary-color);
}
.venue_call strong{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;

}
.mv.row .right{
	width:52%;
}
/*
.mv.row .right figure{
}*/
@media screen and (max-width:1024px) {
	.mv_wrap{
		background:none;
	}
	.mv.row{
		flex-direction: column;
	}
	.mv.row .left,
	.mv.row .right{
		width:100%;
		justify-content: center;
		padding-left:20px;
		padding-right:20px;
	}
	.mv.row .left{
		width: fit-content;
		padding-top:50px;
		justify-content: center;
		padding-bottom:75px;
	}
	.mv_data{
		width: fit-content;
	}
	.mv .venue{
		max-width:480px;
	}
	.mv.row .right figure{
		position: relative;
		width:100%;
		height:auto;
	}
	.mv .pc{
		display:none;
	}
	.mv .sp{
		display:block;
	}
}

.mv.row .right figure img{
	object-fit: cover;
	width:100%;
	height:100%;
}
.top_contents{
	position: relative;
	background:var(--white);
	z-index: 2;
}
.page_nav{
	max-width:var(--breakpoint-lg);
	width:100%;
	position:sticky;
	top:0;
	left:0;
	height:0;
}
.page_nav_list{
	width: fit-content;
	background: #fbeef0;
	position:absolute;
	top:70px;
	left:100px;
	padding:30px 15px;
	border-radius: 8px;
	z-index:500;
}
.page_nav_list li:nth-child(n + 2){
	margin-top:20px;
	line-height: 1.5;
}
.page_nav_list li a{
	color:#666666;
	display:flex;
	align-items: center;
	gap:10px;
	transition: all 0.3s ease;
}
.page_nav_list li a:hover{
	color:var(--sky-blue);
}
.page_nav_list li.current a{
	color:var(--sky-blue);
	cursor:default;
	pointer-events: none;
}
.page_nav_list li a::before{
	content:"";
	display: inline-block;
	width:6px;
	height:6px;
	border-radius: 100%;
	background:var(--gray);
	border-radius: 50%;
	transition: all 0.3s ease;
}
.page_nav_list li.current a::before,
.page_nav_list li a:hover::before{
	background-color: rgba(9,111,214,1);
	box-shadow:
	0 0 3px 2px rgba(255,255,255,0.5),
	0 0 1px 4px rgba(9,111,214,0.4);
	animation: grow 1.2s ease-in-out infinite;
}
@keyframes grow{
	0%,	100%{
		box-shadow:
		0 0 3px 2px rgba(255,255,255,0.5),
		0 0 1px 4px rgba(9,111,214,0.4);
	  }
	50%{
		box-shadow:
		0 0 3px 2px rgba(255,255,255,0.5),
		0 0 5px 4px rgba(9,111,214,0.3);
	}
  }

@media screen and (max-width:1200px) {
	.top_contents > section{
		padding-left:150px;
	}
	.page_nav_list{
		left:15px;
	}
}
.top_contents > section{
	margin-top:-1px;/*目次メニューの切り替え動作対策*/
}
/*============================
#top_info.top_info
============================*/
.top_info{
	background-color:#FBEEF0;
	/* background-image: url(../img/section01_bg01.svg), url(../img/section01_bg02.svg),url(../img/section01_bg03.svg),url(../img/section01_bg04.svg); */
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position:
	top right,
	top 15% left,
	top 75% right,
	left bottom;
}
.content_title{
	font-size:23px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: var(--line-height-sm);
	margin-bottom:25px;
}
.content_title:nth-of-type(n + 2){
	margin-top:100px;
}
.sub_title{
	font-size:24px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height:var(--line-height-md);
	color:var(--primary-color);
	margin-bottom:50px
}

.media.bg_white{
	overflow:hidden;
	border-radius: 8px;
	background:var(--white);
}
.media.bg_white	.media_text{
	display: flex;
	justify-content: center;
	align-items: center;
}
.media.bg_white	.media_image img{
	object-fit: cover;
	width:100%;
	height:100%;
}
.top_info .media{
	margin-top:45px;
	align-items: stretch;
	gap:0;
}
.top_info .media_image{
	max-width:243px;
	flex-shrink: 0;
}
.top_info .media_image img{
	border-radius: 0;
}
.top_info .media.bg_white .media_text{
	width:calc(100% - 242px);
	justify-content: flex-start;
	flex-grow: 1;
	padding:15px 6% ;
}
.top_info .media_title{
	font-size:24px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: var(--line-height-sm);
	padding:0px 0px 0px 25px ;
	border-left:4px solid var(--primary-color);
}
.media_title span{
	display:block;
	width: fit-content;
	font-size:1rem;
	line-height: 2;
	font-weight: 500;
}
.img_round{
	border-radius: 8px;
}
@media screen and (max-width:780px) {
	.top_info .media_image{
		flex-shrink: unset;
		flex-grow: 1;
	}
	.top_info .media_image figure{
		height:100%;
		overflow:hidden;
	}
	.top_info .media_image img{
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.top_info .media.bg_white .media_text{
		width:auto;
	}
}
.profile_card{
	margin-top:30px;
}
.profile_card figure{
	display:flex;
	align-items: center;
	gap:20px;
}
.profile_card figure > div{
	overflow:hidden;
	display: block;
	max-width:100px;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	border-radius: 5.5px;
}
.profile_card figure > div img{
	object-fit: cover;
	width:100%;
	height: 100%;
}
figcaption{
	font-size:14px;
	letter-spacing: 0;
	line-height: var(--line-height-md);
}
.profile_card figcaption span{
	display:inline-block;
	font-size:14px;
	letter-spacing: 0.1em;
	margin-right:0.5rem;
}
.profile_card figcaption b{
	display: block;
	font-size:16px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.top_info > .inner > * + p {
	margin-top:50px;
}
.top_info > .inner .profile_card + p{
	margin-top:25px;
}
.top_info > .inner > p:not(:last-child){
	margin-bottom:25px;
}


/*============================
#top_course-content.top_course-content
============================*/
.top_course-content .inner{
	max-width:860px;
}
.section_title{
	font-size:36px;
	font-size:var(--font-size36);
	font-weight: bold;
	letter-spacing: 0.06em;
	text-align: center;
	display:flex;
	justify-content: center;
	align-items: center;
	gap:15px;
	margin-bottom:45px;
}
.section_title::before,
.section_title::after{
	content:"";
	display:inline-block;
	width: 12px;
	height: 12px;
	background:#096FD6;
	border-radius: 50%;
}
.course-content_intro{
	max-width: 856px;
	width:100%;
	padding:8px 0;
	margin-bottom:40px;
	border-bottom:1px solid #DDDDDD;
} 
.card-wrap{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	gap:65px 3.6%;
}
.card{
	width:48.2%;
	background:var(--white);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.05);
	border-top:3px solid var(--primary-color);
	padding:50px 22px;
	display: flex;
	flex-direction: column;
}
.card:has(.card_nav){
	padding:50px 22px 7px 22px;
}
@media screen and (max-width:780px) {
	.card{
		width:100%;
	}	
}
.course_time{
	font-size:14px;
	letter-spacing: 0;
	vertical-align: bottom;
	margin-bottom: 8px;
}
.course_time b{
	display:inline-block;
	font-size:24px;
	color:var(--primary-color);
}
.card h3,
.course_title{
	font-size:24px;
	font-weight: bold;
	letter-spacing: 0.06em;
	line-height: var(--line-height-sm);
	margin-bottom:20px;
}
.card h3 span,
.course_title span{
	font-size:20px;
}
.card p{
	font-size:14px;
	text-align: justify;
	text-align-last: left;
	letter-spacing: 0;
	line-height: var(--line-height-md);
}
.course_detail:has(figure){
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
gap:10px;
justify-content: space-between;
margin-top:20px;
margin-bottom: auto;

}
.course_detail ul li{
	position:relative;
	font-size: 14px;
	letter-spacing: 0;
	line-height:var(--line-height-md);
	padding-left:30px;
}
.course_detail ul li::before{
	position:absolute;
	top:3px;
	left:0;
}
.course_detail ul li.icon_point::before{
	content:url(../img/icon_point.svg);
}
.course_detail ul li.icon_human::before{
	content:url(../img/icon_human.svg);
}
.course_detail ul li span{
	display:inline-block;
}
.course_detail img{
	border-radius: 5.5px;
}
.card .course_closing{
	font-size:14px;
	letter-spacing: 0;
	line-height:var(--line-height-sm);
}
.card .course_closing{
	margin-top:14px;
	padding-top:20px;
	border-top: dashed 1px rgba(0,0,0,0.5);
}
.card .card_nav{
	text-align:right;
	margin-top:8px;
}
.card .card_nav a{
	display:inline-block;
	font-size: 14px;
	line-height: 1.7;
	color:#096FD6;
	border-bottom:1px solid #096FD6;
	position:relative;
	padding-right:20px;
	transition: all 0.3s ease;
}
.card .card_nav a::after{
	content:"";
	position: absolute;
	top:calc(50% - 2px);
	right:5px;
	display: block;
	width:6px;
	height: 6px;
	border-top:1px solid #096FD6;
	border-right:1px solid #096FD6;
	transform: rotate(45deg);
	transition: all 0.3s ease;
}
.card .card_nav a:hover{
	border-bottom-color:transparent;
}
.card .card_nav a:hover::after{
	right:0px;
}
/*============================
.top_course-overview
============================*/
.top_course-overview{
	padding:50px;
	/* background:url(../img/eyecatch.svg) no-repeat center center / cover; */
	background-color: #FBEEF0;
}
.top_course-overview .inner{
	max-width: none;
	border-radius: 10px;
	background:var(--white);
}
.table01{
	max-width:800px;
	margin:auto;
	border-top:1px solid #ccc;
}
.table01 tbody th{
	width:170px;
	padding:27px 15px;
	font-size: 1rem;
	letter-spacing: 0.06em;
	background: #F9FAFA;
	border-bottom:1px solid #ccc;
}
.table01 tbody td{
	font-size:1rem;
	line-height:1.5;
	padding:27px 34px;
	border-bottom:1px solid #ccc;

}
.table01 tbody td p:not(:last-child){
	margin-bottom:16px;
}
.notes{
	font-size:13px;
	line-height: var(--line-height-sm);
}
.table01 tfoot dl{
	display:flex;
	flex-wrap: wrap;
	gap:5px 20px;
	font-size:1rem;
	letter-spacing: 0;
}
.table01 tfoot tr > *{
	padding:27px 34px;
}
.table01 tfoot dl dt{
	width:50px;
}
.table01 tfoot dl dd{
	width:calc(100% - 70px);
}
.table01 a{
	color:var(--sky-blue);
	text-decoration: none;
}
.table01 a:hover{
	text-decoration: underline;
}
/*============================
#top_access.top_access
============================*/
.content_title02{
	color: var(--primary-color);
	font-size:28px;
	letter-spacing: 0.06em;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:20px;
	margin-bottom:40px;
}
.content_title02::before,
.content_title02::after{
	content:"";
	width:1px;
	height:14px;
	flex-grow: 1;
	background:url(../img/title_line.png) repeat-x center center / auto 100%;
}
.content_title02:nth-of-type( n + 2 ){
	margin-top:90px;
}
.top_access .row{
	margin-bottom:40px;
}
a.text_link{
	color:var(--sky-blue);
}
a.text_link:hover{
	text-decoration: underline;
}
.top_access .left{
	width:378px;
	flex:1;
}
.top_access .right{
	flex:1;
}
.top_access .right h3{
	font-size:24px;
	letter-spacing: 0.06em;
	font-weight: bold;
}
.top_access .right address h4{
	font-size:1rem;
	line-height: var(--line-height-md);
	letter-spacing: 0;
}
.top_access .right address h4:nth-child(n+2){
	margin-top:25px;
}
.top_access .right address p{
	font-size: 1rem;
	letter-spacing: 0;
	line-height: var(--line-height-md);
	color:#999;
}
@media screen and (max-width:800px) {
	.top_access .row{
		flex-direction: column;
	}
}
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin-bottom: 80px;
	}
	.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	}
.ul_circle li{
	position: relative;
	font-size: 1rem;
	line-height: var(--line-height-lg);
	padding-left: 20px;
}
.ul_circle li::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 10px;
	height: 10px;
	background-color: var(--black);
	border-radius: 5px;
  }

/*============================
下層ページ
============================*/

.sub_page header{
	min-height: 290px;
	padding-bottom:150px;
	/* background: url(../img/mv_bg.png) no-repeat center center / cover; */
	margin-bottom:-90px;
}

.btn_course_list{
	width: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:15px;
	color:#fff;
	line-height: 1.1;
	padding:10px 30px;
	border-radius: 4px;
	background:var(--blue);
	transition: all 0.4s ease;
}
.btn_course_list::after{
	content:"";
	display:inline-block;
	width:21px;
	height:15px;
	background:url(../img/icon_list.svg) no-repeat center center / contain;
}
.btn_course_list:hover{
	background: var(--red);
}
.sub_page > .inner{
	max-width: 980px;
}
.course_head{
	margin-bottom: 50px;
}
.course_content{
	background: #fff;
}
.course_content .inner{
	max-width:860px;
	padding:30px 30px 80px;
	position: relative;
	margin-top:-100px;
	border-radius: 8px;
	background: #fff;
	z-index:2;
}
.course_data{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap:15px 30px;
	margin-bottom:20px;
}
.course_content .course_time {
	font-size:1rem;
	display: flex;
	gap:5px 15px;
	flex-wrap: wrap;
	align-items: baseline;
}
.course_content .course_time b{
	font-size:26px;
}
.course_content .course_time b > small{
	font-size:1rem;
}
.course_content .course_closing{
	font-size:14px;
	letter-spacing: 0;
	color:#fff;
	padding:5px 12px;
	background: var(--black);
}
.course_head .course_title{
	font-size:36px;
	margin:0;
}
.course_head .course_text_block{
	border-top:1px solid var(--gray);
	margin-top:30px;
	padding-top:30px;
}

/*講師紹介*/
.media.profile{
	gap:45px;
}
.media.profile .media_image{
	flex-shrink: 0;
}
.media.profile .media_text{
	padding-top:15px;
}
.profile_name{
	display:flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap:15px;
	font-size:28px;
	letter-spacing: 0.06em;
	font-weight: bold;
	line-height: var(--line-height-xs);
}
.profile_name > small{
	font-size:18px;
	font-weight: 400;
}
[data-ruby] {
    position: relative;
}
[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1.5em;
    left: 50%;
    transform: translateX(-50%);
    width: fit-content;
    margin: auto;
    white-space: nowrap;
    font-size: 0.4em;
	font-weight: 400;
    letter-spacing: 0.2em;
}
.profile_text{
	margin-top:15px;
	padding-top:10px;
	border-top:1px dashed var(--gray);
}
.profile_text ul li{
	letter-spacing: 0;
	line-height: var(--line-height-md);
}
.profile_text ul li + li{
	margin-top: 5px;
}
.profile_text dl{
	display: flex;
	margin-top:20px;
	line-height: var(--line-height-md);
}
.profile_text dl dt{
	vertical-align: middle;
	flex-shrink: 0;
}

.profile_text dl dd a,
.course_teacher .other a	{
	color:var(--sky-blue);
}
.profile_text dl dd a:hover,
.course_teacher .other a:hover{
	text-decoration: underline;
}
.profile_text .check{
	display: flex;
	gap:3px;
}
.profile_text .check::before{
	flex-basis: 22px;
	flex-shrink: 0;
	content:"";
	display: inline-block;
	width:22px;
	aspect-ratio: 10 / 9;
	margin-right:0.3em;
	position: relative;
	top:2px;
	background: url(../img/icon_check.svg) no-repeat center top /contain;
}
.profile_text p{
	line-height: 1.5;
	margin-top:4px;
}
.course_teacher .other{
	margin-top:60px;
}
.course_teacher .other .media{
	gap:35px;
}
.course_teacher .other .media + .media{
	margin-top:50px;
}
.course_teacher .other .media .media_image{
	flex-basis: 170px;
	flex-shrink: 0;
}
.other .media .media_image img{
	border-radius: 0;
}
.course_teacher .other .other_title{
	font-size:20px;
	letter-spacing: 0.06em;
	line-height:var(--line-height-sm);
}
.course_teacher .other .other_title small{
	display: block;
	font-size:14px;
	color:#999;
	margin-bottom:5px;
}
.course_teacher .other .other_title span{
	display:inline-block
}
.course_teacher .other p{
	letter-spacing: 0.06em;
	line-height: var(--line-height-md);
	padding-top: 15px;
	margin-top: 15px;
	border-top: 1px dashed #ccc;
}

.course_teacher .other .readmore-content{
	display: -webkit-box;
    position: relative;
	padding-top: 0;
    margin-bottom: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
	box-orient: vertical;
    -webkit-line-clamp: 3; /* 開く前に見せたい行数を指定 */
	line-clamp: 3; /* 開く前に見せたい行数を指定 */
	transition: all 0.5s linear;
	border:none;
}
.course_teacher .other .readmore-content::before{
	content:"";
	display:block;
	width: 100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	background:linear-gradient(0deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 100%);;
}
.course_teacher .other .readmore-content.is-show{
	-webkit-line-clamp: unset; 
	line-clamp: unset;
}
.course_teacher .other .readmore-content.is-show::before{
	display: none;
}
.readmore .read_label{
	display: block;
	width: fit-content;
	margin:0 auto;
	position: relative;
	padding-left:15px;
	margin-top: 10px;
	cursor: pointer;
	color: var(--primary-color);
}
.readmore .read_label:hover{
	opacity: 0.8;
}
.readmore .read_label::before,
.readmore .read_label::after{
	content:"";
	display: block;
	position: absolute;
	background:var(--primary-color);
	transition: all 0.3s linear;
}
.readmore .read_label::before{
	width:8px;
	height:2px;
	top:50%;
	left:0;
}
.readmore .read_label::after{
	width:2px;
	height: 8px;
	top:calc(50% - 3px);
	left:3px;
	opacity: 1;
}
.readmore .is-show + .read_label::after{
	transform: rotate(90deg);
	opacity: 0;
}
.readmore-content + .read_label .close{
	display: none;
}
.is-show + .read_label .close{
	display: block;
}
.is-show + .read_label .open{
	display: none;
}
.other_links > li {
	line-height: var(--line-height-md);
}
.other_links > li + li{
	margin-top: 15px;
}

.other_links li a{
	color:var(--sky-blue);
	transition: all 0.3s ease;
}
.other_links li a:hover{
	text-decoration: underline;
}
.other_links li aside {
	padding:5px 15px;
	margin-top:5px;
	color:var(--dark);
	background-color: var(--light);
}

.course_venue{
	padding:50px;
	background-color: #FBEEF0;
	/* background-color:#FBEEF0;
	background-image: url(../img/section01_bg01.svg), url(../img/section01_bg02.svg),url(../img/section01_bg03.svg);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: */
}
.course_venue .venue_content{
	margin:0 auto;
	background:#fff;
	border-radius: 16px;
}
.course_venue .venue_name{
	font-size:20px;
	letter-spacing: 0.06em;
	font-weight: 500;
	margin-bottom:23px;
}
.course_venue .row.access{
	justify-content: space-between;
	gap:15px 30px;
	flex-wrap: wrap;
	margin-top:15px;
}

.course_venue h4{
	font-size:20px;
	font-weight: 500;
	letter-spacing: 0.06em;
}
.course_venue ul li{
	letter-spacing: 0.06em;
	color:#999;
}

.course_foot .inner{
	padding-top:130px;
	padding-bottom:110px;
}
.btn_wrap{
	display:flex;
	justify-content: center;
	gap:50px;
	align-items: center;
}
.btn02{
	min-width: 440px;
	font-size:24px;
	font-weight: 500;
	line-height: var(--line-height-xs);
	color:#fff;
	text-align: center;
	padding:20px 45px;
	background: var(--red);
	position:relative;
	border:2px solid var(--red);
	border-radius: 4px;
	transition: all 0.3s ease;
}
.btn02::after{
	content:"";
	display:inline-block;
	position:absolute;
	top:calc(50% - 4px);
	right:25px;
	width:10px;
	height:10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform: rotate(45deg);
	transition: all 0.3s ease;
}
.btn02:hover{
	color:var(--red);
	background: #fff;
	border-color: var(--red);
}
.btn02:hover::after{
	right:20px;
	border-color:var(--red);
}
.btn01{
	min-width: 440px;
	font-size:24px;
	font-weight: 500;
	line-height: var(--line-height-xs);
	color:#fff;
	text-align: center;
	padding:20px 45px;
	background: var(--blue);
	position:relative;
	border:2px solid var(--blue);
	border-radius: 4px;
	transition: all 0.3s ease;
}
.btn01::after{
	content:"";
	display:inline-block;
	position:absolute;
	top:calc(50% - 4px);
	right:25px;
	width:10px;
	height:10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform: rotate(45deg);
	transition: all 0.3s ease;
}
.btn01:hover{
	color:var(--blue);
	background: #fff;
	border-color: var(--blue);
}
.btn01:hover::after{
	right:20px;
	border-color:var(--blue);
}



.page_back{
	margin-top:45px;
	text-align:center;
}
.page_back a{
	display:inline-block;
	font-size:20px;
	letter-spacing: 0.06em;
	position: relative;
	transition: all 0.3s ease;
}
.page_back a:hover{
	color: var(--red);
}
.page_back a::before{
	content:"";
	display:block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background:#707070;
}
.page_back a::after{
    /*絶対配置で線の位置を決める*/
	content:"";
	display:block;
    position: absolute;
    bottom: 0;
    left: 0;
    /*線の形状*/
    width: 100%;
    height: 1px;
    background:var(--primary-color);
    /*アニメーションの指定*/
    transition: all .3s linear;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*左上基点*/
}
.page_back a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
/* 240328　満員御礼 */
.orei{
	position: relative;
  }
.orei_txt{
	position: absolute;
    top: 0;
    left: 0;
    /* -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); */
    color: #fff;
    font-size: 1.0rem;
    margin: 0;
    padding: 1%;
    background-color: rgb(132, 132, 132);
    text-align: center;
	box-shadow: 4px 3px 3px rgb(68, 68, 68);
	opacity: 0.95;
}
.orei_txt span{
	font-size: 1.2rem;
	font-weight: bold;
}

/* 240624 仮公開用 */
span.storongg {
	font-weight: bold;
    font-size: 18px;
    text-decoration-line: underline;
}
p.cmgg {
    margin-top: 20px !important;
}

/* 240624 仮公開用 */

/* 下層ヘッダー */
.header_ber_under{
	position:absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	z-index:100;
}
@media screen and (max-width:1024px) {
	.home .header_ber_under{
		width:100%;
	}
}
.header_ber_under{
	/* max-width:var(--breakpoint-lg); */
	width:100%;
	height:90px;
	display: flex;
	gap:30px;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	margin-left:auto;
	margin-right:auto;
	padding:15px 90px;
}
.header_ber_under .hd_logo{
	width:350px;
	margin-right: auto;
}
.header_ber_under > p{
	font-size:12px;
	letter-spacing: 0.06em;
	line-height:var(--line-height-md);
	margin-right:auto;
}

/* 240709 */
.syosai_link_flex {
	display: flex;
    justify-content: space-between;
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
}

/* 240725 */
.illustration_bn a {
	font-size: 19px;
        text-align: center;
        display: block;
        position: relative;
        padding: 50px 20px 40px 80px;
        border-bottom: 3px solid var(--primary-color);
        border-top: 3px solid var(--primary-color);
        margin-bottom: 45px;
}

.illustration_bn a span {
	color: var(--primary-color);
}

.illustration_bn a::before {
	content: "";
        background: url(../img/illust_ico.png) no-repeat center / cover;
        width: 130px;
        height: 130px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 32px;
}

.illustration_bn a:hover {
	text-decoration: underline;
}

/* 250710 */
.top_info {
    background-color: #fff9e9;
}

.sub_title {
    color: #d57a00;
}