@charset "utf-8";

/*========================

course_paperdriver.css

========================*/
#main_cont .section#course {
 padding:35px 50px 0;
}

#main_cont .section#course .section_cont {
 row-gap:20px;
}

#course_introduction ul {
 border-left:1px solid var(--blue);
 display:flex;
 justify-content:space-between;
}

#course_introduction ul li {
 border-right:1px solid var(--blue);
 display:flex;
 flex-direction:column;
 width:calc(100% / 5);
}

#course_introduction ul li dl {
	align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 position:relative;
 flex:1;
}

#course_introduction ul li dl dt {
	align-items:center;
 background-color:var(--blue);
 border-radius:10px;
 color:var(--white);
 display:flex;
 flex-direction:column;
 font-size: calc(0.8rem + ((1vw - 0.48rem) * 0.6944));
 justify-content:center;
 line-height:1.6;
 flex:1;
 font-weight:600;
 padding:10px;
 position:relative;
 text-align:left;
 width:calc(100% - 10%);
}

#course_introduction ul li dl dt:after {
 background-color:var(--blue);
	height: calc(tan(60deg) * 16px / 2);
	content:" ";
	width: 16px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position:absolute;
	bottom:-10px;
	left:50%;
	margin-left:-8px;
 z-index:1;
}

#course_introduction ul li:nth-child(even) dl dt,
#course_introduction ul li:nth-child(even) dl dt:after {
 background-color:var(--blue04);
}

#course_introduction ul li dl dd {
 overflow:hidden;
 margin-top:-20px;
 width:100%;
}

#course_introduction ul li dl dd img {
 object-fit:cover;
 object-position:center bottom;
 height:100%;
 width:100%;
}

/*--- course_introduction_bottom ---*/
.course_introduction_bottom {
 display:flex;
 flex-direction:column;
 position:relative;
 row-gap:15px;
 padding:40px 140px 65px 140px;
}

.course_introduction_bottom h3 {
 font-size:2.4rem;
 font-weight:600;
 line-height:1.4;
 padding:0;
 text-align:center;
}

.course_introduction_bottom p {
 font-size:1.4rem;
 line-height:1.6;
 padding:0;
 text-align:center;
}

.course_introduction_bottom figure {
 position:absolute;
 bottom:0;
 right:-10px;
 max-width:160px;
 z-index:3;
}

.course_introduction_bottom figure img {
 height:100%;
 width:100%;
}

.course_introduction_bottom .mark {
 align-items:center;
 background-color:var(--yellow);
 border-radius:calc(45px + 0.5vw);
 display:flex;
 height:calc(90px + 1vw);
 justify-content:center;
 right:50px;
 position:absolute;
 bottom:170px;
 transform:rotate(-15deg);
 width:calc(90px + 1vw);
 z-index:2;
}

.course_introduction_bottom .mark span {
 font-size: calc(0.5rem + ((1vw - 0.48rem) * 0.6944));
 font-weight:600;
 line-height:1.4;
 text-align:center;
}

.course_introduction_bottom .mark:after {
 background-color:var(--yellow);
	height: calc(tan(60deg) * 20px / 2);
	content:" ";
	width: 20px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position:absolute;
	bottom:-10px;
	left:50%;
	margin-left:-10px;
 z-index:1;
}

/*---------------------------------------------
price
---------------------------------------------*/
#main_cont .section#ancPrice .section_cont {
 padding: 50px;
}

#main_cont .section#ancPrice .section_cont #price {
 display:flex;
 flex-direction:column;
 row-gap:30px;
}

#main_cont .section#ancPrice .section_cont #price h4 {
 font-size: calc(1.8rem + ((1vw - 0.48rem) * 0.6944));
 font-weight: 600;
 line-height:1.4;
 text-align:center;
}

#main_cont .section#ancPrice .section_cont #price #price_cont {
 display:flex;
 flex-direction:column;
 row-gap:10px;
}

#main_cont .section#ancPrice .section_cont #price #price_cont dl {
	align-items:center;
 display:flex; 
 justify-content:center;
}

#main_cont .section#ancPrice .section_cont #price #price_cont dl dt {
	align-items:center;
 background-color: var(--blue);
 color: var(--white);
 border-radius: 30px;
 display:flex;
 font-size: calc(1.0rem + ((1vw - 0.48rem) * 0.6944));
 flex: 0 1 35%;
 font-weight: 600;
 justify-content:center;
 padding: 15px 20px;
 text-align: center;
 max-width: 200px;
}

