@charset "UTF-8";

/*   教習コース（course.css）   */

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

Main

------------------------------------------------- */
#Main {
	width: 100%;
}
#Main .Section {
	margin: 0 0 120px;
	position: relative;
	/*overflow: hidden;	*/
}
#Main .Section:first-child {
	margin: 80px 0 120px;
}
#Main .Section h2 {
	text-align: center;
	margin: 0 auto 50px;
}
@media screen and (max-width: 898px)  {
#Main .Section {
	margin: 0 0 100px;
}
#Main .Section:first-child {
	margin: 50px 0 100px;
}
}
@media screen and (max-width: 480px)  {
#Main .Section {
	margin: 0 0 80px;
}
#Main .Section:first-child {
	margin: 30px 0 80px;
}
}
@media print {
#Main .Section {
	overflow:visible;
}
#Main .Section:last-child {
	padding-bottom: 120px;
}
}


/* 見出し（h2）
================================================== */

@media screen and (max-width: 898px)  {
.Heading__h2_course	{
	padding: 0 10%;
}
}
@media screen and (max-width: 640px)  {
.Heading__h2_course.title01 img	{
	height: 52px;
}
}
@media screen and (max-width: 480px)  {
.Heading__h2_course	{
	padding: 0 3%;
}
.Heading__h2_course.title01 img	{
	height: 42px;
}
}

/* 見出し（h3）
================================================== */
.Heading__h3_course	{
	font-family: "Noto Serif", serif;
	font-weight:bold;
	font-size: 4rem;
	color: #272343;
	position:relative;
	display: flex;
	align-items:baseline;
	line-height: 1;
	letter-spacing: 0.1em;
	margin: 0 0 20px;
}
h3 > div::first-letter{
	color:#45848b;
}

@media screen and (max-width: 768px)  {
.Heading__h3_course	{
	font-size:3.4rem;
	margin: 0 0 15px;
}
}
@media screen and (max-width: 480px)  {
.Heading__h3_course	{
	font-size:2.8rem;
	letter-spacing: 0.1em;
}
}


/* 車両の種類
================================================== */
.Vehicle_Type__wrp {
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;
}
.VT_text	{
	font-size:1.8rem;
	line-height: 2;
	margin-bottom: 20px;
}
.Vehicle_Type	{
	border: 4px solid #272343;
	border-radius: 20px;
	padding: 40px;
}
.Vehicle_Type p	{
	font-size:1.8rem;
	line-height: 2;
}
.VT_box	{
	display: flex;
	justify-content: space-between;
	/*align-items: center;*/
	margin: 25px 0;
}
.VT_box__Left	{
	flex-basis: 440px;	
}
.VT_box__Right	{
	flex-basis: calc(100% - 440px); 	
	text-align: center;
}
.VT_box__Right img.car	{
	width: 300px;
}
.VT_box__Right img.m_car	{
	width: 200px;
}
.VT_box__Right img.l_car	{
	width: 220px;
}
@media screen and (max-width: 1100px)  {
.Vehicle_Type__wrp {
	width: 95%;
}
}
@media screen and (max-width: 898px)  {
.VT_box__Left	{
	flex-basis: 360px;	
}
.VT_box__Right	{
	flex-basis: calc(100% - 360px); 	
}
.VT_box__Right img.m_car	{
	width: 160px;
}
.VT_box__Right img.l_car	{
	width: 180px;
}
}
@media screen and (max-width: 768px)  {
.VT_text	{
	font-size:1.6rem;
}
.Vehicle_Type p	{
	font-size:1.6rem;
}
.VT_box__Left	{
	flex-basis: 300px;	
}
.VT_box__Right	{
	flex-basis: calc(100% - 300px); 	
}
.VT_box__Right img.car	{
	width: 240px;
}
}
@media screen and (max-width: 640px)  {
.Vehicle_Type__wrp {
	margin: 0 auto 50px;
}
.VT_text	{
	line-height: 1.7;
}
.Vehicle_Type	{
	border-radius: 14px;
	padding: 30px;
}
.Vehicle_Type p	{
	line-height: 1.7;
}
.VT_box	{
	align-items:flex-start;
	flex-direction: column;
	margin: 15px 0 0;
}
.VT_box__Left	{
	flex-basis: 100%;	
	margin-bottom: 15px;
}
.VT_box__Right	{
	flex-basis: 100%;
	margin-left: auto;
}
.VT_box__Right img.car	{
	width: 200px;
}
.VT_box__Right img.m_car	{
	width: 120px;
}
.VT_box__Right img.l_car	{
	width: 140px;
}

}
@media screen and (max-width: 480px)  {
.Vehicle_Type	{
	padding: 25px 15px;
}
.Vehicle_Type p	{
	font-size: 1.4rem;
	line-height: 1.7;
}
}


