@charset "UTF-8";
/* //////////////////////////////////////////////////

　サイト全般のスタイル

////////////////////////////////////////////////// */
/*
  FONT
-------------------------------------------------- */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100&display=swap');

html {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
@media all and (-ms-high-contrast: none)  {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media all and (-ms-high-contrast: active) {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

body {
	position: relative;
  color: #000;
  /*font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ", "Meiryo",sans-serif;*/
  font-size: 16px;
}
@media screen and (max-width: 960px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 560px) {
  body {
    font-size: 13px;
  }
}

p {
  line-height: 1.75;
}

li, dt, dd, th, td, address {
  line-height: 1.6;
}

/*
.kv_item li{
	margin-right: 10px;
}
*/


a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

i, em {
  font-style: normal;
}

input, textarea, select {
  font-size: 16px;
}

/*
  IE11のみに適応されるCSS
-------------------------------------------------- */
.ie11 { display: none; }
@media all and (-ms-high-contrast:none) {
  *::-ms-backdrop, .ie11 {
	display: block;
  }
}

/*
  LAYOUT
-------------------------------------------------- */
#wrapper { position: relative; overflow: hidden; }
#contents { position: relative; z-index: 999; }

@media screen and (max-width: 960px) {
#contents { background: #fef9f2 /*url("../img/bg_sky_sp.jpg") no-repeat top center*/; background-size: contain; margin-top: 60px; }
}

.container { margin: 0 auto; max-width: 1200px; }
#contents .container { margin: 0 auto; max-width: 1160px; }
.subpage #contents .container { padding: 60px 0; }
.subpage .wp_entry { padding: 0 65px 65px; background: #fff; }

@media screen and (max-width: 960px) {
.container { max-width: inherit; }
#contents .container { max-width: inherit; }
.subpage #contents .container { padding: 15px 0; }
.subpage .wp_entry { padding: 10px; }
}

/*
  parallax
-------------------------------------------------- */
#parallax { overflow: hidden; position: absolute; top: 120px; left: 0; }
#layer { height: 100%; transform: translate3d(0px, 0px, 0px) rotate(0.0001deg); transform-style: preserve-3d; backface-visibility: hidden; position: relative; pointer-events: none; }
.layer img { width: auto; height: 100%; transform-origin: center center; }
.layer1 { transform: translate3d(1.9px, 6.4px, 0px); transform-style: preserve-3d; backface-visibility: hidden; position: relative; display: block; left: 0px; top: 0px; }
.layer2 { transform: translate3d(1.9px, 6.4px, 0px); transform-style: preserve-3d; backface-visibility: hidden; position: absolute; display: block; left: 0px; top: 0px; }
/*.layer3 { transform: translate3d(15.4px, 51.4px, 0px); transform-style: preserve-3d; backface-visibility: hidden; position: absolute; display: block; left: 0px; top: 0px; }*/
.layer1 img { transform: scale(1.1); }
.layer2 img { transform: scale(1.2); }
/*.layer3 img { transform: scale(1.3); }*/
@media screen and ( min-width: 900px ) {
.layer img { width: 120%; height: auto; transform-origin: center center; }
}
@media screen and (max-width: 960px) {
#parallax { display: none; }
}

/*
  SP NAVI
-------------------------------------------------- */

/* sp-btn */
#sp-btn { position: fixed; top: 5px; right: 10px; z-index: 9999; text-align: center; }
#sp-btn-icon { display: inline-block; width: 53px; height: 48px; background: url(../img/ico_menu02.png) no-repeat; background-size: cover; }
.open #sp-btn-icon { background: url(../img/ico_close02.png) no-repeat; background-size: cover; }

@media screen and (min-width: 768px) {
#sp-btn { display: none; top: 24px; right: 40px; width: 70px; height: 70px; padding: 20px 0 0; border: 2px solid #2d71ae; }
.sp-open #sp-btn { z-index: 99999; top: 14px; }
.fixed #sp-btn, .sub #sp-btn { top: 14px; }
}

/* sp-nav */
#sp-nav { display: none; position: fixed; top: 50px; left: 0; right: 0; bottom: 0; overflow: auto; width: 100%; height: 100%; z-index: 10000;  }
#sp-nav:before { content: ""; background: rgba(255,255,255, 0.8); -webkit-filter: blur(10px); -moz-filter: blur(10px); -o-filter: blur(10px); -ms-filter: blur(10px); filter: blur(10px); position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px; z-index: -1; }

@media print, screen and (min-width: 768px) {
#sp-nav { display: block; position: inherit; top: auto; left: auto; right: auto; bottom: auto; overflow: inherit; width: auto; height: auto; background: none; }
#sp-nav:before { display: none; }
}

/* sp-close */
#sp-close { text-align: center; font-size: 16px; font-weight: bold; }
#sp-close:before { display: inline-block; content: ""; width: 15px; height: 15px; margin-right: 4px; background: url("../img/ico_batu.png") no-repeat; background-size: cover; vertical-align: middle; }

@media print, screen and (min-width: 768px) {
#sp-close { display: none; }
}

/*
  HEADER
-------------------------------------------------- */
#header { position: relative; background: #fff; z-index: 1000; }
.sp-open #header { z-index: 10000; }
#header .container { display: flex; justify-content: space-between; align-items: center; width: 1200px; height: 90px; margin: 0 auto; padding: 0 20px; }
#header .nav { width: 800px; }
#header .nav ul { display: flex; justify-content: space-between; align-items: center; }
#header .nav li { /*width: 20%;*/ text-align: center; }
#header .nav a { display: block; font-size: 13px;
			padding: 20px 0;
	color: #333; font-weight: bold;}
#header .nav a span{
			font-family: 'Montserrat', sans-serif;
			font-size: 15px;
			display: block;
						font-weight: normal;

		}
#header .nav a:hover { background: #def6ff; border-radius: 5px; color: #00aeef; }
#header .nav i { display: none; }
#header .logo img{
  width: 340px;
}
@media screen and (max-width: 960px) {
#header { position: fixed; top: 0; left: 0; right: 0; }
#header .container { width: auto; height: 60px; padding: 0 10px; }
#header .logo { width: 200px; }
#header .nav { overflow: hidden; width: 100%; }
#header .nav ul { display: block; padding: 15px;
box-sizing: border-box;
width: 100%; }
#header .nav li { width: auto; margin-bottom: 15px; text-align: left; }
#header .nav a { position: relative; display: block; padding: 5px 15px; color: #fff; background: #00aeef; border-radius: 5px; font-size: 16px; }
#header .nav i { position: absolute; top: 50%; right: 10px; display: inline-block; width: 15px; height: 15px; margin-top: -7px; background: url("../img/ico_arw_white02.png") no-repeat; background-size: cover; }
}

#header .nav a.gnav-btn {
  color: #fff;
  background-color: #f3809e;
}
#header .nav a.bg_black {
  background-color: #111;
}


