@charset "utf-8";
@import url('//fonts.googleapis.com/earlyaccess/notosansjapanese.css');

body {
	font: 100%/1.4;
	font-family: "Noto Sans Japanese";
	background-color: #8381b8;
	margin: 0;
	padding: 0;
	color: #000;
}

/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl {
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6{
	margin-top: 0;
	padding: 0;
}
p {
	padding: 0 0px;
	}
a img {
	border: none;
}
a:link {
	color:#000;
	text-decoration: none;
}
a:visited {
	color:#000;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: underline;
	color:#999;
}

/*ヘッダー*/
.header{
	position:relative;
	width: 100%;
	margin:0;
	padding:0;
	text-align:center;
	background-color: #000;
}
img.logoimg{/*ロゴ画像*/
	z-index:2;
	width: calc(100vw - 4em);
	max-width: 712px;
	min-width: 50px;
	height:auto;
	position: absolute;
	margin: 0;
	top:1em;
	left:1em;
}
img.headerimg{/*ヘッダー画像*/
	z-index:1;
	width: 100%;
	max-width: 2000px;
	min-width: 50px;
	height:auto;
	margin: 0 auto 0;
	position:relative;
	display: block;
}
img.headerimgsp{/*ヘッダー画像*/
	display:none;
	}

.cont01{/*コンテンツ１*/
	background-color: #000;
	background:url(../img/headbg03.jpg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:100% auto;
	margin: 0;
	padding: 50px 0 40px;
	color:#fff;
	text-align:center;
	font-size:large;
	font-weight:bold;
}
@media screen and (max-width: 768px) {
	.cont01 {
	background-color: #000;
	background:url(../img/headbg03s.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	padding: 30px 0 20px;
	}
img.headerimg{/*ヘッダー画像*/
	display:none;
	}
img.headerimgsp{/*ヘッダー画像*/
	z-index:1;
	width: 100%;
	max-width: 1000px;
	min-width: 50px;
	height:auto;
	margin: 0 auto 0;
	position:relative;
	display: block;
	}
}
@media screen and (max-width: 480px) {
	h1{
	font-size:x-large;
	}
	.cont01 {
		font-size: medium;
	}
}



.cont02{/*コンテンツ２・白*/
	background-color: #fff;
	margin: 0;
	padding: 50px 0 50px;
	text-align:center;
	font-weight:bold;
}
.cont03{/*コンテンツ3・背景あり*/
	background-color: #fff;
	background:url(../img/mes_bg.jpg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	margin: 0 0 0 0;
	padding: 50px 0 50px;
	text-align:center;
	line-height: 2em;
}
h2{
	font-size: xx-large;
	}
h3{
	font-size: xx-large;
	padding: 30px 0 0 0;
	}
h4{
	font-size: large;
	}
@media screen and (max-width: 640px) {
	.cont02{
	padding: 30px 0 30px;
	font-size: smaller;
	}
	.cont03{/*コンテンツ3・背景あり*/
	font-size: smaller;
	background-color: #fff;
	background:url(../img/mes_bgs.jpg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	}
}
@media screen and (max-width: 480px) {
	.cont02{/*コンテンツ2*/
	padding: 20px 0 20px;
	}
	.cont03{/*コンテンツ2*/
	padding: 20px 0 20px;
	text-align:left;
	}
h2,
h3{
	font-size: x-large;
	}
}

.qasub1{/*Q&A罫線*/
	width: 90%;
	max-width: 1080px;
	min-width: 50px;
	background:url(../img/dot_purple.gif);
	background-position:center top;
	background-repeat:repeat;
	margin: 0 auto;
	padding: 10px 0;
	}
.qasub2{/*Q&A白枠*/
	display:block;
	background-color: #fff;
	margin: 30px 40px;
	padding:30px 40px;
	border: 4px solid #000000;
	border-radius: 14px;
	text-align:left;
	}
img.qalogo{
	display:block;
	width: 50%;
	max-width: 90px;
	min-width: 100px;
	margin: 0 auto 10px;
	}
img.meslogo{
	display:block;
	width: 80%;
	max-width: 281px;
	min-width: 100px;
	margin: 0 auto 20px;
	}
img.inicon{
	display:block;
	width: 30%;
	max-width: 132px;
	min-width: 20px;
	margin: 0 auto 20px;
	}

/* 吹き出し灰 */
.balloon{
	display: inline-block;
  position: relative;
  padding: 12px 40px 13px;
  margin:0 0 20px 0;
  background-color: #8a8a8a;
  color: #fff;
  border-radius: 30px;
  font-size:150%;
  font-weight:bold;
}
/* 色付きの半円 */
.balloon::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 60%;
	-webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 55px;
  bottom: -23px;
  border-left: 40px solid #8a8a8a;
  border-top: 40px solid #8a8a8a;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
}
/* 白い半円 */
.balloon::after{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 60%;
	-webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 80px;
  bottom: -40px;
  border-left: 40px solid #ffffff;
  border-top: 40px solid #ffffff;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
}
.balloon2{/*qa解答・黄*/
	display:block;
	width: 85%;
	padding: 20px;
	margin: 30px auto;
	background-color: #74e000;
	background:url(../img/dot_green.gif);
	background-position:center top;
	background-repeat:repeat;
	color:#fff;
	text-align:left;
	border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
  font-size:150%;
  font-weight:bold;
}
.balloon3{/*qa解答・白*/
	display:block;
	width: 85%;
	padding: 20px;
	margin: 30px auto;
	background-color: #74e000;
	background:url(../img/dot_green.gif);
	background-position:center top;
	background-repeat:repeat;
	color:#fff;
	text-align:center;
	border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
}
a.balloon4{/*qa解答・黄*/
	display:block;
	width: 85%;
	padding: 20px 0;
	margin: 20px auto;
	background-color: #74e000;
	background:url(../img/dot_green.gif);
	background-position:center top;
	background-repeat:repeat;
	color:#fff;
	text-align:center;
	border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
  font-size:150%;
  font-weight:bold;
	text-decoration: underline;
}
a.balloon4:hover, a.balloon4:active, a.balloon4:focus {
	color: #ffff00;
	}
a.ballink{/*吹き出し内リンク*/
	display:inline-block;
	color:#fff;
	text-decoration: underline;
	font-size:x-large;
	font-weight:bold;
	margin: 10px 0 20px 0;
	}
a.ballink:hover, a.ballink:active, a.ballink:focus {
	color:#ffff00;
	text-decoration: none;
	}

img.qaimg1{
	width: 47%;
	max-width: 392px;
	min-width: 50px;
	height:auto;
	float:left;
	margin: 5px 5px 20px 0;
	}
img.qaimg2{
	width: 47%;
	max-width: 392px;
	min-width: 50px;
	height:auto;
	float:right;
	margin: 5px 5px 20px 0;
	}
@media screen and (max-width: 768px) {
.qasub2{/*Q&A白枠*/
	display:block;
	background-color: #fff;
	margin: 10px 20px;
	padding:10px 10px;
	border: 4px solid #000000;
	}
.balloon{
  margin:0 0 20px -10px;
  padding: 12px 35px;
  font-size:120%;
	}
.balloon2{/*qa解答・白*/
	width: 90%;
	margin: 20px auto;
	padding: 15px;
	}
.balloon3{/*qa解答・白*/
	width: 90%;
	margin: 20px auto;
	padding: 10px;
	text-align:left;
	}
a.balloon4,
a.ballink{
  font-size:120%;
	}
img.qaimg1,
img.qaimg2{
	width: 99%;
	height:auto;
	float:none;
	display:block;
	margin: 0 auto 20px;
	}
}
@media screen and (max-width: 480px) {
.qasub1{/*Q&A罫線*/
	width: 97%;
	}
a.balloon4,
a.ballink{
  font-size:100%;
	}
}

img.photop{/*写真3連横幅最大*/
	width:100%;
	height:auto;
	margin: 0;
}
img.photos{/*写真3連横幅最大*/
	display:none;
	width:100%;
	height:auto;
	margin: 0;
}
@media screen and (max-width: 768px) {
img.photop{/*写真3連横幅最大*/
	display:none;
	}
img.photos{/*写真3連横幅最大*/
	display: inline;
	}
}




/* ~~メインコンテナ・学校概要~~ */
.container {/*メインコンテナ*/
	width: 80%;
	max-width: 941px;
	min-width: 100px;
	margin: 0px auto;
}
.content {
	position:relative;
	padding: 0 20px;
	margin: 0;
	/*background-color: #fff;
	background:url(../img/main_rep.png);
	background-position:center top;
	background-repeat:repeat-y;
    background-size: 100% auto;*/
	text-align:center;
}
.content_w {
	position:relative;
	padding: 0 20px;
	margin: 0;
	color:#fff;
	text-align:center;
}
.content_w2 {
	position:relative;
	padding: 0 20px;
	margin: 0;
	color:#fff;
	text-align:center;
}
img.cont_top{
	width:100%;
	max-width:941px;
	min-width:50px;
	height:auto;
	margin:0;
	}
img.cont_logo{
	width:80%;
	max-width:318px;
	min-width:50px;
	height:auto;
	margin:0 0 30px 0;
	}
.cont_center{
	display:block;
	width:99%;
	text-align:center;
	}
.cont_left{
	display:block;
	width:99%;
	text-align:left;
	}
.cont_right{
	position:relative;
	display:block;
	width:99%;
	text-align:right;
}
a.to_top{/*TOP△*/
	display:inline-block;
	color:#000;
	text-decoration: none;
	font-size:x-large;
	font-weight:bold;
	margin: 20px 0 0 0;
	}
a.to_top:hover, a.to_top:active, a.to_top:focus {
	color:#ff0000;
	}

a.to_top2{/*TOP△白*/
	display:inline-block;
	color:#fff;
	text-decoration: none;
	font-size:x-large;
	font-weight:bold;
	margin: 20px 0 0 0;
	}
a.to_top2:hover, a.to_top2:active, a.to_top2:focus {
	color:#ffff00;
	}

.content2 {/*学校概要*/
	width: 100%;
	padding: 20px 0;
	margin: 40px 0 0 0;
	background-color: #fff;
	text-align:left;
}
.content2b {/*学校概要:黒補足*/
	display:block;
	width: 80%;
	padding: 10px 20px 20px;
	margin: 20px auto 0;
	background-color: #090054;
	color:#fff;
	text-align:left;
	border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}
p.cont_p{/*補足枠内p*/
	margin: 5px 20px 20px 20px;
	font-weight:bolder;
	}
li.cont_flex{
	display:flex;
	margin: 0 0 10px 0;
    align-items: center;
	}
.cont_span{/*補足枠リスト左*/
	display:inline-block;
	margin: 0 10px 0 3%;
	padding: 3px 0;
	width: 100px;
	background-color: #090054;
	color:#fff;
	text-align:center;
	border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
	}
.cont_span2{/*補足枠リスト右*/
	display:inline-block;
	width: auto;
	margin: 0 10px 0 0;
	padding: 0;
	}
.cont_sub{/*補足枠・2分割をまとめる*/
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
	width: 94%;
	margin: 20px 2% 0;
	}
img.img_sub{/*補足枠・画像2列*/
	width: 50%;
	max-width: 835px;
	min-width: 100px;
	height:auto;
	margin: 0 auto 0;
	vertical-align:bottom;
	}
img.img_sub2{/*補足枠・画像と文字：右*/
	width: 50%;
	max-width: 834px;
	min-width: 100px;
	height:auto;
	margin: 0 auto 0;
	}
.img_subtx{/*補足枠・画像と文字：左*/
	width: 50%;
	max-width: 834px;
	min-width: 100px;
	height:160px;
	margin: auto;
	padding:0 0 10px 0;
	text-align:center;
	}
img.sub_logo{
	width: 80%;
	max-width: 300px;
	min-width: 50px;
	margin: 0 auto 10px;
	}
@media screen and (max-width: 768px) {
.container {
	width: 95%;
	margin: 20px auto;
	}
.content,
.content_w {
	padding: 0 10px;
	}
a.to_top,
a.to_top2{
	margin: 5px 0 0 0;
	}
.img_subtx{
	font-size:smaller;
	}
}
@media screen and (max-width: 480px) {
.content,
.content_w {
	padding: 0 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
	}
.content_w2 {
	padding: 0 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
	text-align:left;
	}
.content2b{
	font-size: smaller;
	}
p.cont_p{/*補足枠内p*/
	margin: 0 10px 10px 10px;
	font-size: medium;
	}
li.cont_flex{
	margin: 0 0 5px 0;
	font-size: small;
	}
.cont_span{/*補足枠リスト左*/
	margin: 0 5px 0 10px;
	width: 75px;
	min-width: 75px;
	}
.cont_sub{
	width: 94%;
	margin: 10px 3% 0;
	}
img.img_sub,
img.img_sub2{/*補足枠・画像2列*/
	width:99%;
	}
.img_subtx{/*補足枠・画像と文字：左*/
	width: 99%;
	padding: 0 0 10px 0;
	float:none;
	}
img.sub_logo{
	width: 80%;
	max-width: 200px;
	min-width: 50px;
	margin: 0px auto 10px;
	}
}
/* ~~メインコンテナ・学校概要ここまで~~ */

/* ~~ その他の float/clear クラス ~~ */
.fltrt {
	float: right;
	margin-left: 8px;
}
.fltlft {
	float: left;
	margin-right: 8px;
}
.clearfloat {
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}
/* ~~ フッター ~~ */
.footer {
	width: 100%;
	margin: 30px 0 0 0;
	padding: 30px 0 120px;
	background-color: #fff;
	color:#333;
	text-align:center;
}
.foot_cr{
	font-size: small;
	}
#foot a:link{/*フッターリンク*/
	color:#000;
	text-decoration: underline;
	}
#foot a:hover,#foot a:active,#foot a:focus {
	color:#ccc;
	text-decoration: none;
	}

@media screen and (max-width: 720px) {
.footer {
	padding: 50px 0 70px;
	font-size: smaller;
	}
}
@media screen and (max-width: 480px) {
.footer {
	margin: 10px 0 0 0;
	padding: 30px 0 50px;
	}
}
.cont2map{/* ~~ googlemapサイズ枠pc ~~ */
	width: 100%;
	max-width: 600px;
	min-width: 50px;
	height: 420px;
	margin: 10px 0 20px 0;
	display: inline-block;
}
.cont2maps{/* ~~ googlemapサイズ枠pc ~~ */
	width: 100%;
	max-width: 600px;
	min-width: 50px;
	height: 300px;
	margin: 10px 0 20px 0;
	display: none;
}
@media screen and (max-width: 600px) {
.cont2map {
	display: none;
	}
.cont2maps {
	display: inline-block;
	}
}

/* 下部固定のメニュー */
div#floating-menu {
	display: table;
    position: fixed;
	height: 114px;
	width: 100%;
	bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 0px;
	background: rgba(255,255,255,0) url(../img/foot_bg.gif) repeat-x center bottom;
    z-index: 9998;
	text-align:center;
}
.floating-cell1{
	display: table-cell;
   width: 100%;
   max-width: 990px;
   height: auto;
}
.floating-btn{
	/* background: #ccc; */
    position: fixed;
	width: 100%;
	max-width: 290px;
	height: auto;
	bottom: 0px;
    left: 0px;
    right: 0px;
	z-index: 9999;
	margin: 0 auto 25px;
	padding: 0 20px 0 680px;
	text-align:right;
	}
.floating-btn2{/* 資料請求ボタン */
	width: 100%;
	max-width: 290px;
	min-width: 50px;
	height: auto;
	margin:0;
	display: block;
	}
.floating-btn2:hover,
.floating-btn2:active,
.floating-btn2:focus{
 filter:alpha(opacity=70); /* IE 6,7*/
   -moz-opacity:0.7; /* IE 8,9 */
   opacity:0.7;
}
@media screen and (max-width: 990px) {
div#floating-menu,
div#floating-btn {
	background: rgba(255,255,255,0) url( none);
   width: 100%;
   max-width: 990px;
   height: auto;
}
.floating-btn{
   width: 30%;
	padding: 0 2% 0 68%;
   max-width: 990px;
	margin: 0 auto 2.5%;
}
}

/* PCのみ・SPのみ表示 */
.mpc {
	display: inherit;
	}
.msp768,
.msp480,
.msp360 {
	display: none;
	}
@media screen and (max-width: 768px) {
.mpc {
	display: none;
	}
.msp768 {
	display: inline;
	}
}
@media screen and (max-width: 480px) {
.msp480 {
	display: inline;
	}
	.balloon3 br,
	.content_w2 br
	 {
		display: none;
	}
}
@media screen and (max-width: 360px) {
.msp360 {
	display: inline;
	}
}