/* asterisk 箇条書き（●印）
================================================== */
dl.asterisk	{
	width: 100%;
}
dl.asterisk dt	{
	font-weight: 500; 
	font-size: 1.8rem;
	line-height: 2;
	padding-left: 22px;
	position: relative;
}
dl.asterisk dt::before	{
	content: "●";
	position: absolute;
	top:4px;
	left: 0px;
	font-size: 1.4rem;
}
dl.asterisk dd	{
	padding-left: 22px;
	line-height: 2;
	margin-bottom: 15px;
}
dl.asterisk dd:last-child	{
	margin-bottom: 0px;
}
@media screen and (max-width: 768px)  {
dl.asterisk dt	{
	font-size: 1.6rem;
	padding-left: 20px;
}
dl.asterisk dt::before	{
	top:5px;
	font-size: 1.2rem;
}
dl.asterisk dd	{
	font-size: 1.4rem;
	padding-left: 20px;
}	
}
@media screen and (max-width: 480px)  {
dl.asterisk dt	{
	font-size: 1.4rem;
	line-height: 1.7;
	padding-left: 16px;
	margin-bottom: 5px;
}
dl.asterisk dt::before	{
	top:3px;
	font-size: 1rem;
}
dl.asterisk dd	{
	line-height: 1.7;
	padding-left: 16px;
}	
}

/* 箇条書き（点）
================================================== */
.point_disc ul	{
 padding: 0 0 0 1em;/*ボックス内の余白*/
 list-style:none;
	font-size: 1.8rem;
	margin-bottom: 25px;
}
.point_disc ul li	{
	display: flex;
	margin-bottom: 10px;
}
.point_disc ul li > div:first-child	{
	flex-basis: 130px;
}
.point_disc ul li > div:last-child	{
	flex-basis: calc(100% - 130px); 
}
@media screen and (max-width: 768px)  {
.point_disc ul	{
	font-size: 1.6rem;
}
.point_disc ul li > div:first-child	{
	flex-basis: 110px;
}
.point_disc ul li > div:last-child	{
	flex-basis: calc(100% - 110px); 
}
}
@media screen and (max-width: 480px)  {
.point_disc ul	{
	padding: 0 0 0 0.5em;
	font-size: 1.4rem;
	margin-bottom: 15px;
}
.point_disc ul li	{
	margin-bottom: 5px;
}
.point_disc ul li > div:first-child	{
	flex-basis: 100px;
}
.point_disc ul li > div:last-child	{
	flex-basis: calc(100% - 100px); 
}

}


/* 重要なお知らせ
================================================== */
.Important_News__wrp	{
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;
}
.Important_News	{
	border: 4px solid #272343;
	border-radius: 10px;
	padding: 40px;
	/*max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;*/
}
.Important_News p	{
	font-size:1.8rem;
	line-height: 2;
	margin-bottom: 10px;
}
.Important_News p:last-child	{
	margin-bottom: 0px;
}
.Important_News p strong	{
	font-weight: 700;
}
.IN_title	{
	font-size:2.4rem;
	font-weight: 700;
	color: #e67a7a;
	line-height: 2;
	margin-bottom: 10px;
}
@media screen and (max-width: 1100px)  {
.Important_News__wrp	{
	width: 95%;
}
}
@media screen and (max-width: 768px)  {
.Important_News	{
	padding: 30px 40px;
}
.Important_News p	{
	font-size:1.6rem;
}
.IN_title	{
	font-size:2rem;
}
}
@media screen and (max-width: 640px)  {
.Important_News__wrp	{
	margin: 0 auto;
}
}
@media screen and (max-width:480px)  {
.Important_News	{
	padding: 20px;
}
.Important_News p	{
	font-size:1.4rem;
	line-height: 1.7;
}
.IN_title	{
	font-size:1.8rem;
	line-height: 1.7;
}
}


