@charset "utf-8";

/* -----------------------------------------------------
 リセット
------------------------------------------------------*/
body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,li,nav,ol,p,section,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;line-height:1.6em}
article,footer,header,nav,section,main{display:block}
table{border-collapse:collapse;border-spacing:0;margin:0;empty-cells:show}

/* -----------------------------------------------------
 共通設定
----------------------------------------------------- */
body {
  margin: 0 auto;
  padding: 0;
  font-family: "メイリオ",Meiryo,sans-serif,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN";
  color: #333;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6em;
  -webkit-text-size-adjust: 100%; }

p {	margin: 0.6em 0; }

img {
  max-width: 100%;
  width /***/:auto;　/*IE8用*/
  height: auto;
  border: none;
  vertical-align: middle; }

a {
  text-decoration: none;
  color: #333; }

a:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.80;
  opacity: 0.80; }

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
#page-top a {
  filter: alpha(opacity=90);
  -moz-opacity: 0.90;
  opacity: 0.90;
  background-color: transparent;
  text-decoration: none;
  color: #666;
  text-align: center;
  display: block;
  font-size: 50px;
}
#page-top a:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.60;
  opacity: 0.60;
  text-decoration: none;
}

.btn a {
  position: relative;
  padding: 0.4em 0.4em 0.4em 2.5em;
  line-height: 1.2;
  color: #333;
  font-size: 20px;
  font-weight: 500;
  display: block;
  border-radius: 1.6em;
  background: -moz-linear-gradient(-90deg, #BEBEBE, #97AAA9);
  background: -webkit-linear-gradient(-90deg, #BEBEBE, #97AAA9);
  background: linear-gradient(-90deg, #BEBEBE, #97AAA9);
  margin-bottom: 1em; }
.btn a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  color: #fff;
  font-weight: 900;
  position: absolute;
  font-size: 1.6em;
  left: 0.25em;
  bottom: 0; }

.list_btn li { 
  list-style: none!important;
  margin-left:-1.5em;}
.list_btn li > a {
  position: relative;
  display: block;
  padding: 0.4em 0.4em 0.4em 2.5em;
  line-height: 1.2;
  color: #333;
  font-size: 20px;
  font-weight: 500;
  border-radius: 1.6em;
  background: -moz-linear-gradient(-90deg, #BEBEBE, #97AAA9);
  background: -webkit-linear-gradient(-90deg, #BEBEBE, #97AAA9);
  background: linear-gradient(-90deg, #BEBEBE, #97AAA9);
  margin-bottom: 1em; }
.list_btn li > a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  color: #fff;
  font-weight: 900;
  position: absolute;
  font-size: 1.6em;
  left: 0.25em;
  bottom: 0; }

/* PDFリンク */
a.pdf::after {
  font-family: "Font Awesome 5 Free";
  content: "\f1c1";
  color: #fff;
  font-size: 1em;
  font-weight: 900;
  margin-left: 5px; }

/* PDFリンク（下線ありver.） */
a.pdf-bar {
  text-decoration: underline; }
a.pdf-bar::before {
  font-family: "Font Awesome 5 Free";
  content: "\f1c1";
  color: #333;
  font-size: 1em;
  font-weight: 900;
  margin-right: 5px; }


/* -----------------------------------------------------
 要素の配置
----------------------------------------------------- */
.txtL { text-align: left !important; }
.txtC { text-align: center !important; }
.txtR { text-align: right !important; }
.txtNB { word-break: keep-all; }

.colorRed { color: #f00;
  font-size: 0.75em; }

/* -----------------------------------------------------
 ヘッダー
----------------------------------------------------- */
#header {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  z-index: 99;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  border-top: 3px solid #4F0000; }
nav li { list-style: none!important; }
nav .sub-menu,.mean-container .mean-nav ul ul {
  background: #795955; }


/* -----------------------------------------------------
 フッター
----------------------------------------------------- */
#footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center; }
.links { padding-top: 20px; }
.links h2 {
  font-size: 26px;
  font-weight: 700;
  font-family: "Sawarabi Mincho", serif;
  color: #FFF; }
.links ul li {
  list-style: none;
  margin-bottom: 5px; }
.links ul li a {
  display: block;
  cursor: pointer;
  padding: 2px 20px;
  background: url(/img/bg_links.gif) center left no-repeat #FFF;
  box-shadow: -5px 0px 10px rgba(0,0,0,0.2) inset;
}

#address {
  padding-top: 20px;
  color: #FFF; }
#address .outline { margin-left: 50px; }
#address:after {
  display: block;
  content: "";
  clear: both; }

.copyright {
  background: #4F0000;
  padding: 5px;
  text-align: center;
  color: #F9F8F8;
  font-weight: normal;
  font-size: 13px; }


/* -----------------------------------------------------
 メインビジュアル
----------------------------------------------------- */
.swiper-container .swiper-slide {
  position: relative;
}
.swiper-container .swiper-slide .swiper-slide-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 6s ease 0s;
  color: #FFF;
  background: url(/img/mainvisual/bg_thumbnail.png) repeat;
  font-family: "Sawarabi Mincho", serif;
}


/* -----------------------------------------------------
 メインコンテンツ
----------------------------------------------------- */
#main ul, ol {
	margin: 20px 0 20px 1.5em; }
	
#main .main_container {
  background: -moz-linear-gradient(left, #FAF5F3, #FBF9F9 6%, #FEFDFC 94%, #FAF5F3);
  background: -webkit-linear-gradient(left, #FAF5F3, #FBF9F9 6%, #FEFDFC 94%, #FAF5F3);
  background: linear-gradient(to right, #FAF5F3, #FBF9F9 6%, #FEFDFC 94%, #FAF5F3); }
	
.bg_ttl_school, .bg_ttl_letter, .bg_ttl_study, bg_ttl_info {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2); }
		
h1.pageTitle {
  border-left: 7px solid #DF9982;
  border-bottom: 1px solid #DF9982;
  padding: 0 0 0 5px;
  color: #FFF;
  font-family: "Sawarabi Mincho", serif;
  width: 60%; }

h2.subTitle {
  position: relative;
  font-family: 'Sawarabi Mincho', serif;
  padding-left: 1.2em;
  line-height: 1.4;
  margin: 30px auto;
}
h2.subTitle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f02d";/*タグf02b, 本f02d チェックf14a クリップF0c6900 リーフf06c900*/
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0;
  color: #990000;
  font-weight: 900;
}

.pageback { margin-top: 10px; }
.pageback a {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.5; }
.pageback a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a8";
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0;
  color: #333;
  font-weight: 900; }
 

/* -----------------------------------------------------
 お知らせ
----------------------------------------------------- */
#topics {
  margin: 0 auto;
  padding: 30px 15%;
  background: #FBF9F9;
}
#topics h2 {
  font-size: 26px;
  font-weight: 700;
  font-family: "Sawarabi Mincho", serif;
}
#topics dl{
  width: 100%;
  overflow: hidden;
  border-bottom: 1px dotted #ccc;
}
#topics dt{
  width: 8em;
  float: left;
  padding: 5px 10px;
  border-top: 1px dotted #ccc;
  box-sizing: border-box;
}
#topics dd{
  margin-left: 8em;
  padding: 7px 10px 5px 10px;
  border-top: 1px dotted #ccc;
  box-sizing: border-box;
}
#topics dd:after{
  display: block;
  content: "";
  clear: both;
}
#entry_list {
  position : relative;
  height : 200px;
  overflow : auto;
  width : 100%;
  scrollbar-face-color: #FBF9F9;
  scrollbar-track-color: #FBF9F9;
  scrollbar-arrow-color: #666;
  scrollbar-shadow-color: #C8C8C8;
}