#main_cont .section#ancPrice .section_cont #price #price_cont dl dd {
 align-items:flex-end;
 background-color: var(--white);
 column-gap:5px;
 display:flex;
 flex-wrap:wrap;
 flex: 1 1 100%;
 padding: 15px 20px;
 row-gap:10px;
 width: auto;
}

#main_cont .section#ancPrice .section_cont #price #price_cont dl dd span {
 font-size: calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
 font-weight: 600;
 line-height:1.2;
}

#main_cont .section#ancPrice .section_cont #price #price_cont dl dd span.note {
 font-size: 1.1rem;
 font-weight: 400;
 line-height:1.2;
}

#main_cont .section#ancPrice .section_cont #price #price_cont .note {
 font-size: 1.3rem;
 line-height:1.8;
}

/*--- course_conversion ---*/
.course_conversion {
 align-items:center;
 display:flex;
	flex-direction:column;
 row-gap:10px;
 padding:25px 280px 20px 15px;
 border:1px solid var(--gray_dd);
 border-radius:10px;
}

.course_conversion dl.tel {
	display:flex;
	flex-direction:column;
	row-gap:10px;
}

.course_conversion dl.tel dt {
	align-items:center;
	display:flex;
	justify-content:center;
 position:relative;
}

.course_conversion dl.tel dt.exclusive {
 background-color:var(--blue01);
	align-items:center;
	border-radius:20px;
	color:var(--blue);
	display:flex;
	flex:1;
	flex-direction:column;
	font-size:1.4rem;
	justify-content:center;
	gap:10px;
	padding:5px 15px 4px;
	position:relative;
}

.course_conversion dl.tel dt.exclusive:after {
 background-color:var(--blue01);
	height: calc(tan(60deg) * 16px / 2);
	content:" ";
	width: 16px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position:absolute;
	bottom:-10px;
	left:50%;
	margin-left:-8px;
 z-index:1;
}

.course_conversion dl.tel dt.exclusive span {
 z-index:2;
}

.course_conversion dl.tel dd {
	align-items:center;
	display:flex;
	justify-content:center;
}

.course_conversion dl.tel dd a {
	align-items:center;
	display:flex;
	gap:5px;
	justify-content:start;
}

.course_conversion dl.tel dd a img {
	width:22px;
	height:22px;
}

.course_conversion dl.tel dd a span {
	color:var(--blue);
	font-family:arial,helvetica,roboto;
	font-size:3.2rem;
	font-weight:600;
}

.course_conversion .accept_hour {
	align-items:center;
	column-gap:10px; 
	display:flex;
 flex-wrap:wrap;
	justify-content:center;
	row-gap:10px;
}

.course_conversion .accept_hour p {
	font-size: 1.3rem;
	font-weight:600;
	text-align:center;
}

.course_conversion .accept_hour ul {
	align-items:center;
 gap:15px;
 display:flex;
 flex-wrap:wrap;
	justify-content:center;
	row-gap:10px;
}

.course_conversion .accept_hour ul li {

}

.course_conversion .accept_hour ul li dl {
	align-items:center;
	column-gap:5px;
	display:flex;
	justify-content:start;
}

.course_conversion .accept_hour ul li dl dt {
	font-size: 1.2rem;
	flex: 0 1 80px;
	padding:3px;
	white-space: nowrap;
	min-width:50px;
}

.course_conversion .accept_hour ul li dl dd {
	letter-spacing:-0.03em;
	white-space: nowrap;
}

.course_conversion .accept_hour ul li dl dd span:first-child {
	font-size: 1.6rem;
	font-family: Arial;
	font-weight:600;
	letter-spacing:-0.01em;
}

.course_conversion .accept_hour ul li dl dd span:nth-child(2) {
	font-size: 1.2rem;
	letter-spacing:-0.03em;
}

.course_conversion .accept_hour ul li.weekdays dl dt {
	background-color:var(--blue01);
	color:var(--deepblue);
	text-align:center;
}

.course_conversion .accept_hour ul li.sat_sun_hol dl dt {
	background-color:var(--light_red);
	color:var(--red);
	text-align:center;
}

figure.image {
	position:absolute;
	aspect-ratio:1 / 1;
	right:80px;
	bottom:50px;
}

figure.image img {
	height:100%;
	width:100%;
	max-width:300px;
 width:23vw;
}