@charset "utf-8";

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

/* index */

body.index main section.sec1 {
	width: 100%;
	height: 40vw;
	margin: 30px 0 40px;
	border-top: solid 5px #55356d;
	border-bottom: solid 5px #55356d;
	background: url("../../img/main.jpg") no-repeat -40px center;
	background-size: cover;
}

body.index main section.sec1 p {
	height: 40vw;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 18vw 0 0;
	background: #000;
	text-align: center;
}
body.index main section.sec1 p span {
	display: inline-block;
	width: 82vw;
	margin: 0 auto;
	letter-spacing: 0.05em;
	text-align: left;
	font-size: 4vw;
	font-weight: bold;
	font-style: italic;
}

body.index main section.sec2 ul {
	overflow: hidden;
	margin: 0 0 45px;
}
body.index main section.sec2 img {
	display: block;
}
body.index main section.sec2 li:nth-child(1) {
	width: 49%;
	float: left;
}
body.index main section.sec2 li:nth-child(2) {
	width: 49%;
	float: right;
}

body.index main section.sec3 {
	margin: 0 4%;
}
body.index main section.sec3 h2 {
	margin: 0 0 20px;
	font-size: 1.9rem;
	font-style: italic;
	color: #ffe535;
}
body.index main section.sec3 h2 strong {
	font-size: 2.3rem;
	font-weight: bold;
	font-style: italic;
}
body.index main section.sec3 h2 br {
	display: none;
}
body.index main section.sec3 p.lead_img {
	width: 50%;
	margin: 0 auto 10px;
}
body.index main section.sec3 p.lead_txt {
	margin: 0 0 30px;
	font-style: italic;
	color: #ffe535;
}

body.index main section.sec3 dl {
	margin: 0 0 40px;
}
body.index main section.sec3 dl img {
	float: right;
	margin: 0 0 10px 15px;
	width: 40%;
}

body.index main section.sec3 dt {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: solid 4px #fff;
	font-size: 2.2rem;
	font-weight: bold;
}
body.index main section.sec3 dt span.en {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 1.4rem;
}
body.index main section.sec3 dt span.misc {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
	font-style: italic;
}
body.index main section.sec3 dd.txt {
	font-size: 1.4rem;
}
body.index main section.sec3 dd ul {
	margin: 20px 0 0;
}
body.index main section.sec3 dd ul li {
	box-sizing: border-box;
	margin: 0 0 15px;
	padding: 0 0 0 10px;
	border-left: solid 4px #fff;
	font-size: 1.4rem;
	font-style: italic;
}
body.index main section.sec3 dd ul li span {
	display: inline-block;
	margin: 0 0 5px;
}

body.index main section.sec4 h2 {
	margin: 0 0 20px;
}
body.index main section.sec4 ul {
	margin: 10px 0 40px;
	padding: 20px 13px;
	overflow: hidden;
	background: #f3f3f3;
}
body.index main section.sec4 ul li {
	width: 80%;
	margin: 0 auto 20px;
	padding: 0 7px;
	box-sizing: border-box;
}
body.index main section.sec4 ul li img {
	border: solid 3px #fff;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
}
body.index main section.sec4 ul li img {
	border: solid 3px #fff;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
}
body.index main section.sec4 ul p.img {
	margin: 0 0 10px
}
body.index main section.sec4 ul p.date {
	margin: 0 0 8px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #0a378a;
}
body.index main section.sec4 ul dt {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 0 12px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #0a378a;
}
body.index main section.sec4 ul dd {
	height: 80px;
	overflow: hidden;
	line-height: 1.4;
	font-size: 1.6rem;
	font-weight: bold;
	color: #666;
}

/* about */

body.about main section {
	margin: 20px auto 20px;
}

body.about main section.sec1 {
	margin: 20px auto 0;
}

