@charset "UTF-8";
/* CSS Document */
@import url("common.css");
@import url("detail.css");
@import url("top.css");
/*  -------------------------------------------------------------------------------------------------------------------- */
/* ベースレイアウト設定 */
/*  -------------------------------------------------------------------------------------------------------------------- */
* {
  padding: 0;
  margin: 0;
}

html, body {
  height: 100%;
  margin: 0;
  width: 100%;
}

html {
  font-size: 100%;
}

body {
  font-size: 0.95rem;
  font-family: "M PLUS Rounded 1c";
  font-weight: 400;
  color: #1F1913;
  letter-spacing: 0.2em;
  line-height: 1.8;
	
}
@media (max-width: 735px) {
  body {
    letter-spacing: 0.05em;
    font-size: 96%;
  }
}

@media print {
  body {
    width: 1200px;
    transform: scale(0.8);
    -moz-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    transform-origin: 0 0;
  }
}
a:link, a:visited {
  color: #222;
  text-decoration: none;
}

/* ページ幅 */
.wrap {
  margin: auto;
  width: 1000px;
}
@media (max-width: 1025px) {
  .wrap {
    width: 92%;
  }
}

.innnerWrap {
  margin: auto;
  width: 900px;
}
@media (max-width: 1025px) {
  .innnerWrap {
    width: 90%;
  }
}

.titleWrap {
  margin: 0 auto 12px;
  width: 1000px;
}
@media (max-width: 1025px) {
  .titleWrap {
    width: 92%;
  }
}
@media (max-width: 735px) {
  .titleWrap {
    width: 100%;
    margin: 0 auto 1.7rem;
  }
}

/*  -------------------------------------------------------------------------------------------------------------------- */
/* header */
/*  -------------------------------------------------------------------------------------------------------------------- */


header {
  background: linear-gradient(to bottom, #005B8B, #19729C);
  padding: 30px 0 15px;
}

#health header {
	background:none;
}

@media (max-width: 1025px) {
  header {
    padding: 25px 0 10px;
  }
}
@media (max-width: 735px) {
  header {
    padding: 5px 0 0px;
  }
	
	#health header {
		padding: 20px 0 0px;
	}
}
header .wrap {
  position: relative;
	margin: 0 auto;
}
header h1 {
  text-align: center;
}
@media (max-width: 735px) {
  header h1 {
    width: 80%;
    margin: 10px auto 0;
    text-align: center;
    padding: 1.5rem 0 0 0;
  }
  header h1 img {
    width: 100%;
  }
}


.headLink {
  position: absolute;
  left: 0;
  top: -20px;
  color: #fff;
  font-size: 85%;
}

#health .headLink{
	color:#156AB3;
	}

@media (max-width: 1025px) {
  .headLink {
    position: absolute;
    top: -10px;
  }
}
@media (max-width: 735px) {
  .headLink {
    font-size: 70%;
    position: absolute;
    top: -10px;
  }
}
.headLink a:link, .headLink a:visited {
  color: #fff;
}
.headLink:before {
  content: url(../images/common/arrow.png);
  display: inline-block;
  width: 3px;
  height: 6px;
  margin: 0 5px 0px 0;
}



#health .headLink a:link,#health .headLink a:visited {
  color: #156AB3;
}
#health .headLink:before {
  content: url(../images/common/arrow_blue.png);
  display: inline-block;
  width: 3px;
  height: 6px;
  margin: 0 5px 0px 0;
}