/* 角丸ボタン
================================================== */
.Btn_waku14px_radius	{
	max-width: 500px;
	width: 100%;
	margin: 25px auto;
}
.Btn_waku14px_radius a	{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 14px;
	border: 2px solid #272343;
	padding: 15px;
	font-size: 1.8rem;
	font-weight: 600;
	color: #272343;
	position: relative;
	background-color: #9DDCDC;
}
.Btn_waku14px_radius a::before {
  border-bottom: 1px solid #272343;
  border-right: 1px solid #272343;
		transform: rotate(-45deg);
  content: "";
  width: 8px;
  height: 8px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  transition: right .5s;
}
.Btn_waku14px_radius a:hover::before {
  right: 10px;
}
.Btn_waku14px_radius a:hover	{
 /*opacity: 0.7;
 filter: alpha(opacity=70);
 -moz-opacity: 0.7;*/
	background-color: #ffffff;
	transition: .3s;
	text-decoration: none;
}
@media screen and (max-width:640px)  {
.Btn_waku14px_radius	{
	margin: 40px auto 0;
}
}
@media screen and (max-width:480px)  {
.Btn_waku14px_radius a	{
	border-radius: 7px;
	padding: 12px 26px 12px 20px;
	font-size: 1.6rem;
}
}


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

Course

------------------------------------------------- */
.Course__wrp	{
	/*max-width: 1200px;*/
	max-width: 900px;
	width: 100%;
	margin: 0 auto 80px;
	position: relative;
	display: flex;
	justify-content: space-between;
}
.Course__wrp:last-child	{
	margin: 0 auto;
}
@media screen and (max-width: 1250px)  {
.Course__wrp	{
	width: 95%;
}
}
@media screen and (max-width: 640px)  {
.Course__wrp	{
	margin: 0 auto 50px;
}
}

/* 区切り線（ストライプ）
================================================== */



.Course__Box {
	width: 100%;
}
@media screen and (max-width: 768px)  {
.Course__Box p {
	font-size: 1.4rem;
}
}

.p_yellow {	/* thの背景色 */
	background: #ffe561 !important;
}


/* 車両区分
================================================== */
.vehicle01 table {
	width: 900px;
	border-spacing: 0;
	border-collapse: separate;
	margin: 10px 0;
}
.vehicle01 table th,
.vehicle01 table td {
	border-bottom: 1px solid #272343;
	border-right: 1px solid #272343;
	text-align: center;
	vertical-align: middle;
	color: #272343;
}
.vehicle01 table th{
	padding: 15px 5px;
	background: #bae8e8;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.2;
}
.vehicle01 table tr:first-child th {
	border-top: 4px solid #272343;
	border-bottom: 2px solid #272343 !important;
	background: #e3f6f5;
}
.vehicle01 table tr th:first-child  {
	border-left: 4px solid #272343;
	background: #bae8e8;
}
.vehicle01 table td{
	padding: 15px 5px;
	background: #FFFFFF;
	font-size: 2rem;
}
.vehicle01 table th:last-child,
.vehicle01 table td:last-child{
	border-right: 4px solid #272343;
}
.vehicle01 table tr:last-child th,
.vehicle01 table tr:last-child td{
	border-bottom: 4px solid #272343;
}
.vehicle01 table tr:first-child :first-child{
	border-top-left-radius: 10px;
}
.vehicle01 table tr:first-child :last-child{
	border-top-right-radius: 10px;
}
.vehicle01 table tr:last-child :first-child{
	border-bottom-left-radius: 10px;
}
.vehicle01 table tr:last-child :last-child{
	border-bottom-right-radius: 10px;
}

