@charset "utf-8";

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

   second

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


.sp {
  display: none;
}

.pc {
  display: block;
}

@media all and (max-width: 1100px) {
  header .menu-right a {
    padding: 25px 20px;
  }

  nav ul li a {
    padding: 0 35px;
  }

}

@media all and (max-width: 1024px) {

  .sp {
    display: block;
  }
  
  .pc {
    display: none;
  }

  .full-width {
    width: 100%;
  }

  .full-max-width {
    max-width: 100%;
  }

  nav.pc,
  header .text {
    display: none;
  }

  body {
    font-size: 16px;
  }
  
		img {
			max-width: 100%;
		}
  
/*--------------------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------------------*/


  .flex {
    display: block;
  }

  .logo {
    margin: 22px 22px 22px;
    font-size: 24px;
    border-right: none;
    padding-right: 0;
    margin-right: 0;
 }

 .logo span {
   font-size: 18px !important;
 }

  nav {
    position: absolute;
    top: 73px;
    left: 0;
    width: 100%;
    padding: 0;
    background:#013f64;
    z-index: 9999;
		display:none;
  }
		
  nav a {
    font-size: 10px;
    line-height: 1.2;
    padding: 15px 0;
    color: #fff;
  }

  .menubt {
    z-index: 3;
    width: 40px;
    height: 40px;
    display: block;
    right: 7px;
    top: 16px;
    position: absolute;
    background: #012976;
    background-size: contain;
  }
  
  .menubt span {
    width: 30px;
    height: 3px;
    display: block;
    background: #fff;
    border-radius: 0;
    position: absolute;
    right: 5px;
    top: 17px;
    transition: all 0.4s;
    transform: rotate(0deg);
  }
  
  .menubt .top {
    -webkit-transform: translateY(-250%);
    -ms-transform: translateY(-250%);
    transform: translateY(-250%);
  }
  
  .menubt .bottom {
    -webkit-transform: translateY(250%);
    -ms-transform: translateY(250%);
    transform: translateY(250%);
  }
  
  .menubt .menuclick1 {
    transform: rotate(-215deg);
  }
  
  .menubt .menuclick2 {
    background-color: rgba(255,255,255,0);
  }
  
  .menubt .menuclick3 {
    transform: rotate(215deg);
  }

  .menubt .text-menu {
    color: #fff;
    padding-top: 25px;
    text-align: center;
    font-size: 10px;
  }

  nav ul {
    display: inline-block;
    width: 100%;
  }

  nav ul::after {
    height: 0;
    background: none;
  }

  nav ul li {
    border-right: none;
    display: block;
    border-bottom: 1px solid #fff;
  }

  nav ul li a {
    padding: 15px 0!important;
    display: block;
    color: #fff;
    font-size: 18px;
  }

header h1 .logo, header div.dap .logo {
	border-right: none;
	margin: 10px;
	display: inline-block;
}

footer {
	text-align: left;
}

footer .logo {
	font-size: 24px;
}

header .h-insta {
	display: none;
}

.h-instasp {
	display: block;
	position: absolute;
	top: 16px;
	right: 56px;
}

.h-instasp img {
	width: 40px;
}

.h-instasp {
	display: block;
	position: absolute;
	top: 16px;
	right: 106px;
}

.h-instasp img {
	width: 40px;
}

.h-ytsp {
	display: block;
	position: absolute;
	top: 16px;
	right: 56px;
}

.h-ytsp img {
	width: 40px;
}


/*--------------------------------------------------------------------------------------------
  content
--------------------------------------------------------------------------------------------*/
  .banner-top {
    margin-top: 60px;
    position: relative;
    padding-bottom: 0;
    opacity: 0;
  }

  .banner-top .text {
    position: relative;
    margin: 20px auto 0 auto;
  }

  .bx-controls-direction .bx-prev, .bx-controls-direction .bx-next {
    width: 50px;
    height: 50px;
  }

  .bx-controls-direction .bx-prev {
    right: 0;
    background: url(../image/icon-next-slideshow.png) no-repeat;
    background-size: 50px auto;
  }

  .bx-controls-direction .bx-next {
    left: 0;
    background: url(../image/icon-prev-slideshow.png) no-repeat;
    background-size: 50px auto;
  }

  .bx-viewport {
    /*width: calc(100% - 120px) !important;*/
				width: 96% !important;
  }

  .banner-top .text .title {
    margin: 0 0 15px 0;
    font-size: 24px;
  }

  .banner-top .text {
    width: 90%;
  }

  #focuses {
    padding: 80px 5% 0 5%;
  }

  h2 {
    font-size: 30px;
  }

  h2 span {
    font-size: 20px;
  }

  h2::after {
    width: 150px;
    height: 2px;
  }

  #focuses .info-30 {
    margin-top: 30px;
  }

  #focuses .info-30 li {
    width: 100%;
  }

  #focuses .info li {
			margin-bottom: 20px;
    padding: 30px 20px 30px 20px;
  }

  #focuses .info h3 {
    font-size: 30px;
  }

  #focuses .info .desc {
    font-size: 16px;
    margin: 7px 0 8px 0;
				line-height: 1.4;
  }

  #focuses .info .photo {
    padding-bottom: 24px;
  }

  #focuses .info .icon  {
    right: 12px;
    width: 60px;
  }

  #focuses .info-50 .frame {
    width: 100%;
  }

  #candidates {
    padding: 50px 0;
  }

  .container {
    width: 90%;
    max-width: 90%;
  }

  #candidates ul {
    padding-top: 42px;
  }

  #candidates li:first-child {
    margin-right: 0;
  }

  #candidates li {
    width: 100%;
  }

  #movie {
    padding: 50px 0 90px 0;
  }

  #movie .slide-movie {
				margin: 30px 20px 0;
  }

  .slick-dotted.slick-slider {
    margin-bottom: 20px;
  }

  #movie .slick-slide iframe {
    border: 5px solid rgba(1, 63, 100, 0.26);
    width: 100%;
    height: 240px;
  }

  footer {
    border-top: 6px solid #7d9fe8;
    padding: 33px 10px 22px;
  }

  footer address {
    padding: 7px 0 17px 0;
  }

  footer .coppy {
    font-size: 11px;
  }

  #movie .slick-arrow {
    width: 50px;
    height: 50px;
  }

  #movie .slick-prev {
    left: 0;
    background: url(../image/icon-prev-slideshow.png) no-repeat;
    background-size: 50px auto;
  }

  #movie .slick-next {
    right: 0;
    background: url(../image/icon-next-slideshow.png) no-repeat;
    background-size: 50px auto;
  }