ul.shortlink {
  list-style-type: none;
  width:100%;
}
ul.shortlink li {
  position: relative;
  padding: 0.75em 2em 0.75em 2.5em;/*アイコン分のスペース*/
  line-height: 1.4;
  color: #ff6a6a;
  border-top: dotted 1px gray;
  background: #fffff4;
  font-size: 1.25em;
  font-weight: 700;
  font-family: 'Sawarabi Mincho', serif;
}
ul.shortlink li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  position: absolute;
  font-size: 1.5em;
  left: 0.25em;
  top: 0.3em;
  color: #ff6a6a;
}
ul.shortlink li:last-child {
  border-bottom: dotted 1px gray;
}
ul.shortlink li>A {	text-decoration: none;
  color: #ff6a6a; }
ul.shortlink li>A:hover {
  text-decoration: underline; }
	


/* -----------------------------------------------------
 バナー
----------------------------------------------------- */
.bnr_info { padding: 30px 15%; }
.bnr_info ul:after { 
  content: ""; 
  clear: both; 
  display: block; 
} 
.bnr_info ul li { 
  display: block; 
  float: left; 
  width: 50%;
  text-align: center;
} 
/* 両端揃え
.bnr_info ul li:nth-child(2n-1) {
	  text-align: left; 
}
.bnr_info ul li:nth-child(2n) {
	  text-align: right; 
}*/
.bnr_info ul li:nth-child(3) { display: none; }
.bnr_info ul li:last-child { display: none; }



/* -----------------------------------------------------
 フッターナビ
----------------------------------------------------- */
.f_nav { margin: 1px auto; }
.f_nav ul {
  text-align: center;
  letter-spacing: -.4em;
}
.f_nav ul:after { 
  content: ""; 
  clear: both; 
  display: block; 
} 
.f_nav ul li { 
  position: relative;
  display: -moz-inline-box;
  display: inline-block;
  letter-spacing: normal;
  padding: 0 10px;
  border-right: 1px solid #666;
}
.f_nav ul li:last-child { border: none; }


/* -----------------------------------------------------
 コンテンツ共通
----------------------------------------------------- */
#main { margin: 0 auto; }
#main:after {
  display: block;
  content: "";
  clear: both; }