.logo {
  position: absolute;
  top: 0;
}
@media (max-width: 735px) {
  .logo {
    position: static;
  }
}
.logo a {
  display: block;
  background: #EE594E;
  width: 190px;
  height: 250px;
  writing-mode: vertical-rl;
  position: relative;
  box-sizing: border-box;
  display: flex;
  /* 子要素をflexboxで揃える */
  flex-direction: column;
  /* 子要素をflexboxにより縦方向に揃える */
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  align-items: center;
  /* 子要素をflexboxにより中央に配置する */
}
@media (max-width: 1025px) {
  .logo a {
    width: 150px;
    height: 200px;
  }
}
@media (max-width: 735px) {
  .logo a {
    writing-mode: horizontal-tb;
    width: auto;
    height: auto;
    display: block;
  }
}
.logo a:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  display: block;
  width: 12px;
  height: 119px;
  background-image: url(../images/common/glitterLine.png);
  background-size: contain;
  background-repeat: no-repeat;
  /*画像を繰り返さない*/
}
@media (max-width: 1025px) {
  .logo a:before {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
  }
}
@media (max-width: 735px) {
  .logo a:before {
    content: none;
  }
}
.logo a:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  display: block;
  width: 12px;
  height: 119px;
  background-image: url(../images/common/glitterLine.png);
  background-size: contain;
  background-repeat: no-repeat;
  /*画像を繰り返さない*/
}
@media (max-width: 1025px) {
  .logo a:after {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
}
@media (max-width: 735px) {
  .logo a:after {
    position: static;
    content: "";
    top: 10%;
    left: 0;
    display: block;
    width: 119px;
    height: 12px;
    background-image: url(../images/common/glitterLine_sp.png);
  }
}

/* ヘッダナビ */
/*  ------------------------------------------------------------ */


/*========================================================= */
/* メニュ */
/*========================================================= */
.menu {
  margin: 0;
  padding: 0;
  position: absolute;
  top: -6%;
  right: 0%;
}

@media (max-width: 735px) {
  .menu {
   top: -2%;
  }
}

.nav-button {
  display: none;
}

.nav a {
  color: #000;
  text-decoration: none;
  font-size: 16px;
}
@media (max-width: 1025px) {
  .nav a {
    font-size: 14px;
  }
}
.nav li {
  display: inline-block;
  margin: 0 10px;
}
@media (max-width: 1025px) {
  .nav li {
    margin: 0 5px;
  }
}

.nav-wrap.open {
  display: block;
}

.nav-wrap.close {
  display: none;
}

.content {
  padding: 20px 0 0 0;
}

.nav-button {
  display: block;
  cursor: pointer;
}

.nav-wrap {
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  z-index: 10;
  background-color: #005a8d;
  width: 100%;
  height: 100%;
	overflow: auto;
	 -webkit-overflow-scrolling: touch;
}

.nav-wrap a{color: #fff;}


.nav-wrap .wrap{
	width: 1140px;
	margin: 0 auto;
	padding: 30px 0;}


.nav-wrap .menuOpenHead .title{
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	height: auto;
}

.nav-wrap .nav {
  height: 100%;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 1.5rem 0 0;
}

.naviMenu{margin: 30px auto; align-items: flex-start;}
.naviMenu dl{
	width: 23.5%;
	border: solid 1px #4a8bb1;
	box-sizing: border-box;
	color: #fff;
	text-align: center;
	font-weight: 500;
	letter-spacing: -0.01rem;
}

.naviMenu dl dt{
	background:#4a8bb1;
	padding: 5px 0;
	font-size: 108%;
}


.naviMenu dl dd:not(:last-child) {
	border-bottom: solid 1px #4a8bb1;
}
.naviMenu dl dd a{display:block; padding: 10px 0; line-height:1.5;}
.naviMenu dl dd a:hover{background:#004E86;}


@media (max-width: 1025px) {
  .nav-wrap .menuOpenHead .title{font-size: 1.3rem;}
	.naviMenu{margin: 10px auto;}
  .nav-wrap .wrap{
	width: 94%;
	padding: 20px 0;}
	.naviMenu dl{
	width: 48.5%;
		margin: 0 auto 1.5rem;
	}
}

@media (max-width: 735px) {
  .nav-wrap .menuOpenHead .title{font-size: 1.15rem;}
	.naviMenu{margin: 0 auto;}
  .nav-wrap .wrap{
	width: 94%;
	padding: 1rem 0;}
	.naviMenu dl{
	width: 100%;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
	}
	.naviMenu dl dt{
		width: 100%; display: block;
	}
	.naviMenu dl dd{
		width: 49.99999999999%;
		font-size: 90%;
	}
	.naviMenu dl dd:nth-child(8){
		width: 100%;
	}
	.naviMenu dl dd:nth-child(2n){
		border-right: 1px solid #4a8bb1; box-sizing: border-box;
	}
}

@media (max-width: 320px) {
 .nav-wrap .menuOpenHead .title{font-size: 1.05rem; line-height: 1.5; margin: 0 0 0.8rem;}
}




ul.nav li.on a {
  color: #F05849;
}

/*========================================================= */
/* content */
/*========================================================= */
#content {
  margin: 10px auto 6rem;
}
@media (max-width: 1025px) {
  #content {
    margin: 10px auto 4rem;
  }
}
@media (max-width: 735px) {
  #content {
    margin: 0 auto 3rem;
  }
}