header {
 border-bottom: 4px solid #a7abf2;
}

#second .content {
width: 96%;
margin: 0 auto;
}

#second .secTitle {
	margin: 0;
	padding: 20px 0;
}

#second .secTitle h1 {
	font-size: 30px;
}

#second .secTitle h1 span {
	font-size: 22px;
}

.pan {
	width: 100%;
}

.pan ol {
	padding: 0 10px;
	justify-content: flex-start;
}

#second .content {
	padding: 40px 10px 0;
}

#second .content p {
	margin: 0 0 20px;
}

#second .content h2 {
	margin: 0 0 30px;
	font-size: 20px;
}


/*--------------------------------------------------------------------------------------------
  index
--------------------------------------------------------------------------------------------*/

#indexNews .newsList {
	width: 100%;
	margin: 0 auto;
	padding:30px 0 40px;
}

.bx-controls {
	display: none;
}

.banner-top {
	margin: 30px 0 0;
}

#index h2 span {
	font-size: 20px;
}

#candidates {
	width: 90%;
	margin: 0 auto;
}

#candidates li {
	margin-bottom: 20px;
}

#movie .slick-next,
#movie .slick-prev {
	display: none !important;
}

#indexNews {
	padding: 40px 0 0;
}

.newsList li a span {
	display: block;
	margin-bottom: 4px;
}

#banner {
	padding: 0 0 80px;
}

#banner ul {
	flex-wrap: wrap;
}

#banner ul li {
	width: 48%;
	margin: 0 1% 20px;
}

#banner ul li:nth-child(2n) {
	margin-top: 0;
}

#banner p {
	margin: 0 20px 40px;
	text-align: left;
}


/*--------------------------------------------------------------------------------------------
  news
--------------------------------------------------------------------------------------------*/
.newsDetail {
	padding: 30px 20px;
}

#second .content .newsDetail h2 {
	font-size: 20px;
}