@media screen and (max-width: 965px)  {
.vehicle01 {
	overflow-x: scroll;
	/*white-space: nowrap;*/
	width: 100%;
}
.vehicle01 table {
	width: 900px;
}
}
@media screen and (max-width: 768px)  {
.vehicle01 table {
	width: 700px;
}
.vehicle01 table th{
	padding: 5px;
	font-size: 1.6rem;
}
.vehicle01 table td{
	padding: 15px 5px;
	font-size: 1.8rem;
}
}
@media screen and (max-width: 480px)  {
.vehicle01 table {
	width: 440px;
}
.vehicle01 table th{
	padding: 5px;
	font-size: 1.4rem;
}
.vehicle01 table td{
	padding: 10px 5px;
	font-size: 1.6rem;
}
}

/* 料金表（普通車 AT教習＋審査）
================================================== */
.pricelist02 table {
	width: 900px;
	border-spacing: 0;
	border-collapse: separate;
	margin: 10px 0;
}
.pricelist02 table th,
.pricelist02 table td {
	border-bottom: 1px solid #272343;
	border-right: 1px solid #272343;
	text-align: center;
	vertical-align: middle;
	color: #272343;
}
.pricelist02 table th{
	padding: 15px 5px;
	background: #bae8e8;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.2;
}
.pricelist02 table tr:first-child th {
	border-top: 4px solid #272343;
}
.pricelist02 table tr th:first-child  {
	border-left: 4px solid #272343;
}
.pricelist02 table tr:first-child th:first-child{
	background: #ffffff;
}
.pricelist02 table tr:first-child th:nth-child(2){
	border-right: none;
}
.pricelist02 table tr:first-child th:nth-child(3){
	border-left: 1px solid #272343;
}
.pricelist02 table tr:nth-child(2) th:nth-child(1) {
	border-left: none;
	width: 10%;
}
.pricelist02 table tr:nth-child(2) th:nth-child(2) {
	width: 10%;
}
.pricelist02 table tr:nth-child(2) th:nth-child(3) {
	border-right: none;
	width: 10%;
}
.pricelist02 table tr td:nth-child(4) {
	border-right: none;
}
.pricelist02 table tr td:last-child{
	border-left: 1px solid #272343;
}
.pricelist02 table td{
	padding: 15px 5px;
	background: #FFFFFF;
	font-size: 2rem;
}
.pricelist02 table th:last-child,
.pricelist02 table td:last-child{
	border-right: 4px solid #272343;
}
.pricelist02 table tr:last-child th,
.pricelist02 table tr:last-child td{
	border-bottom: 4px solid #272343;
}
.pricelist02 table tr:first-child :first-child{
	border-top-left-radius: 10px;
}
.pricelist02 table tr:first-child :last-child{
	border-top-right-radius: 10px;
}
.pricelist02 table tr:last-child :first-child{
	border-bottom-left-radius: 10px;
}
.pricelist02 table tr:last-child :last-child{
	border-bottom-right-radius: 10px;
}

@media screen and (max-width: 965px)  {
.pricelist02 {
	overflow-x: scroll;
	/*white-space: nowrap;*/
	width: 100%;
}
.pricelist02 table {
	width: 900px;
}
}
@media screen and (max-width: 768px)  {
.pricelist02 table {
	width: 700px;
}
.pricelist02 table tr:nth-child(2) th:nth-child(3) {
	white-space: nowrap;
}
.pricelist02 table th{
	padding: 5px;
	font-size: 1.6rem;
}
.pricelist02 table td{
	padding: 15px 5px;
	font-size: 1.8rem;
}
}
@media screen and (max-width: 480px)  {
.pricelist02 table {
	width: 440px;
}
.pricelist02 table th{
	padding: 5px;
	font-size: 1.4rem;
}
.pricelist02 table td{
	padding: 10px 5px;
	font-size: 1.6rem;
}
}