.wrap {
  width: 1000px;
  margin: 0 auto 50px;
}
@media (max-width: 1025px) {
  .wrap {
    width: 90%;
    margin: 0 auto 2rem;
  }
}

@media (max-width: 735px) {
  .wrap {margin: 0 auto;}
  .spWrap {
    width: 94%;
    margin: 0 auto;
  }
}


.title {
  background: url(../images/common/titleBg.jpg) no-repeat center;
  height: 130px;
}
@media (max-width: 735px) {
  .title {
    height: 80px;
  }
}

#pankuzu {
  padding: 0 0 0 270px;
}
@media (max-width: 1025px) {
  #pankuzu {
    padding: 0;
  }
}

#content .innnerWrap {
  margin: 70px auto 0;
}
@media (max-width: 1025px) {
  #content .innnerWrap {
    margin: 40px auto 0;
  }
}
@media (max-width: 735px) {
  #content .innnerWrap {
    margin: 0px auto 0;
  }
}

/*========================================================= */
/* hタイトル */
/*========================================================= */
.hTitle {
	color:#00588c;
    font-size: 1.8rem;
    font-weight: 600;
	text-align: center;
    margin: 4.8rem auto 2.8rem;
    line-height: 1.5;
}
@media (max-width: 1025px) {
.hTitle {
	font-size: 1.4rem;
	margin: 3rem auto 2rem;}
}
	
@media (max-width: 735px) {
.hTitle {
	font-size: 1.15rem;
	margin: 1rem auto 1.8rem;
	}
}





/* 「■」見出し　*/
/*  ------------------------------------------------------------ */
.sq {
  font-weight: 500;
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  display: flex;
  align-items: baseline;
}
.sq:before {
  content: "■";
  padding-right: 0.2rem;
  color: #76B6F2;
  font-size: 1.1rem;
}

/*========================================================= */
/* パンくず */
/*========================================================= */
#pankuzu ul.pankuzuIn {
  margin: 0 auto;
  text-align: left;
}
#pankuzu ul.pankuzuIn li {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  font-size: 14px;
  letter-spacing: -0.01rem;
  padding: 0px 20px 0 0px;
  color: #004C66;
}
#pankuzu ul.pankuzuIn li:after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-top: #6B6B6B solid 1px;
  border-right: #6B6B6B solid 1px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -2px;
}
#pankuzu ul.pankuzuIn li a {
  color: #004C66;
}

#pankuzu ul.pankuzuIn li a:hover {
  text-decoration: underline;
}

#pankuzu .pankuzuIn > a:first-child {
  padding: 0 25px 0 0;
}

#pankuzu ul.pankuzuIn li:last-child::after {
  display: none;
}

@media (max-width: 735px) {
  #pankuzu ul.pankuzuIn {
    display: none;
  }
}
/*========================================================= */
/* リンク */
/*========================================================= */
a.linkColor {
  color: #0766B3;
  text-decoration: underline;
}

/*========================================================= */
/* フッター */
/*========================================================= */
footer {
  background-color: #006E9F;
  color: #fff;
  text-align: center;
  padding: 50px 0 40px;
  box-sizing: border-box;
  font-size: 85%;
  letter-spacing: 0rem;
}
@media (max-width: 735px) {
  footer {
    padding: 40px 10px 40px;
  }
}

address {
  font-style: normal;
}

.copyright {
  margin: 1.6rem auto 0;
}