.newsDetail div p {
	line-height: 1.4 !important;
}

.newsDetail div p a {
	display: inline !important;
}

/*--------------------------------------------------------------------------------------------
  outline
--------------------------------------------------------------------------------------------*/

.outline .ryouikiMenu {
width: 90%;
margin: 0 auto;
}

.outline .ryouikiMenu ul {
display: inherit;
}

.outline .ryouikiMenu ul li {
width: 100%;
margin: 0 0 10px;
}

.outline .catch ul {
width: 90%;
height: auto;
margin: 0 auto;
}

.outline .catch ul li {
position: relative;
margin: 0;
padding: 0;
}

.outline .catch ul li img {
	width: 80%;
}

.outline .catch ul li:nth-child(2n) {
	text-align: right;
	margin-top: -60px;
}

.outline .catch ul li:nth-child(3) {
	margin-top: -30px;
}

.outline .catch ul li:nth-child(4) {
	margin-top: 0;
}

.outline .catch ul li:nth-child(5) {
	margin-top: 30px;
}

.outline .catch ul li:nth-child(1) {
	left: 0;
}

.outline .catch ul li:nth-child(2) {
	top: 0;
}

.outline .catch ul li:nth-child(3) {
	bottom: 0;
	left: 0;
}

.outline .catch ul li:nth-child(4) {
	bottom: 0;
	left: 0;
}

.outline .catch ul li:nth-child(5) {
	top: 0;
	left: 0;
}

#second .content p.lead {
	margin: 0 10px 30px;
	text-align: left;
	line-height: 1.6;
}

.f-space .outlineLead,
.f-particle .outlineLead,
.f-material .outlineLead,
.f-energy .outlineLead,
.f-life .outlineLead {
	min-height: auto;
}

.f-space .inner,
.f-particle .inner,
.f-material .inner,
.f-energy .inner,
.f-life .inner {
	padding: 60px 0 1px;
}

.f-space .cat h2,
.f-particle .cat h2,
.f-material .cat h2,
.f-energy .cat h2,
.f-life .cat h2 {
	width: 100%;
	font-size: 20px;
}

.f-space .outlineLead p,
.f-particle .outlineLead p,
.f-material .outlineLead p,
.f-energy .outlineLead p,
.f-life .outlineLead p {
	width: auto;
	text-align: left;
	margin: 0 20px;
	line-height: 1.4;
}

.f-space .outlineLead {
	min-height: auto;
	background: none, url(../image/space_back_right.png) no-repeat 85% center;
	background-size: 161px;
}

.f-particle .outlineLead {
	min-height: auto;
	background: none, url(../image/particle_back_right.png) no-repeat 85% center;
	background-size: 161px;
}

.f-material .outlineLead {
	min-height: auto;
	background: none, url(../image/material_back_right.png) no-repeat 85% center;
	background-size: 161px;
}

.f-energy .outlineLead {
	min-height: auto;
	background: none, url(../image/energy_back_right.png) no-repeat 85% center;
	background-size: 161px;
}

.f-life .outlineLead {
	min-height: auto;
	background: none, url(../image/life_back_right.png) no-repeat 85% center;
	background-size: 161px;
}

.outline .laboBox {
	display: block;
}

.outline .laboBox .laboinfo {
	width: 96%;
	margin: 0 auto;
}

.outline .laboBox .laboPhoto {
	width: 80%;
	margin: 0 auto;
}

.outline .laboBox .laboinfo .pop {
	font-size: 18px;
}


/*--------------------------------------------------------------------------------------------
  curriculum
--------------------------------------------------------------------------------------------*/
.curriFlow {
	margin: 0;
	padding: 0 0 20px;
	display: flex;
	position: relative;
}

.curriFlow:before {
	position: absolute;
	background-color: #D8E2F8;
	content: "";
	width: 8px;
	height: 100%;
	top: 0;
	left: 46px;
	z-index: -1;
}

.curriFlow.nobtm:before {
	background-color: transparent;
}

.curriFlow .grade {
	width: 160px;
}

.curriFlow .grade p {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
	text-align: center;
	background-color: #7d9fe8;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2 !important;
}

.curriFlow .info {
	width: auto;
	padding: 20px 0 20px 10px;
}