/* 料金表（中型／大型／大型特殊）
================================================== */
.pricelist03 table {
	width: 900px;
	border-spacing: 0;
	border-collapse: separate;
	margin: 10px 0;
}
.pricelist03 table th,
.pricelist03 table td {
	border-bottom: 1px solid #272343;
	border-right: 1px solid #272343;
	text-align: center;
	vertical-align: middle;
	color: #272343;
}
.pricelist03 table th{
	padding: 15px 5px;
	background: #bae8e8;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.5;
}
.pricelist03 table tr:first-child th {
	border-top: 4px solid #272343;
}
.pricelist03 table tr th:first-child  {
	border-left: 4px solid #272343;
}
.pricelist03 table tr:first-child th:first-child{
	background: #ffffff;
}
.pricelist03 table tr:first-child th:nth-child(2){
	border-right: none;
}
.pricelist03 table tr:first-child th:nth-child(3){
	border-left: 1px solid #272343;
}
.pricelist03 table tr:nth-child(2) th:nth-child(2) {
	border-right: none;
}
.pricelist03 table tr:nth-child(2) th:nth-child(1) {
	border-left: none;
}
.pricelist03 table tr td:nth-child(3) {
	border-right: none;
}
.pricelist03 table tr td:nth-child(4) {
	border-left: 1px solid #272343;
}

.pricelist03 table td{
	padding: 15px 5px;
	background: #FFFFFF;
	font-size: 2rem;
}
.pricelist03 table th:last-child,
.pricelist03 table td:last-child{
	border-right: 4px solid #272343;
}
.pricelist03 table tr:last-child th,
.pricelist03 table tr:last-child td{
	border-bottom: 4px solid #272343;
}
.pricelist03 table tr:last-child td.remarks {	/*  table下の備考  */
	border-left: 4px solid #272343;
	font-size: 1.6rem;
}
.pricelist03 table tr:first-child :first-child{
	border-top-left-radius: 10px;
}
.pricelist03 table tr:first-child :last-child{
	border-top-right-radius: 10px;
}
.pricelist03 table tr:last-child :first-child{
	border-bottom-left-radius: 10px;
}
.pricelist03 table tr:last-child :last-child{
	border-bottom-right-radius: 10px;
}

@media screen and (max-width: 965px)  {
.pricelist03 {
	overflow-x: scroll;
	/*white-space: nowrap;*/
	width: 100%;
}
.pricelist03 table {
	width: 900px;
}
}
@media screen and (max-width: 768px)  {
.pricelist03 table {
	width: 700px;
}
.pricelist03 table th{
	padding: 5px;
	font-size: 1.6rem;
}
.pricelist03 table td{
	padding: 15px 5px;
	font-size: 1.8rem;
}
.pricelist03 table tr:last-child td.remarks {	/*  table下の備考  */
	font-size: 1.4rem;
}
}
@media screen and (max-width: 480px)  {
.pricelist03 table {
	width: 440px;
}
.pricelist03 table th{
	padding: 5px;
	font-size: 1.4rem;
}
.pricelist03 table td{
	padding: 10px 5px;
	font-size: 1.6rem;
}
.pricelist03 table tr:last-child td.remarks {	/*  table下の備考  */
	font-size: 1.2rem;
}
}



/* 表（複数列）　横スクロールバーありの場合に表示
================================================== */
@media all and (min-width: 899px) {
.table_sp {
		display: none !important;
	}
}
@media all and (max-width: 898px) {
	.table_sp {
		display: block !important;
	}
}



/* Privacy__Box
================================================== */
.Privacy__Box dl {
	margin-top: -20px;
	margin-left: 40px;
	line-height: 2;
	display: flex;
	flex-flow: row wrap;
}
.Privacy__Box dt {
	flex-basis: 35px;
	margin-bottom:20px;
}
.Privacy__Box dd {
	flex-basis: calc(100% - 35px); 
	margin-bottom:20px;
}
.Privacy__Box ol {
	display: flex;
	flex-flow: column wrap;
	margin-top:10px;
}
.Privacy__Box li {
	list-style-type: decimal;
	margin-left: 30px;
	padding-left: 5px;
	padding-bottom:10px;
}
.Privacy__Box a	{
	color: #C50118;
	transition: .3s;  
}
@media screen and (max-width: 768px)  {
.Privacy__Box dl {
	margin-top: -10px;
	font-size: 1.4rem;
}
.Privacy__Box dt {
	flex-basis: 25px;
}
.Privacy__Box dd {
	flex-basis: calc(100% - 25px); 
}
}
@media screen and (max-width: 480px)  {
.Privacy__Box dl {
	margin-left: 0px;
}
.Privacy__Box dt,.Privacy__Box dd {
	margin-bottom:10px;
}
.Privacy__Box li {
	margin-left: 10px;
	padding-bottom:5px;
}
}