/* 表 枠線あり */
.common_tbl th, .common_tbl td {
  border: 1px solid #888;
  padding: 5px; }
.common_tbl th {
  background-color: #EEE;
  font-weight: 700;
  vertical-align: top;
  word-break: keep-all; }
.common_tbl_color caption {
  padding: 5px;
  margin-bottom: 5px;
  background-color: #069;
  color: #fff;
  border-radius: 5px;
  text-align: left; }
.common_tbl_color th, .common_tbl_color td {
  border: 1px solid #888;
  padding: 5px;
  vertical-align: top; }
.common_tbl_color th {
  background-color: #9FC8C0;
  font-weight: 700;
  vertical-align: top;
  word-break: keep-all; }
.common_tbl_color tr:nth-child(2n+1) td {
  background-color: #EAF2F0; }
.common_tbl_color td.col_color {
  background-color: #EAF2F0; }

.common_dl dt { font-weight: 600; }
.common_dl dt:after { content: "："; }
.common_dl dd {	text-indent: 1em; }


.tbl_all { width: 100%; }

/* 表 枠線なし */
.noborder_tbl th, .noborder_tbl td {
  border: none;
  background-color: transparent!important; }


.floatL_contents {
  position: relative;
  display: block;
  float: left; }
.floatR_contents { float: right; }
.floatR_contents:after {
  display: block;
  content: "";
  clear: both; }


/* 教育方針 */
.educational-policy {
  background:url(/school/img/bg_policy.png) bottom center no-repeat;
  background-size: cover;
  padding: 10px 0;
  text-align: center;
  font-family: "Sawarabi Mincho", serif;
}

/* 研究概要 */
.study_theme {
  position: relative;
  border: 2px double #990000;
  padding: 15px 10px 10px 10px;
  margin: 30px 0 20px 0;
  text-align: center; }
.study_theme > .tag {
  position: absolute;
  top: -15px;
  left: 10px;
  font-size: 16px!important;
  background: #FBF9F9;
  padding: 0 10px; }
 
.study_dl {
  width: 100%;
  overflow: hidden; }
.study_dl dt{
  float: left;
  padding: 5px 5px 5px 0;
  font-weight: 600; }
.study_dl dd{
  margin-left: 5.5em;
  padding: 5px 5px 5px 0; }
.study_dl dd.em7{ margin-left: 7.5em!important; }
.study_dl dd:after{
  display: block;
  content: "";
  clear: both; }

/* サイトマップ */
.sitemap_dl {
  float: left;
  width: 47%;
  margin: 0 1% 1em 0; }
.sitemap_dl dt, .sitemap_dl dd {
  padding: 5px; }
.sitemap_dl dt {
  border: none;
  border-radius: 3px 3px 0 0;
  color: #fff; }
.category1 dt {	background-color: #099; }
.category2 dt {	background-color: #C7B776; }
.category3 dt {	background-color: #F93; }
.category4 dt {	background-color: #99F; }
.category5 dt {	background-color: #6C6; }
.sitemap_dl dd { 
  position: relative;
  padding-left: 1.5em; }
.category1 dd {
  border-left: 1px solid #099;
  border-right: 1px solid #099; }
.category1 dd:last-child { border-bottom: 1px solid #099; }
.category2 dd {
  border-left: 1px solid #C7B776;
  border-right: 1px solid #C7B776; }
.category2 dd:last-child { border-bottom: 1px solid #C7B776; }
.category3 dd {
  border-left: 1px solid #F93;
  border-right: 1px solid #F93; }
.category3 dd:last-child { border-bottom: 1px solid #F93; }
.category4 dd {
  border-left: 1px solid #99F;
  border-right: 1px solid #99F; }
.category4 dd:last-child { border-bottom: 1px solid #99F; }
.category5 dd {
  border-left: 1px solid #6C6;
  border-right: 1px solid #6C6; }
.category5 dd:last-child { border-bottom: 1px solid #6C6; }
.sitemap_dl dd:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  color: #333;
  font-weight: 900;
  position: absolute;
  font-size: 1em;
  left: 0.25em; }

@media only screen and ( max-width : 768px ) {
  /* 共通設定 */
  body { font-size: 14px; }
  .normal_container { padding: 0 30px; }

  /* ヘッダー */
  #header {
    padding: 10px 0;
    height: 42px; }
  .h_logo {
    width: 280px;
    position: absolute;
    top: 2px;
    left: 7px;
    z-index: 100; }
  #header .bnr_unesco { display: none; }
  #g_nav .nav {
    overflow-y: auto;
    height: 100vh; }
  .mean-nav .normal_container {
    padding: 0; }

  #main .main_container {
    margin: 20px 5%;
    padding: 1em; }

  /* ページタイトル */
  .bg_ttl_info {
    background: url(/info/img/bg_ttl_info-max768.jpg) top right no-repeat;
    padding: 20px 20px 20px 20px; }
  .bg_ttl_school {
    background: url(/school/img/bg_ttl_school-max768.jpg) top right no-repeat;
    padding: 20px 20px 20px 20px; }
  .bg_ttl_letter {
    background: url(/letter/img/bg_ttl_letter-max768.jpg) top right no-repeat;
    padding: 20px 20px 20px 20px; }	
  .bg_ttl_study {
    background: url(/study/img/bg_ttl_study-max768.jpg) top right no-repeat;
    padding: 20px 20px 20px 20px; }	
  .bg_ttl_pta {
    background: url(/pta/img/bg_ttl_pta-max768.jpg) top right no-repeat;
    padding: 20px 20px 20px 20px; }	
  .bg_ttl_admission {
    background: url(/admission/img/bg_ttl_admission-max768.jpg) top right no-repeat;
    padding: 20px 20px 20px 20px; }	
  h1.pageTitle {
	font-size: 22px;
	font-weight: 600;
	width: 90%; }
  h2.subTitle {
    font-size: 20px;
    font-weight: 600; }
  
  /* フッター */
  .copyright { padding: 5px 20px; }
  
  /* メインビジュアル */
  .swiper-container .swiper-slide .swiper-slide-content {
    padding: 10px 20px;
    font-size: 18px;
  }

  /* メイン */
  #main { padding: 0;
    padding-top: 55px; }
  .swiper-slide img { width: 100%; }
  .bnr_info ul li { 
    width: 100%;
    margin-bottom: 30px; }
  .bnr_info ul li:nth-child(2) { display: none; }
  .bnr_info ul li:nth-child(3) { display: block; }
  .bnr_info ul li:last-child { display: block; }

  /* 教育方針 */
  .educational-policy {
    font-size: 18px;
    font-weight: 700; }

  .list_btn li > a { font-size: 17px; }

  .col2 li {
    margin-left: 0; }

  /* お知らせ */  
  .topi_left_box {  width: 100%; }
  .topi_right_box {
	  width: 90%; 
	  background: #FBF9F9; }

}
@media only screen and ( max-width : 480px ) {
  /* 共通設定 */
  .normal_container { padding: 0 20px; }

  /* ヘッダー */
  #header {
    background: url(/img/bg_header_fusyo-max480.jpg) 0px 0px no-repeat;
  }
  
  /* メインビジュアル */
  .swiper-container .swiper-slide .swiper-slide-content {
    padding: 2px 5px;
    font-size: 12px;
  }
  
  /* お知らせ */
  #topics { padding: 30px 15px; }
  #topics dl{ width: 100%; }
  #topics dt{
    width: 100%;
    float: none; }
  #topics dd{
    margin-left: auto;
    border-top: none;
    border-left: none; }

  #main .main_container {
    margin: 10px 0;
    padding: 1em; }
  
  /* フッター */
  #footer {
    display: block;
    background: url(/img/bg_footer_fusyo-max480.jpg) 0px 0px no-repeat;
  }
  
  /* 関連リンク */
  .links h2 {
    font-size: 22px;
    font-weight: 600; }
	
  .bnr_info { padding: 30px 0%; }

  /* 教育方針 */
  .educational-policy {
    font-size: 17px;
    font-weight: 600; }

  .list_btn li > a { font-size: 15px; }

  /* 研究テーマ */
  .study_theme {
    font-size: 20px;
    font-weight: 600; }
}
@media only screen and ( min-width : 481px ) {
  /* ヘッダー */
  #header {
    background: url(/img/bg_header_fusyo.jpg) 0px 0px no-repeat;
  }
  
  /* フッター */
  #footer {
    background: url(/img/bg_footer_fusyo.jpg) 0px 0px no-repeat;
  }
}
@media print, screen and ( min-width : 769px ) {
  /* 共通設定 */
  .normal_container { padding: 5px 30px; }

  #main .main_container {
    margin: 30px 15%;
    padding: 0.7em 2em 2em 2em; }

  /* ヘッダー */
  #header { height: 110px; }
  .h_logo img { width: 410px; }
  #header .bnr_unesco {	display: block; }
  #h_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #g_nav {
	background: url(/img/bg_mainmenu.gif) center left repeat-x;
  }
  #g_nav ul {
	text-align: center;
	letter-spacing: -.4em; }
  #g_nav li {
    position: relative;
	display: -moz-inline-box;
	display: inline-block;
	letter-spacing: normal;
	border-left: 1px solid #BF9D91; }
  #g_nav li:last-child {
	border-right: 1px solid #BF9D91; }
  #g_nav li a {
    padding: 0 30px;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	font-family: "Sawarabi Mincho", serif;
	letter-spacing: 0.2em;
    line-height: 40px; }
  
  /* アンカー下線アニメーション */
  #g_nav .nav > li > a {
    position: relative;
    display: inline-block; }
  #g_nav .nav > li > a::after {
    position: absolute;
    bottom: 8px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #990000;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s; }
  #g_nav .nav > li > a:hover::after {
    transform: scale(1, 1); }

  /* サブメニュー */
  #g_nav .sub-menu {
    visibility: hidden;
	background-color: #ECDDD7;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 0px;
	left: 1px;
    width: 130%; }
  #g_nav .sub-menu li {
    display: block;
    padding: 0;
    margin: 0;
	border: none; }
  #g_nav .sub-menu a {
    display: block;
    padding: 12px;
    font-size: 15px!important;
    border: none;
	text-align: left;
	letter-spacing: 0!important;
    line-height: 1em; }
  #g_nav .sub-menu a:hover:after {
    content: none; }
  #g_nav li:hover ul.sub-menu {
    top: 40px;
    visibility: visible;
    opacity: 1;
    z-index: 9999; }
  #g_nav li ul li:after {
    content: none; }
  #g_nav li:hover ul.sub-menu a {
    color: #333;
	background-color: #ECDDD7; }
  #g_nav li:hover ul.sub-menu li a:hover {
    background-color: #fff;
	border: none; }

  /* ページタイトル */
  .bg_ttl_info {
    background: url(/info/img/bg_ttl_info.jpg) top right no-repeat;
    padding: 30px 50px 50px 30px; }	
  .bg_ttl_school {
    background: url(/school/img/bg_ttl_school.jpg) top right no-repeat;
    padding: 30px 50px 50px 30px; }	
  .bg_ttl_letter {
    background: url(/letter/img/bg_ttl_letter.jpg) top right no-repeat;
    padding: 30px 50px 50px 30px; }	
  .bg_ttl_study {
    background: url(/study/img/bg_ttl_study.jpg) top right no-repeat;
    padding: 30px 50px 50px 30px; }	
  .bg_ttl_pta {
    background: url(/pta/img/bg_ttl_pta.jpg) top right no-repeat;
    padding: 30px 50px 50px 30px; }	
  .bg_ttl_admission {
    background: url(/admission/img/bg_ttl_admission.jpg) top right no-repeat;
    padding: 30px 50px 50px 30px; }	
  h1.pageTitle {
    font-size: 30px;
    font-weight: 700; }
  h2.subTitle {
    font-size: 25px;
    font-weight: 700; }

  /* メイン */
  #main { padding-top: 120px; }
  .swiper-slide img {
    width: 100%;
    height: 500px; }
  
  /* メインビジュアル */
  .swiper-container .swiper-slide .swiper-slide-content {
    padding: 20px 40px;
    font-size: 26px;
  }

  /* 教育方針 */
  .educational-policy {
    font-size: 25px;
    font-weight: 700; }

  /* 研究テーマ */
  .study_theme {
    font-size: 25px;
    font-weight: 700; }

  .col2 li {
    float: left;
    width: 45%;
    margin-left: 1em; }
  .col2:after {
    display: block;
    content: "";
    clear: both; }
	 
  /* お知らせ欄 */
  #topics { height : 260px; }
  .topi_left_box {
	  width: 70%;
	  float: left;
	  margin-right: 1em; }
  .topi_right_box {
	  width: 25%;
	  float: left; }
}