/*
  MENU
-------------------------------------------------- */
#menu { position: relative; }
@media screen and (max-width: 960px) {
}

#menu .main { display: flex; justify-content: space-between; width: 100%; }
#menu .main > li { text-align: center; line-height: 1; }
#menu .main > li > span { position: relative; display: flex; justify-content: center; align-items: center; min-width: 220px; height: 66px; color: #fff; background: rgba(0, 174, 239, 0.6); font-size: 18px; font-weight: bold; text-decoration: none; border-radius: 0 0 5px 5px; z-index: 1000; }
#menu .main > li > span:hover { text-decoration: underline; }
#menu .main > li:hover .lower { opacity: 1; pointer-events: inherit; }

@media screen and (max-width: 960px) {
#menu .main { padding: 0 2px; }
#menu .main > li { width: 100%; margin: 0 2px; }
#menu .main > li > span { min-width: inherit; height: 40px; color: #fff; font-size: 12px; border-radius: 0 0 3px 3px; }
#menu .main > li:nth-child(1) > span { background: #22b7ed; }
#menu .main > li:nth-child(2) > span { background: #f599a9; }
#menu .main > li:nth-child(3) > span { background: #74c480; }
#menu .main > li:nth-child(4) > span { background: #e6a167; }
#menu .main > li:nth-child(5) > span { background: #b085e7; }
}