/* 表テーブル*/
/*  ------------------------------------------------------------ */
table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 0 10px;
  border-bottom: none;
  box-sizing: border-box;
  width: 100%;
}
table td {
  padding: 10px;
  border: solid 1px #CCCCCC;
  box-sizing: border-box;
}
table td.colorTD {
  background: #F7F7F7;
  text-align: center;
  box-sizing: border-box;
}
table th {
  padding: 10px;
  border: solid 1px #CCCCCC;
  background: #F7F7F7;
  font-weight: 500;
  box-sizing: border-box;
}
table.type2 th {
  background: #666666;
  color: #fff;
  font-weight: 400;
}
table.noneColor th {
  background: none;
}
table.theme {
  margin: 0 auto 20px;
  width: 100% th;
  width-width: 14%;
}
@media (max-width: 735px) {
  table.theme {
    margin: 0 auto 20px;
  }
  table.theme th {
    width: 100%;
    display: block;
    border-bottom: none;
  }
  table.theme td {
    width: 100%;
    display: block;
  }
  table.theme tr td:last-child {
    border-top: none;
    border-bottom: none;
  }
  table.theme tr:last-child td:last-child {
    border-bottom: 1px solid #CCCCCC;
  }
}

/* リスト */
/*  ------------------------------------------------------------ */
ul.listType {
  list-style: none;
}
ul.listType li {
  position: relative;
  padding-left: 1.3rem;
  text-indent: 0;
  margin-bottom: 3px;
}
ul.listType li:before {
  content: "●";
  font-size: 1rem;
  position: absolute;
  left: 0;
  top: 0;
  color: #3FB045;
}
ul.listType.type2 li:before {
  content: "○";
  color: #1F1913;
}

.listTitleM {
  position: relative;
  padding-left: 1.3rem;
  text-indent: 0;
  margin: 0 0 0.4rem;
  line-height: 1.5;
}
.listTitleM:before {
  content: "●";
  font-size: 1rem;
  position: absolute;
  left: 0;
  top: 0;
  color: #3FB045;
}

ul.listIndent {
  padding-left: 2.4rem;
  text-indent: -2.4rem;
  line-height: 1.7;
  list-style: none;
}
ul.listIndent.type2 {
  line-height: 1.1;
  margin-bottom: 1.4rem;
}

/*========================================================= */
/* ページトップ */
/*========================================================= */
#pagetop {
  display: none;
  position: fixed;
  bottom: 0px;
  right: 20px;
  padding-bottom: 15px;
}
#pagetop img {
  cursor: pointer;
}
#pagetop img:hover {
  opacity: 0.7;
}

/*========================================================= */
/* その他 */
/*========================================================= */
.flexTypeImg {
  width: 250px;
  text-align: center;
}
@media (max-width: 1025px) {
  .flexTypeImg {
    width: 32%;
  }
}
@media (max-width: 735px) {
  .flexTypeImg {
    width: 80%;
    margin: 0 auto 0.8rem;
  }
}
.flexTypeImg img {
  width: 100%;
}

.flexTypeTxtBox {
  width: 605px;
}
@media (max-width: 1025px) {
  .flexTypeTxtBox {
    width: 63%;
  }
}
@media (max-width: 735px) {
  .flexTypeTxtBox {
    width: 100%;
  }
}

.linkColor a {
  color: #004C66;
}
.linkColor a:hover {
  text-decoration: underline;
}

/* SP */
@media (max-width: 735px) {
  /*スクロール*/
  .scroll {
    overflow: auto;
    /*tableをスクロールさせる*/
    white-space: nowrap;
    /*tableのセル内にある文字の折り返しを禁止*/
    margin-bottom: 10px;
  }

  .scroll::-webkit-scrollbar {
    /*tableにスクロールバーを追加*/
    height: 5px;
  }

  .scroll::-webkit-scrollbar-track {
    /*tableにスクロールバーを追加*/
    background: #F1F1F1;
  }

  .scroll::-webkit-scrollbar-thumb {
    /*tableにスクロールバーを追加*/
    background: #BCBCBC;
  }
}
.scroll::before {
  display: block;
  content: "※左右にスクロールしてご覧ください。";
  margin-bottom: 0.5em;
  font-size: 1.2rem;
  line-height: 1.5;
  text-indent: -1em;
  margin-left: 1em;
  font-size: 90%;
}

@media print, screen and (min-width: 736px) {
  .scroll::before {
    display: none;
  }
}
/*========================================================= */
/* メニュー */
/*========================================================= */
/*メガドロップダウン--------------------------------------*/
#headerNavi .dropDown {
  display: none;
  text-align: left;
  position: absolute;
  width: 100%;
  left: 0;
  top: 70px;
  background-color: rgba(51, 51, 51, 0.95);
  color: #FFF;
  padding: 1em 0 1em;
}

#headerNavi .dropDown a {
  color: #FFF;
}