#second .content .curriFlow .info h3 {
	margin: 0 0 10px;
	padding: 0;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 0.05em;
	background: linear-gradient(transparent 70%, #F8EED8 70%);
	border: none;
}

#second .content .curriFlow .info h3:before {
	background-color: transparent;
}

#second .content .curriFlow .info p {
	line-height: 1.4;
}

.album2 {
	width: 80%;
	margin: 0 auto 60px;
	display: block;
}

.album2 li {
	width: 100%;
	margin: 0 0 20px;
	position: relative;
}

.album2 li img {
	max-width: 100%;
}

.curriculumList {
	position: relative;
	margin: 0 0 60px;
	padding: 20px;
	background-color: #FFF;
	display: flex;
	display: block;
}

.curriculumList:before {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	bottom: -6px;
	right: -5px;
 background: linear-gradient(135deg, transparent, transparent 49%, #7d9fe8 49%, #7d9fe8 51%, transparent 51%, transparent);}

.curriculumList:after {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	top: -4px;
	left: -5px;
 background: linear-gradient(-45deg, transparent, transparent 49%, #7d9fe8 49%, #7d9fe8 51%, transparent 51%, transparent);
}

.curriculumList li {
	width: 100%;
	margin: 0 0 6px;
	padding: 0 8px;
	border-bottom: 1px dotted #CCC;
}

.curriculumList li:nth-of-type(3n-1) {
	margin: 0 0 6px;
}

.curriTheme {
	margin: 0 0 40px;
	border: 4px solid #E7F3FA;
	padding: 40px 32px 32px;
	border-image: url(../image/border_back.png);
 border-image-slice: 1;
 border-image-repeat: stretch;
	box-shadow: 4px 4px 0 #DDD;
}

#second .content .curriTheme h3 {
	margin: 0 0 20px;
	background-color: #89C2E9;
	border: none;
	border-radius: 10px;
	color: #FFF;
	letter-spacing: 0.05em;
}

#second .content .curriTheme h3:before {
	background-color: transparent;
  content: "";
  position: absolute;
  top: 100%;
  left: 80px;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #89C2E9;
		width: auto;
		height: auto;
}

#second .content .curriTheme p {
	margin: 0 0 20px;
}

#second .content .curriTheme .door {
	display: block;
}

#second .content .curriTheme .door li {
	width: 100%;
	margin: 0 0 10px;
}

/*--------------------------------------------------------------------------------------------
  laboratory
--------------------------------------------------------------------------------------------*/
.staffBox {
	display: block;
}

.staffBox .names {
	display: none;
}

.staffBox .photos {
	width: 100%;
}

.staffBox .photos .personalBox {
	background: url(../image/arrow-01.png) no-repeat 96% center;
	background-size: 10px;
}

.staffBox .photos .personalBox .personal .pic {
	width: 100%;
	text-align: center;
	margin: 0 0 10px;
}

.staffBox .photos .personalBox .personal .pic img {
	width: 100px;
}

.staffBox .photos .personalBox .personal {
	display: block;
}

.staffBox .photos .personalBox .personal .pic:after {
	background-color: transparent;
}

.staffBox .photos .personalBox .personal dt {
	text-align: center;
}

.staffBox .photos .personalBox .personal ul {
	margin-top: 8px;
}

.staffBox .labodetail {
	width: 100%;
}

.staffBox .labodetail .firstBox {
	padding: 0;
	align-items: start;
}

#second .content .staffBox .labodetail .firstBox .profile h2 {
	font-size: 20px;
}

#second .content .staffBox .labodetail .firstBox .profile h2 span {
	font-size: 16px;
}

#second .content .staffBox .labodetail .firstBox .profile p {
	font-size: 14px;
}

#second .content .staffBox .labodetail .firstBox ul.link li {
	display: block;
}

.staffBox .labodetail .secondBox {
	padding: 0 0 20px;
}

.staffBox .labodetail .secondBox h3:after {
	top: 3px;
	z-index: 10;
}

.staffBox .labodetail .secondBox p {
	padding-top: 6px !important;
	line-height: 1.4 !important;
	padding-bottom: 24px !important;
}

.staffBox .labodetail .secondBox p:before {
	top: -12px;
}

.staffBox .labodetail .thirdBox {
	padding: 0;
}