#menu .lower { opacity: 0; pointer-events: none; transition: all .3s; box-shadow: 0 0 6px 4px rgba(0, 0, 0, 0.1); }
#menu .lower { display: block; position: absolute; z-index: 999; top: 0; left: 0; right: 0; padding: 80px 0 60px; text-align: left; }
#menu #lower01 { background: #fff url("../img/bg_local01.jpg") no-repeat top center; background-size: 1400px; }
#menu #lower02 { background: #fff url("../img/bg_local02.jpg") no-repeat top center; background-size: 1400px; }
#menu #lower03 { background: #fff url("../img/bg_local03.jpg") no-repeat top center; background-size: 1400px; }
#menu #lower04 { background: #fff url("../img/bg_local04.jpg") no-repeat top center; background-size: 1400px; }
#menu #lower05 { background: #fff url("../img/bg_local05.jpg") no-repeat top center; background-size: 1400px; }
#menu .lower .container { position: relative; display: flex; align-items: top; width: 1160px; min-height: 450px; padding: 30px; background: rgba(67, 195, 242, 0.2); font-weight: bold; }
#menu .lower .container:before { position: absolute; top: 0; left: 0; content: ""; width: 0; height: 0; border-style: solid; border-width: 100px 100px 0 0; border-color: #43c3f2 transparent transparent transparent; }
#menu .lower h3 { display: flex; align-items: center; font-size: 30px; color: #00a0e9; font-weight: bold; }
#menu .lower dl { margin-left: 30px; }
#menu .lower dd + dt { margin-top: 30px; }
#menu .lower dd { padding-top: 10px; }
#menu .lower dt a { display: block; min-width: 210px; padding: 10px; background: #43b6ec; color: #fff; border-radius: 3px; }
.bg-for-student {background-color: #f599a9 !important; }
#menu .lower dt a:before { display: inline-block; content: ""; width: 13px; height: 13px; margin-right: 2px; background: url("../img/ico_arw_white02.png") no-repeat; background-size: cover; }
#menu .lower dd a:before { display: inline-block; content: ""; width: 13px; height: 13px; margin-right: 2px; background: url("../img/ico_arw_black.png") no-repeat; background-size: cover; }
#menu .lower li { margin: 5px 0; }
#menu .lower li a { color: #333; }
.lower-close { display: none; }

@media screen and (max-width: 960px) {
.lower-close { display: block; position: absolute; top: 45px; right: 30px; }
#menu .lower { opacity: 1; pointer-events: inherit; display: none; }
#menu .lower { position: absolute; top: 0; left: 0; right: 0; min-height: 500px; padding: 30px 0; }
#menu #lower01 { background: #d6eff7 url("../img/bg_local01_sp.jpg") no-repeat top center; background-size: contain; }
#menu #lower02 { background: #d6eff7 url("../img/bg_local02_sp.jpg") no-repeat top center; background-size: contain; }
#menu #lower03 { background: #d6eff7 url("../img/bg_local03_sp.jpg") no-repeat top center; background-size: contain; }
#menu #lower04 { background: #d6eff7 url("../img/bg_local04_sp.jpg") no-repeat top center; background-size: contain; }
#menu #lower05 { background: #d6eff7 url("../img/bg_local05_sp.jpg") no-repeat top center; background-size: contain; }
#menu .lower .container { position: relative; display: block; width: auto; min-height: inherit; padding: 15px; background: none; }
#menu .lower .container:before { display: none; }
#menu .lower h3 { display: block; padding: 25px 0 15px; font-size: 22px; }
#menu .lower dl { margin-left: 0; }
#menu .lower dd + dt { margin-top: 10px; }
#menu .lower dt { position: relative; margin-top: 10px; }
#menu .lower dd { display: none; padding: 10px 0 0; }
#menu .lower dd.non { display: block; }
#menu .lower dt a { position: relative; display: block; min-width: inherit; padding: 12px 10px; font-size: 14px; }
#menu .lower dt a:before { display: none; }
#menu .lower dt i { position: absolute; top: 0; right: 0; display: inline-block; content: ""; width: 42px; height: 42px; background: url("../img/ico_arw_down.png") no-repeat center center; background-size: 15px 15px; z-index: 3; }
#menu .lower dt i.is-active { background: url("../img/ico_arw_up02.png") no-repeat center center; background-size: 15px 15px; }
#menu .lower dd a { position: relative; display: block; padding-left: 15px; }
#menu .lower dd a:before { position: absolute; top: 50%; left: 0; margin-top: -7px; }
#menu .lower ul { display: flex; align-items: center; flex-wrap: wrap; }
#menu .lower li { width: 50%; margin: 10px 0; font-size: 14px; line-height: 1.2; }
#menu .lower li a { }
}



/*
  FOOTER
-------------------------------------------------- */
#footer { position: relative; background: #fff; z-index: 1001; }
#footer .container { position: relative; display: flex; justify-content: space-between; align-items: center; width: 1200px; height: 220px; margin: 0 auto; padding: 0 20px; }
#footer .address { font-size: 0.95em; }
#footer .nav ul { display: flex; justify-content: space-between; font-size: 0.857em; }
#footer .nav li:not(:last-child):after { margin: 0 10px; content: "/"; color: #ccc; }
#footer .nav a { color: #333; }
#footer .copyright { position: absolute; bottom: 30px; left: -50px; }

@media screen and (max-width: 960px) {
#footer { }
#footer .container { display: block; width: auto; height: auto; padding: 25px 0 25px 25px; }
#footer .logo { width: 70%; }
#footer .address { margin: 10px 0; }
#footer .nav ul { font-size: 11px; }
#footer .nav li:not(:last-child):after { margin: 0 0 0 5px; }
#footer .copyright { position: absolute; bottom: 15px; left: 7px; width: 12px; }
}


/*
  キービジュアル
-------------------------------------------------- */
#kv { position: relative; /*height: 750px; */ position: relative;  z-index: 1; /*padding-bottom: 50px;*/}
#kv .kv_item { display: flex; justify-content: center; margin-top: -120px; z-index: 1005; position: relative; }
#kv .kv_item li a:hover { opacity: .9; }

@media screen and (max-width: 960px) {
#kv { height: auto; }
#kv .kv_item { margin: -30px 0 20px; padding-bottom: 15px; }
#kv .kv_item .slick-slide { margin: 0 5px; }
}

/*
  following
-------------------------------------------------- */
#following { position: fixed; top: 50%; right: 0; margin-top: -130px; z-index: 999; 
/*    230518　追従バナー非表示*/
 display: none; 

}
#following ul { display: flex; flex-direction: column; }
#following li { display: block; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -o-writing-mode: vertical-rl; writing-mode: vertical-rl; text-align: center; width: 50px; }
#following .btn_access { background: #333; border-radius: 5px 5px 0 0; }
#following .btn_contact { background: #f3809e; border-radius: 0 0 5px 5px; }
#following a { display: block; padding: 18px 13px; color: #fff; font-size: 16px; font-weight: bold; }
#following a:hover { opacity: .85; text-decoration: none; }
#following i { display: inline-block; margin-bottom: 5px; }
#following .btn_access i { width: 20px; height: 15px; background: url("../img/ico_car.png") no-repeat; background-size: cover; 
/*    230518　追従バナー非表示*/
 display: none; 
}
#following .btn_contact i { width: 17px; height: 13px; background: url("../img/ico_mail02.png") no-repeat; background-size: cover; }
@media screen and (max-width: 960px) {
#following { top: inherit; bottom: 5%; right: inherit; left: 10px; margin-top: 0; }
#following ul { display: flex; flex-direction: inherit; }
#following li { -webkit-writing-mode: inherit; -ms-writing-mode: inherit; -o-writing-mode: inherit; writing-mode: inherit; width: auto; }
#following .btn_access { border-radius: 3px 0 0 3px; }
#following .btn_contact { border-radius: 0 3px 3px 0; }
#following a { display: block; padding: 10px 8px; font-size: 14px; }
#following i { display: inline-block; margin: 0 3px 0 0; }
#following .btn_access i { width: 17px; height: 13px; vertical-align: middle; }
#following .btn_contact i { width: 14px; height: 11px; vertical-align: middle; }
}