#headerNavi .dropDown dd:hover, #headerNavi .dropDown li:hover {
  background-color: #999;
}

.dropDownContainer {
  width: 900px;
  margin: 0 auto;
}

/*共通設定*/
.dropDown dt {
  margin-bottom: 0.7em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #FFF;
  font-size: 108%;
}

.dropDown dt::before {
  content: "●";
  color: #EA4600;
  padding-right: 0.3em;
}

.dropDown dd, .dropDown li {
  font-size: 90%;
  margin-bottom: 0.5em;
  line-height: 1.8;
  padding: 0.2em;
}

.dropDown dd a:link, .dropDown dd a:visited, .dropDown li a:link, .dropDown li a:visited {
  color: #333;
  text-decoration: none;
}

.dropDown dd a:hover, .dropDown li a:hover {
  color: #333;
  text-decoration: underline;
}

.dropDown dd::before, .dropDown li::before {
  content: "▷";
  color: #EA4600;
  padding-right: 0.4em;
  position: relative;
  top: -1px;
  font-size: 70%;
}

/*入試ナビ*/
.dropDown.nyushi_list .dropDownContainer {
  width: 800px;
  margin: 0 auto;
}

.dropDown.nyushi_list .col_01 {
  float: left;
  width: 260px;
  padding-right: 30px;
}

.dropDown.nyushi_list .col_02 {
  float: left;
  width: 750px;
}

.dropDown.nyushi_list .col_02 .col_02_1 {
  float: left;
  padding-right: 30px;
}

.dropDown.nyushi_list .col_02 .col_02_2 {
  float: left;
}

.dropDown.nyushi_list .col_03 {
  float: left;
  width: 70px;
  padding-left: 20px;
}

/*科目*/
.dropDown.subject_list .dropDownContainer {
  width: 800px;
  margin: 0 auto;
}

.dropDown.subject_list .dropDownContainer2 {
  width: 1020px;
  margin: 0 auto;
}

.dropDown .subject_list .col {
  float: left;
  width: 190px;
  padding-left: 20px;
  border-right: 1px solid #CCC;
  height: 80px;
  /*高さ調整*/
}

/*スマホナビ--------------------------------------*/
#spNavi {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #005a8d;
  color: #FFF;
  padding-top: 0;
  z-index: 90;
  margin: 45px 0 0 0;
}
@media (max-width: 1025px) {
  #spNavi {
    margin: 35px 0 0 0;
  }
}
@media (max-width: 735px) {
  #spNavi {
    margin: 0.5rem 0 0 0;
  }
}

.spNaviContainer {
  width: 800px;
  margin: 0 auto;
  padding: 6em 0;
}

#spNavi a {
  color: #FFF;
  text-decoration: none;
}

#spNavi li:hover {
  opacity: 0.8;
}

#sp_nyushi, #sp_event {
  display: none;
}

#spNavi li.cat_search, #spNavi li.cat, #spNavi li.cat_ttl {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #FFF;
  position: relative;
  text-align: center;
  cursor: pointer;
  font-size: 110%;
}

#spNavi li.cat::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0.7em;
  transform: translate(0, -50%);
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotate(45deg);
}

#spNavi li.cat_ttl::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0.5em;
  transform: translate(0, -50%);
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotate(135deg);
}

#spNavi .deep {
  margin-bottom: 1em;
  padding-bottom: 3em;
  border-bottom: 1px solid #FFF;
}

#spNavi .deep li {
  display: inline-block;
  width: 46%;
  text-align: left;
  position: relative;
  padding-left: 2em;
}

#spNavi .deep li::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 43%;
  transform: translate(0, -50%);
  width: 6px;
  height: 6px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotate(45deg);
  margin: 60px 0 0 0;
}

@media all and (max-width: 840px) {
  .spNaviContainer {
    width: 90%;
  }

  #spNavi .deep li {
    width: 90%;
  }
}
@media all and (max-width: 640px) {
  #spNavi {
    height: 200%;
    font-size: 90%;
  }

  #spNavi li.cat_search, #spNavi li.cat, #spNavi li.cat_ttl {
    margin-bottom: 0.6em;
    padding-bottom: 0.6em;
  }
}


/*========================================================= */
/* 準備中 */
/*========================================================= */

.preparation{
	min-height:400px;
	text-align:center;
	}