.staffBox .labodetail .thirdBox ul li {
	margin-bottom: 8px;
}

.staffBox .labodetail .thirdBox ol li {
	word-break: break-all;
}

.staffBox .labodetail .thirdBox ul.album2-2 {
	margin: 0 0 40px;
}

.album2-2 {
	display: block;
}

.staffBox .labodetail .thirdBox ul.album2-2 li {
	width: 100%;
	margin-bottom: 20px;
}

.staffBox .labodetail .thirdBox ul.album2-2 li img {
	margin: 0 auto 10px 0;
}

/*--------------------------------------------------------------------------------------------
  skill
--------------------------------------------------------------------------------------------*/
.skillList {
	display: block;
}

.skillList li {
	width: 100%;
	margin: 0;
}


/*--------------------------------------------------------------------------------------------
  for
--------------------------------------------------------------------------------------------*/
.forBnrMenu {
	display: block;
}

.forBnrMenu li {
	width: 100%;
	margin: 0 0 20px;
}

.forMenus {
	display: block;
}

.forMenus .menu {
	width: 100%;
	margin-bottom: 40px;
}

#second .content .forMenus .menu ul li ul li {
	margin-bottom: 8px;
}


/*--------------------------------------------------------------------------------------------
  contact
--------------------------------------------------------------------------------------------*/
#second .content .contact {
	display: block;
}

#second .content .contact a {
	width: 96%;
	margin: 0 auto;
}

.tel-link {
	display: inline-block;
}


/*--------------------------------------------------------------------------------------------
  student_corner
--------------------------------------------------------------------------------------------*/

#student_corner .labBox .labDetail {
	display: block;
}

#student_corner .labBox .labDetail .text {
	width: 100%;
}

#student_corner .labBox .labDetail .movieBox {
	width: 100%;
}


/*--------------------------------------------------------------------------------------------
  openlab
--------------------------------------------------------------------------------------------*/
#openlab .olLead {
	font-size: 20px;
}

#openlab .olLead2 {
	position: relative;
	width: 90%;
	margin: 0 auto 30px;
	padding: 10px 20px;
	font-size: 14px;
}

#openlab .labBox .labDetail {
	display: block;
}

#openlab .labBox .labDetail .text {
	width: 100%;
}

#openlab .labBox .labDetail .text table {
	width: 100%;
}

#openlab .labBox h3:after {
	content: "";
}

#openlab .labBox .labDetail .movieBox {
	width: 100%;
}

#openlab .movieBox .movie {
 position: relative;
 width: 100%;
	padding-top: 56.25%;
}

#openlab .movieBox .movie iframe {
 position: absolute;
 top: 0;
 right: 0;
 width: 100% !important;
 height: 100% !important;
}

/*--------------------------------------------------------------------------------------------
  event
--------------------------------------------------------------------------------------------*/
#event .eventBox {
	margin: 0 0 40px;
}

#event .eventBox h3 {
	font-size: 18px;
	letter-spacing: 0;
}

#event .eventBox h3:before {
	background-color: transparent;
}

#event .eventBox h3:after {
	content: "Event";
	position: absolute;
	bottom: -6px;
	right: 0;
	color: rgba(255,255,255, 0.5);
	font-size: 30px;
	font-family: Verdana, Geneva, sans-serif;
}

#event .eventBox .eventDetail {
	display: block;
}

#event .eventBox .eventDetail .text {
	width: 100%;
}

#event .eventBox .eventDetail .text table {
	width: 100%;
}

#event .eventBox .eventDetail .text table th {
	display: block;
	width: 100%;
	background-color: #DFEDEE;
	text-align: left;
	font-weight: bold;
	padding: 0 4px;
}

#event .eventBox .eventDetail .text table td {
	display: block;
	width: 100%;
	margin-bottom: 10px;
}

#event .eventBox .eventDetail .movieBox {
	width: 100%;
	margin: 20px 0 0;
}

#event .eventBox .eventDetail .movieBox .movie img {
	max-width: 100%;
	height: auto;
	border-radius: 10px 0 10px 0;
}
	
/*add20250813*/
.banner-top {
 opacity: 1;
}

#bxslider {
 width: 96%;
}

#bxslider .slick-arrow {
 display: none !important;
}


}