body.about main section h2 {
	margin: 30px 0 20px;
	padding: 8px 4% 6px;
	background: #55356d;
	background: linear-gradient(-90deg,#000,#55356d,#55356d);
	vertical-align: middle;
	color: #fff;
	line-height: 1.4;
	font-weight: bold;
	font-size: 2rem;
	font-style: italic;
}
body.about main section h3 {
	margin: 20px 4% 10px;
	box-sizing: border-box;
	padding: 8px 15px 8px;
	background: #2a2a2a;
	border-radius: 10px;
	color: #ffe535;
	line-height: 1.4;
	font-weight: bold;
	font-size: 1.8rem;
	font-style: italic;
}
body.about main section > p {
	margin: 20px 4% 10px;
	font-size: 1.4rem;
	font-style: italic;
	text-align: justify;
}
body.about main section > p + p {
	margin: 20px 4% 10px;
}
body.about main section > p strong {
	font-style: italic;
}

body.about main section.sec1 dl {
	margin: 20px 4% 10px;
}

body.about main section.sec1 dt {
	float: right;
	width: 55%;
	font-size: 2rem;
	font-weight: bold;
}

body.about main section.sec1 dt span.en {
	display: block;
	font-size: 1.4rem;
}
body.about main section.sec1 dt span.misc {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
	font-style: italic;
}
body.about main section.sec1 dl img {
	float: left;
	width: 40%;
	margin: 0 0 20px;
}
body.about main section.sec1 dd.txt {
	clear: both;
}
body.about main section.sec1 dd ul {
	margin: 20px 0 0;
	overflow: hidden;
}
body.about main section.sec1 dd ul li {
	box-sizing: border-box;
	margin: 0 0 15px;
	padding: 0 0 0 10px;
	border-left: solid 4px #fff;
	font-size: 1.4rem;
	font-style: italic;
}
body.about main section.sec1 dd ul li span {
	display: inline-block;
	margin: 0 0 5px;
}

body.about main section.sec2 {
	overflow: hidden;
}
body.about main section.sec2 ol {
	margin: 20px 4% 10px;
	font-size: 1.4rem;
	font-weight: bold;
	font-style: italic;
}
body.about main section.sec2 ul {
	margin: 20px 4% 10px 8%;
	font-size: 1.4rem;
	font-style: italic;
	list-style-type: disc;
}
body.about main section.sec2 ul span {
	font-size: 1.5rem;
}

body.about main section.sec5 table {
	margin: 20px 4% 10px;
}
body.about main section.sec5 th {
	padding: 10px 10px 8px;
	font-weight: bold;
	font-size: 1.6rem;
	background: #55356d;
}
body.about main section.sec5 th small {
	font-size: 1.4rem;
}
body.about main section.sec5 th span {
	display: block;
	font-size: 1.4rem;
	font-weight: normal;
}
body.about main section.sec5 td {
	padding: 10px 10px 8px;
	font-size: 1.4rem;
	font-weight: normal;
	color: #333;
	background: #fff;
}

/* movie */

body.movie main section {
	margin: 20px auto 20px;
}
body.movie main section p.lead {
	margin: 20px 0 5px;
	font-size: 1.8rem;
	font-weight: bold;
	font-style: italic;
}
body.movie main section p.lead_sub {
	font-size: 1.4rem;
	font-style: italic;
}
body.movie main section li {
	padding: 20px 0 0;
	border-top: solid 4px #55356d;
	overflow: hidden;
}
body.movie main section li:first-child {
	border-top: none;
}
body.movie main section li dl {
	margin: 0 4% 20px;
}
body.movie main section li dt {
	margin: 0 0 10px;
	padding: 3px 5px 3px 10px;
	background: #55356d;
	background: linear-gradient(-90deg,#000,#55356d,#55356d,#55356d);
	font-size: 1.4rem;
	font-weight: bold;
	font-style: italic;
}
body.movie main section li dd {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
body.movie main section li dd iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* course */

body.course main section {
	margin: 20px auto 20px;
}
body.course main section.sec1 {
	margin: 20px auto 0;
}
body.course main section.sec1 p:nth-of-type(1) {
	margin: 20px 4% 0;
	font-size: 1.8rem;
	font-weight: bold;
	font-style: italic;
}
body.course main section.sec1 p:nth-of-type(2) {
	margin: 5px 4% 0;
	font-size: 1.4rem;
	font-style: italic;
}
body.course main section.sec2 {
	box-sizing: border-box;
	padding: 15px 4%;
	overflow: hidden;
	background: #fff;
	color: #333;
	font-style: italic;
}
body.course main section.sec2 dl {
	position: relative;
}
body.course main section.sec2 div {
	margin: 20px 0 0;
	width: 100%;
	height: 300px;
}
body.course main section.sec2 div iframe {
	width: 100%;
	height: 300px;
}
body.course main section.sec2 dl dt {
	font-size: 2rem;
	font-weight: bold;
}
body.course main section.sec2 dl dd:nth-of-type(1) {
	position: absolute;
	top: 20px;
	right: 0;
	width: 18%;
}
body.course main section.sec2 dl dd:nth-of-type(2) {
	margin: 5px 0 5px;
	font-size: 1.7rem;
}
body.course main section.sec2 dl dd:nth-of-type(3) {
	margin: 0 0 15px;
	font-size: 1.4rem;
}
body.course main section.sec2 dl dd:nth-of-type(3) span {
	display: inline-block;
	font-size: 1.3rem;
	line-height: 1.2;
}

body.course main section.sec3 {
	margin: 0 auto 60px;
	padding: 20px 0 0;
	border-top: solid 6px #55356d;
}
body.course main section.sec3 p.txt {
	margin: 15px 4% 0;
	text-align: center;
	font-style: italic;
	font-size: 2rem;
	font-weight: bold;
}
body.course main section.sec3 p span {
	font-size: 1.2rem;
	font-weight: normal;
}
/* qa */

body.qa main section {
	margin: 20px auto 60px;
}

body.qa main section dl {
	margin: 20px 4% 0;
	font-style: italic;
	font-size: 1.4rem;
	color: #333;
	background: #fff;
}
body.qa main section dl dt {
	display: table-cell;
	height: 66px;
	width: 800px;
	box-sizing: border-box;
	padding: 5px 10px 5px 75px;
	vertical-align: middle;
	background: url("../../qa/img/icon_q.png") no-repeat 10px center;
	font-weight: bold;
}
body.qa main section dl dd {
	min-height: 74px;
	box-sizing: border-box;
	padding: 0 10px 10px 75px;
	background: url("../../qa/img/icon_a.png") no-repeat 10px 3px;
	border-bottom: solid 15px #000;
}
body.qa main section dl dd a {
	color: #0d328f;
}

/* news */

body.news main section {
	margin: 20px auto 60px;
}
body.news main section h1 {
	margin: 0 0 20px;
}
body.news main section article > dl {
	margin: 0 0 40px;
}
body.news main section article > dl > dt {
	position: relative;
	margin: 0 0 20px;
	padding: 10px 120px 8px 15px;
	background: #55356d;
	color: #fff;
	font-weight: bold;
	font-size: 2rem;
	font-style: italic;
}
body.news main section article > dl > dt span {
	position: absolute;
	top: 1.2em;
	right: 10px;
	font-weight: normal;
	font-size: 1.3rem;
}
body.news main section article > dl > dd {
	margin: 0 4% 20px;
	font-style: italic;
	font-size: 1.4rem;
}

body.news main section nav {
}
body.news main section nav dt {
	padding: 10px 15px 8px 15px;
	background: #55356d;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	font-style: italic;
}
body.news main section nav dd {
	padding: 10px 15px 8px 15px;
	background: #fff;
}
body.news main section nav dd a {
	color: #0d328f;
	font-size: 1.4rem;
	font-style: italic;
}

/* contact */

body.contact main section {
	margin: 20px auto 60px;
	border-top: solid 4px #55356d;
	border-bottom: solid 4px #55356d;
}

body.contact main section article {
	padding: 45px 4%;
	border-top: solid 8px #000;
	border-bottom: solid 8px #000;
	background: #fff;
	color: #333;
	font-size: 1.4rem;
}
body.contact main section article table {
}
body.contact main section article th {
	display: block;
	padding: 0 0 5px;
	vertical-align: top;
}
body.contact main section article th span {
	display: inline-block;
	margin: 0 6px 0 0;
	padding: 3px 6px;
	font-size: 1.2rem;
	background: #ba2e24;
	color: #fff;
	text-align: center;
}
body.contact main section article td {
	display: block;
	padding: 0 0 5px;
}
body.contact main section article td span {
	color: #ff4646;
}
body.contact main section article td input[type="text"],
body.contact main section article td textarea {
	max-width: 280px;
	border: solid 1px #ccc;
}
body.contact main section article tr:nth-child(2) td {padding: 0 0 15px;}
body.contact main section article tr:nth-child(3) td {padding: 0 0 15px;}
body.contact main section article tr:nth-child(4) td {padding: 0 0 15px;}
body.contact main section article tr:nth-child(5) td {padding: 0 0 15px;}
body.contact main section article tr:nth-child(7) td {padding: 0 0 15px;}
body.contact main section article tr:nth-child(8) td {padding: 0 0 25px;}
body.contact main section article tr:nth-child(10) td {padding: 0 0 25px;}
body.contact main section article tr:nth-child(12) td {padding: 0 0 25px;}
body.contact main section article tr:nth-child(12) td input {margin: 0 0 5px;}
body.contact main section article tr:nth-child(15) td {padding: 0 0 25px;}
body.contact main section article tr:nth-child(17) td {padding: 0 0 25px;}


body.contact main section article tr:nth-child(1) td input,
body.contact main section article tr:nth-child(2) td input,
body.contact main section article tr:nth-child(9) td input,
body.contact main section article tr:nth-child(10) td input {width: 100px;}


body.contact main section article p.notice {
	margin: 5px 0 20px;
	color: #ff4646;
	font-size: 1.4rem;
}
body.contact main section article table {
	margin: 0 0 20px;
}
body.contact main section article p.confirm {
	margin: 0 0 5px;
	font-size: 1.4rem;
}
body.contact main section article p.btn {
	margin: 0 0 25px;
	padding: 5px 0 3px;
	text-align: center;
	background: #dedede;
	font-size: 1.4rem;
	font-weight: bold;
}
body.contact main section article div.privacypolicy {
	height: 150px;
	overflow: auto;
	box-sizing: border-box;
	margin: 10px 0 20px;
	padding: 20px 15px 0;
	border: solid 1px #ccc;
}
body.contact main section article div.privacypolicy p {
	max-height: initial;
	max-height: auto;
	margin: 0 0 1em;
	font-size: 1.4rem;
}
body.contact main section article div.privacypolicy ol {
	max-height: initial;
	max-height: auto;
	margin: 0 0 1em 2em;
	list-style-type: decimal;
}
body.contact main section article div.privacypolicy ol li {
	margin: 0 0 0.5em;
	font-size: 1.4rem;
}
body.contact main section article div.privacypolicy a {
	color: #333;
	text-decoration: underline;
}
body.contact main section article p.submit input {
	display: block;
	width: 267px;
	height: 57px;
	margin: 0 auto;
	box-sizing: border-box;
	background: url("../../contact/img/button_bg.png") no-repeat;
	color: #fff;
	border: none;
	font-size: 2rem;
}
body.contact main section.done {
	padding: 50px 4%;
	font-size: 2rem;
}
body.contact main section.done br {
	display: none;
}

/* policy */

body.policy main section {
	margin: 20px 4% 60px;
}
body.policy main section div.box {
	margin: 0 0 30px;
	padding: 20px 10px 5px;
	border: solid 1px #fff;
}
body.policy main section h3 {
	margin: 0 0 1.5em;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
}
body.policy main section h2 {
	margin: 0 0 2em;
	padding: 0 0 0.5em;
	border-bottom: solid 2px #fff;
	font-size: 1.8rem;
	font-weight: bold;
}
body.policy main section p {
	margin: 0 0 1.5em;
	font-size: 1.4rem;
}
body.policy main section ol {
	max-height: initial;
	max-height: auto;
	margin: 0 0 1.5em 2em;
	list-style-type: decimal;
}
body.policy main section ol li {
	margin: 0 0 0.5em;
	font-size: 1.4rem;
}
body.policy main section a {
	text-decoration: underline;
}

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

} /* @media end */
