@charset "utf-8";

/*//////////////////////////////////////////////////////////////////////////////

	下層共通

//////////////////////////////////////////////////////////////////////////////*/

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

 ページタイトル

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

main > header {
	margin-bottom: 60px;
	padding: 60px 0;
	background: linear-gradient(45deg, rgba(var(--main-color),1) 0%, rgba(var(--sub-color),1) 100%);
}

main > header h1 {
	text-align: center;
	font-size: 2.66em;
	font-weight: bold;
	color: #FFF;
}

main > header .en {
	color: #FFF;
	text-align: center;
	font-size: 1.11em;
}
	
@media screen and (max-width: 1300px) {
	
main > header {
	margin-bottom: 40px;
	padding: 40px 0;
}
	
}

@media screen and (max-width: 940px) {
	
main > header {
	margin-bottom: 4vw;
	padding: 4vw 0;
}
	
main > header h1 {
	font-size: 1.8em;
}
	
main > header .en {
	font-size: .8em;
}
	
}

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

main > header h1 {
	font-size: 5.5vw;
}

}



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

	本文

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

/* セクション
------------------------------------------------------------------------------*/

body.contents main .site_column > section {
	overflow: hidden;
	padding: 100px 115px;
	margin-bottom: 60px;
	box-shadow: rgba(100,100,111,.2) 0 .5em 1.813em 0;
}

body.contents main .site_column > section > *:first-child {
	margin-top: 0;
}

body.contents main .site_column > section.comingsoon p {
	text-align: center;
}

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

body.contents main .site_column > section {
	padding: 70px 85px;
	margin-bottom: 40px;
}

}

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

body.contents main .site_column > section {
	padding: 40px 55px;
}

}

@media screen and (max-width: 767px) {
	
body.contents main .site_column > section {
	padding: 4.5vw 5.5vw;
	margin-bottom: 4vw;
}	
	
}



/* マージン上下
------------------------------------------------------------------------------*/

/* hx */
body.contents main h2,
body.contents main h3,
body.contents main h4,
body.contents main .selection .heading,
body.contents main h5,
body.contents main h6 {
	margin-top: 50px;
	font-weight: bold;
}

/* h2 */
body.contents main h2 {
	margin-bottom: 48px;
}

/* h3・h4・h5・h6 */
body.contents main h3,
body.contents main h4,
body.contents main .selection .heading,
body.contents main h5,
body.contents main h6,
body.contents main table {
	margin-bottom: 25px;
}

/* table・ul・ol・dl・figure */
body.contents main table,
body.contents main ul,
body.contents main ol,
body.contents main dl,
body.contents main figure {
	margin-top: 25px;
	margin-bottom: 25px;
}

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

/* hx */
body.contents main h2,
body.contents main h3,
body.contents main h4,
body.contents main .selection .heading,
body.contents main h5,
body.contents main h6 {
	margin-top: 5vw;
}

/* h2 */
body.contents main h2 {
	margin-bottom: 4vw;
}

/* h3・h4・h5・h6 */
body.contents main h3,
body.contents main h4,
body.contents main .selection .heading,
body.contents main h5,
body.contents main h6 {
	margin-bottom: 3vw;
}
	
/* table・ul・ol・dl・figure */
body.contents main table,
body.contents main ul,
body.contents main ol,
body.contents main dl,
body.contents main figure {
	margin-top: 3vw;
	margin-bottom: 3vw;
}

}


/* 見出し
------------------------------------------------------------------------------*/

/* h2 */
body.contents main h2 {
	position: relative;
	font-size: 2em;
	color: rgba(var(--main-color),1);
}

body.contents main h2::before {
	position: absolute;
	left: calc(-50% - 15px);
	top: .68em;
	content: '';
	display: block;
	width: 50%;
	height: 2px;
	background-color: rgba(var(--main-color),1);
}

/* h3 */
body.contents main h3 {
	padding: .65em 1em;
	font-size: 1.25em;
	background-color: rgba(var(--main-color),.15);
}

/* h4 */
body.contents main h4,
body.contents main .selection .heading {
	padding: .4em 0 .4em 1em;
	border-left: 5px solid rgba(var(--main-color),1);
}

body.contents main .selection .heading {
	line-height: 1.4;
}

/* h5 */
body.contents main h5 {
	padding-bottom: .5em;
	font-size: 1.125em;
	border-bottom: 2px solid rgba(var(--main-color),1);
}

/* h6 */
body.contents main h6 {
	font-size: .875em;
	font-style: italic;
}

@media screen and (max-width: 940px) {
	
body.contents main h2 {
	font-size: 1.4em;
}
	
body.contents main h3 {
	padding: .6em 1em;
	font-size: 1em;
}
	
}


/* 段落
------------------------------------------------------------------------------*/

body.contents main p {
	line-height: 1.8;
}


/* リスト
------------------------------------------------------------------------------*/

body.contents main li {
	line-height: 1.8;
}


/* テーブル
------------------------------------------------------------------------------*/

body.contents main th,
body.contents main td {
	padding: .6em 1em;
	border: 1px solid #CCC;
}

body.contents main th {
	font-weight: bold;
	background-color: rgba(0,0,0,.05);
}

body.contents thead th {
	background-color: rgba(0,0,0,.1) !important;
}


/* アンカー
------------------------------------------------------------------------------*/

body.contents main a {
	color: rgba(var(--main-color),1);
}

@media screen and (min-width: 768px) {

body.contents main a[href^="tel:"] {
	color: #333;
}

}


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

 参加登録まわり

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

main p.date {
	text-align: center;
}

/*	表
------------------------------------------------------------------------------*/

main .term thead th {
	text-align: center;
}

main #term .price thead th {
	white-space: nowrap;
}

main .term tbody td {
	text-align: right;
}

main .term tbody .sub {
	display: block;
	font-weight: normal;
}

main .term tbody tr.student td {
	text-align: center;
}


@media screen and (max-width: 767px) {
	
main #term .price {
	font-size: 2.5vw;
}

main #term .price th,
main #term .price td {
	padding: .5em;
}
	
}



