/*
 ボタン
-------------------------------------------------- */
.btn { display: flex; align-items: center; justify-content: center; margin: 0 auto; max-width: 100%; background: linear-gradient(#816e5d 50%, #7b6857 50%); box-shadow: 0 1px 0 #5c422b; border-radius: 12px; color: #fff; font-size: 1.375em; font-weight: bold; text-align: center; line-height: 1.2; transition: opacity .3s; }
.btn:hover { opacity: .85; text-decoration: none; }
@media screen and (max-width: 960px) {
}

/*
  pagetop
-------------------------------------------------- */
#pagetop { display: none; position: fixed; bottom: 20%; right: 25px; z-index: 1002; }
#pagetop a { display: block; padding: 20px 15px; background: #fff; color: #00aeef; font-size: 14px; font-weight: bold; border-radius: 3px; box-shadow: 4px 4px 0 2px #43b6ec; }
#pagetop .sp { display: none; }
@media screen and (max-width: 960px) {
#pagetop { display: block; bottom: 5%; right: 15px; }
#pagetop a { margin-bottom: 5px; padding: 10px 10px; font-size: 12px; border-radius: 2px; box-shadow: 2px 2px 0 2px #43b6ec; }
#pagetop .sp { display: block; }
#pagetop .pc { display: none; }
}

.breadcrumb { padding: 30px 10px 20px 10px; }


.breadcrumb .item{
  display: inline-block;
  margin-bottom: 10px;
}

.breadcrumb .item a {
  display: flex;
  align-items: center;
}

.breadcrumb .item a::after{
content: "";
    width: 15px;
    min-width: 15px;
    height: 15px;
    min-height: 15px;
    margin: 0 4px 0 4px;
    background-image: url(../img/mrk_btn_gray.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 5px;
    /*background-color: #00aeef;*/
    border-radius: 50%;

}


/*スマホ用改行タグ
-------------------------------------------------------------------------*/
.br_sp{ display: none; }
.br_pc{ display: inline; }

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

.br_sp{ display:inline; }
.br_pc{ display:none; }


}

.pc_only{
	display: block !important;
}
.sp_only{
	display: none !important;
}
@media screen and (max-width: 960px) {
.pc_only{
	display: none !important;
}
.sp_only{
	display: block !important;
}

}


/* 70周年記念ロゴ（フッター）
-------------------------------------------------------------------------*/
.foot_seventy{
	width:100%;
	margin:0 auto;
	padding: 0 0 30px;
	text-align:center;
	background-color:#fff;
}
.foot_seventy a{
	display:inline-block;
}
.foot_seventy a:hover{
	transition: all .2s ease-in;
	opacity: 0.6;
}
.foot_seventy a img{
	display:block;
	margin:0 auto;
	width:auto;
	height:120px;
}

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


  .foot_seventy a img{
    height:80px;
  }

}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}