@charset "utf-8";
/* ------------------
  設定
------------------ */
html {scroll-behavior: smooth;}
body {font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3','Hiragino Sans', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;font-size: 1.6rem;position: relative;}
a{color: initial;}
a[href]:hover {opacity: 0.8;cursor: pointer;text-decoration: none;}

/* PC?SP切り替え */
.sp_block,.sp_nav--btn,.drawer_nav {display: none;}
  @media screen and (max-width: 767px) {
    .sp_block {display: block;}
    .pc_block {display: none;}
  }

/* ------------------
  レイアウト
------------------ */
.main {
  background-color: #f6f2e7;
  background-image: url("/common/img/main_bg.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  padding-bottom: 100px;
}
.page_container {max-width: 1024px;width: 90%;margin: 0 auto;display: flex; justify-content: center;align-items: flex-start; gap: 20px;}
.entry {width: 100%;padding: 20px;border: 1px solid #d5cfb7; background: #fff;font-size: 1.5rem;}

/* ------------------
  header
------------------ */
.header {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  height: 150px;
  display: flex;
  flex-wrap: wrap;
}
.header--news {
  height: 75px;
}
.header_body {
  width: 100%;
  height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 20px;
}
.header_contents {
  display: flex;
  align-items: center;
  gap: 20px;
}
.header_funds {
  width: 168px;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  background: #806600;
}
.header_lang {
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
}
.header_lang::after {
  content: "";
  width: 9px;
  height: 9px;
  display: block;
  border-right: 1px solid #0d3d17;
  border-bottom: 1px solid #0d3d17;
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: 7px;
}
.header_lang--select {
  color: #0d3d17;
  border: none;
  font-size: 1.4rem;
  padding: 5px 0;
  text-indent: 1rem;
  appearance: none;
  background: #f3f3f3;
}
.header_lang--select:hover {
  cursor: pointer;
}
.header_lang--select option {
  border: none;
}
.header_sns {
  gap: 10px;
  display: flex;
  align-items: center;
}
.header_search--list, .header_btn--list {
  display: flex;
  line-height: 1.8;
}
.header_btn--professor a, .header_btn--search {
  width: 114px;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap:10px;
  color: #fff;
}
.header_btn--professor {
  background: #74370E;
}
.header_btn--search {
  background: #052441;
  position: relative;
}
.header_btn--search:hover {
  cursor: pointer;
}
.header_btn--access {
  background: #ccc;
}
.header_btn--en {
  background: #F1F1EF;
}
.header_btn--contact {
  background: #fff;
}
.header_btn--access a, .header_btn--en a, .header_btn--contact a {
  width: 70px;
  height: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #0D3D17;
  font-size: 1rem;
  font-weight: bold;
}

/*Googleカスタム検索*/
#search-box {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap:10px;
}
#search-box:hover {
  opacity: 0.8;
}
#cse-search-box {
  width: 300px;
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
}
#cse-search-box[aria-hidden="true"] {
  position: absolute;
  opacity: 0;
  transform: translateY(0px);
  transition: all 0.5s;
  z-index: -10;
}
#cse-search-box[aria-hidden="false"] {
  opacity: 1;
  transform: translateY(50px);
  transition: all 0.5s;
  z-index: 1;
}
#cse-search-box input[type="text"] {
  display: flex;
  width: 300px;
  height: 45px;
  border-radius: 5px;
  padding: 5px;
}
#cse-search-box input[type="text"]:focus {
  background: #fff!important;
}
#cse-search-box input[type="submit"] {
  width: 40px;
  height: 35px;
  position: absolute;
  right: 5px;
  top: 4px;
  background: url("/common/img/icon_submit.png") no-repeat center #4c9961;
  padding: 3px 10px;
  border-radius: 5px;
  border: 0 none;
  color: transparent;
}
#cse-search-box input[type="submit"]:hover {
  cursor: pointer;
}

/*グローバルナビゲーション*/
.header_nav {
  width: 100%;
}
.header_nav--list {
  width: 100%;
  height: 80px;
  display: flex;
  justify-content: space-between;
  background: #0D3D17;
}
.header_nav--item {
  width: 100%;
  display: flex;
  align-items: center;
}
.header_nav--item:not(:last-child)::after {
  content: "";
  display: block;
  height: 40px;
  width: 1px;
  background: #fff;
}
.header_nav--item.big {
  min-width: 250px;
}
.header_nav--item a {
  width: 100%;
  height: 100%;
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
}
.header_nav--item a:hover {
  background: #126d32;
  transition-duration: 0.3s;
  opacity: 1;
}
.header_nav--item span {
  font-size: 1.4rem;
  font-weight: normal;
}

/* ------------------
main
------------------ */
/*ページタイトル*/
.page_title {
  max-width: 1024px;
  width: 90%;
  font-size: 3.6rem;
  color: #2e3b29;
  text-shadow: 1px 1px 0px #fff, 2px 2px 0px #fff;
  margin: 0 auto;
  padding: 20px 0 0;
  font-weight: normal;
}

/*パンくずリスト*/
.breadcrumb {
  width: 100%;
  padding: 20px 0;
}
.breadcrumb_list {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 1.5rem;
}
.breadcrumb_item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.breadcrumb_item::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}
.breadcrumb_item:last-child::after {
  content: none;
}
.breadcrumb_item a[href] {
  text-decoration: underline;
	color: #978863;
}
.breadcrumb_item a:hover {
  text-decoration: none;
}

/* ------------------
sidemenu/サイドメニュー
------------------ */
.side {
  background: #d6ceb7;
  padding: 4px;
  max-width: 202px;
}
.side:not(:first-child) {
  margin-top: 20px;
}
.site:first-child{
  margin-top: 0;
}
.side_item {
  border-bottom: 1px solid #fff;
  position: relative;
}
.side_item:last-child {
  border-bottom: none;
}
.side_item > a,.side_name {
  font-size: 1.4rem;
  display: flex;
  min-width: 194px;
  width: 100%;
  padding: 8px;
  background: #a8a17e;
  color: #fff;
  font-weight:lighter;
  line-height: 1.3;
  align-items: center;
}
.side_item > a::before,.side_name::before{
  content: '';
  background: url(/common/img/side_arrow.png) no-repeat center;
  background-size: contain;
  display: block;
  min-width: 9px;
  height: 9px;
  margin-right: 8px;
}
.side_item > a[target="_blank"]::after {
  content: '';
  background: url(/common/img/side_blank.png) no-repeat center;
  background-size: contain;
  display: block;
  min-width: 16px;
  height: 15px;
  margin-left: 5px;
}
.side_item > a.side_pdf::after {
  content: '';
  background: url(/common/img/side_pdf.png) no-repeat center;
  background-size: contain;
  display: block;
  min-width: 16px;
  height: 15px;
  margin-left: 5px;
}
.side_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f6f2e7;
  width: 16px;
  height: 16px;
  position: absolute;
  right: 9px;
  top: 9px;
}
.side_btn::before,.side_btn::after{
  content: '';
  display: block;
  width: 85%;
  height: 2px;
  background: #a8a17e;
  border-radius: 2px;
  position: absolute;
}
.side_btn::after{
  transform: rotate(90deg);
}
.side_btn[aria-expanded="true"]::after {
  transform: rotate(0deg);
}
.side_child{
  border-bottom: none;
  transition: .3s;
}
.side_btn[aria-expanded="true"] ~ .side_drop .side_child{
  border-bottom: 1px solid #d4cfb9;
}
.side_btn[aria-expanded="true"] ~ .side_drop .side_child:last-child{
  border-bottom: none;
}
.side_drop .side_child > a {
  display: flex;
  padding: 0px 10px 0px 15px;
  align-items: center;
  background: #fff;
  font-size: 1.4rem;
  font-weight: lighter;
  line-height: 0;
  overflow: hidden;
  transition: .3s;
  height: 0;
}
.side_btn[aria-expanded="true"] ~ .side_drop .side_child > a {
  line-height: inherit;
  height: auto;
  padding: 10px;
}
.side_child > a:hover{
  text-decoration: underline;
}
.side_child > a::before{
  content: '';
  background: url(/common/img/side_child.png) no-repeat center;
  background-size: contain;
  display: block;
  min-width: 3px;
  height: 5px;
  margin-right: 10px;
}
.side_child > a[target="_blank"]::after {
  content: '';
  background: url(/common/img/side_blank.png) no-repeat center;
  background-size: contain;
  display: block;
  min-width: 16px;
  height: 15px;
  margin-left: 10px;
}
.side_child > a.side_pdf::after {
  content: '';
  background: url(/common/img/side_pdf.png) no-repeat center;
  background-size: contain;
  display: block;
  min-width: 16px;
  height: 15px;
  margin-left: 5px;
}
.side_info_head {
  font-size: 1.4rem;
  display: flex;
  min-width: 194px;
  width: 100%;
  padding: 8px;
  background: #a8a17e;
  color: #fff;
  font-weight:lighter;
  line-height: 1.3;
  align-items: center;
}
.side_info_body {
  display: flex;
  padding: 10px 10px 10px 15px;
  align-items: center;
  background: #fff;
  font-size: 1.4rem;
  font-weight: lighter;
  transition: .3s;
}
.side_item--head > .side_name {
	padding-right: 32px;
}
a.side_bnr {
  margin-top: 15px;
  display: block;
}
.side_contact {
	max-width: 202px;
	width: 100%;
	border: 4px solid #d6ceb7;
	background: #fff;
	margin-top: 20px;
}
.side_contact--txt {
	font-size: 1.4rem;
	padding: 8px;
}

/* ------------------
新着情報
------------------ */
.news_list {
  height: 340px;
  overflow-y: scroll;
  margin-bottom: 20px;
}
.news_item {
  width: calc(100% - 10px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 15px 0;
  border-bottom: 1px solid #dcdcdc;
}
.news_item dt {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 1.4rem;
}
.news_time {
  color: #666;
}
.news_cat {
  padding: 0 10px;
  display: inline-block;
  text-align: center;
  color: #fff;
}
.news_cat.--news {background: #606701;}
.news_cat.--research {background: #003a3a;}
.news_cat.--exam {background: #003557;}
.news_cat.--media {background: #74370e;}
.news_cat.--etc {background: #003557;}
.news_cat.--seminar {background: #003a3a;}
.news_cat.--lecture {background: #606701;}
.news_cat.--student {background: #74370e;}
.news_list a:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.news_btn {
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #0d3d17;
}

/*アーカイブ用*/
.news_list.news_archives {
  overflow: auto;
  height: auto;
  padding: 0 10px;
}
.news_list.news_archives a {
  color: #000;
}
.news_archives .news_cat {
  font-size: 1.3rem;
}

/* ------------------
footer
------------------ */
.footer {
  font-family: YuGothic,'Yu Gothic','メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans','ＭＳ ゴシック', sans-serif;
}
.footer_top {
  background: url("/common/img/footer_bg.png") no-repeat center center;
  background-size: cover;
}
.footer_logo {
  padding: 80px 0;
  text-align: center;
}
.footer_link {
  width: 90%;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 1.3rem;
}
.footer_link a {
  color: #fff;
}
.footer_link li:first-child::before, .footer_link li::after {
  content: "｜";
  padding: 0 8px 0;
  color: #fff;
}
.footer_sns {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding: 40px 0;
}
.footer_bottom {
  padding: 15px 5%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 100px;
  background: #0d3d17;
  color: #fff;
  line-height: 2.5;
  font-size: 1.3rem;
}
.copyright small {
  font-size: 1.3rem;
}

/* ------------------
  フェードイン
------------------ */
.fade{
    opacity: 0.1;
    transition: .3s ease-in-out;
}
.fade.fade--bot{
    transform: translate(0,50px);
}
.fade.fade--top{
    transform: translate(0,-50px);
}
.fade.fade--left{
    transform: translate(-50px,0);
}
.fade.fade--right{
    transform: translate(50px,0);
}
.fade.fadein{
    transform: translate(0,0);
    opacity: 1;
}
.fade.fade--list{
    opacity: 1;
}
.fade_child{
    opacity: 0.1;
    transform: translate(0,50px);
    transition: .5s ease-in-out;
}
.fade_child.left{
  opacity: 0.1;
  transform: translate(-100px,0);
  transition: .5s ease-in-out;
}
.fadein .fade_child{
    transform: translate(0,0);
    opacity: 1;
}
.fade_child.left.fadein {
    transform: translate(0,0);
    opacity: 1;
}
.fade_child:nth-child(1){
    transition-delay: 0.05s;
}
.fade_child:nth-child(2){
    transition-delay: 0.1s;
}
.fade_child:nth-child(3){
    transition-delay: 0.15s;
}
.fade_child:nth-child(4){
    transition-delay: 0.2s;
}
.fade_child:nth-child(5){
    transition-delay: 0.25s;
}
.fade_child:nth-child(6){
    transition-delay: 0.3s;
}
.fade_child:nth-child(7){
    transition-delay: 0.35s;
}
.fade_child:nth-child(8){
    transition-delay: 0.4s;
}
.fade_child:nth-child(9){
    transition-delay: 0.45s;
}

/* ------------------
Backtop
------------------ */
#backtop {
  position: fixed;
  display: block;
  width: 80px;
  height: 81px;
  right: 3%;
  bottom: 15px;
  opacity: 0;
  transition: 0.5s;
  z-index: -10;
}
#backtop.active {
  opacity: 1;
  z-index: 50;
}
#backtop.active:hover {
  opacity: 0.8;
}

/* ------------------
大学案内?学部案内
------------------ */
.aside_pamphlet {
	max-width: 1024px;
	width: 90%;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 40px auto 0;
}
.aside_pamphlet--item {
	max-width: 154px;
	width: 100%;
	background: #fff;
}
.aside_pamphlet--item a {
	width: 100%;
	height: 100%;
	padding: 5px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.aside_pamphlet--item span {
	padding-left: 5px;
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 1.4rem;
  color: #2e3b29;
	&::before {
    content: "";
    display: inline-block;
    background: #09783f;
    height: calc(tan(60deg) * 6px / 2);
    width: 4px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
}
/* PC用設定 */
@media screen and (max-width: 1279px) {body {width: 1280px;}}
@media screen and (min-width: 768px) {a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}}
/* iPad縦 */
@media screen and (orientation: portrait) and (min-width: 768px){}
/* スマホ設定 */
@media screen and (max-width: 767px) {
  body {width: 100%;}
  
  /* ------------------
    レイアウト
  ------------------ */
  .main {background: #f6f2e7;padding-bottom: 50px;}
  .page_container {flex-direction: column-reverse;}
  
  /* -----------------
  フェードイン
  ------------------ */
  .fade.fade--left, .fade.fade--right {transform: translate(0,50px);}
  .fade.fadein {transform: translate(0,0);}
  
  /* ------------------
  header
  ------------------ */
  .header {height: 55px;padding-right: 90px;}
  .header_body {padding: 0 0 0 10px;height: 55px;}
  .header_contents, .header_nav {display: none;}
  #logo {max-height: 45px;width: auto;}

  /* ------------------
  ハンバーガーメニュー
  ------------------ */
  /* ボタン */
  .sp_nav--btn{display: block; position: fixed; width: 55px;height: 55px;background: #0d3d17;border: none;right: 0;top:0;transition: all 0.3s;z-index: 100;}
  .sp_nav--btn span {position: absolute;display: block;height: 3px;background: #fff;margin: auto;}

  /* 閉じた状態 */
  .sp_nav--btn[aria-pressed="false"] span {width: 25px;transition: all 0.3s;}
  .sp_nav--btn[aria-pressed="false"] span:nth-child(1) {top: 19px;left: 0;right: 0;}
  .sp_nav--btn[aria-pressed="false"] span:nth-child(2) {top: 50%;left: 0;right: 0; transform: translateY(-50%);}
  .sp_nav--btn[aria-pressed="false"] span:nth-child(3) {bottom: 17px;left: 0;right: 0;margin: auto;}

  /* 開いた状態 */
  .sp_nav--btn[aria-pressed="true"] span {width: 25px;transition: all 0.3s;}
  .sp_nav--btn[aria-pressed="true"] span:nth-child(1) {top: 50%;transform: translateY(-1.5px) rotate(45deg);background: #fff;left: 13px;}
  .sp_nav--btn[aria-pressed="true"] span:nth-child(2) {display: none;}
  .sp_nav--btn[aria-pressed="true"] span:nth-child(3) {bottom: 50%;transform: translateY(1.5px) rotate(-45deg);background: #fff;left: 13px;}

  /* メニューパネル */
  .drawer_nav {
    position: fixed;
	height: 100vh;
	padding: 5%;
    width: 100%;
    top: 0;
    right: 0;
    color: #000;
    display: flex;
    z-index: 99;
    transition: all 0.3s;
    background: #0d3d17;
    flex-direction: column;
	padding-bottom: 100px;
    overflow: auto;
  }
  .drawer_nav[aria-hidden="true"] {
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
  }
  .drawer_nav[aria-hidden="false"] {
    visibility: visible;
    transform: translateX(0);
  }
  .drawer_nav-inner {
	min-height: calc(100vh + 120px);
  }
  .drawer_menu {
    width: 100%;
    padding: 10px 0 0;
  }
  .drawer_menu--item a {
    width: 100%;
    padding: 9px 15px 10px 0;
    border-bottom: solid 1px #5a5a5a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.5rem;
    color: #fff;
    text-decoration: none;
  }
  .drawer_menu--item a::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: solid 2px #ececec;
    border-right: solid 2px #ececec;
    transform: rotate(45deg);
  }
  .drawer_sns {
    width: 100%;
    height: 50px;
    padding: 10px 5% 0 8%;
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .drawer_sns img {
    filter: brightness(0) invert(1);
  }
  .drawer_logo {
    padding: 0;
    width:calc(100% - 90px); 
  }
  #cse-search-box--sp {
    max-width: 300px;
    width: 100%;
    display: flex;
    margin: 20px auto 60px;
    position: relative;
  }
  #cse-search-box--sp input[type="text"] {
    display: flex;
    width: 100%;
    height: 45px;
    border-radius: 5px;
    padding: 5px;
		position: relative;
		z-index: 100;
  }
  #cse-search-box--sp input[type="text"]:focus {
    background: #fff!important;
  }
  #cse-search-box--sp input[type="submit"] {
    width: 40px;
    height: 35px;
    position: absolute;
    right: 5px;
    top: 4px;
    background: url("/common/img/icon_submit.png") no-repeat center #4c9961;
    padding: 3px 10px;
    border-radius: 5px;
    border: 0 none;
    color: transparent;
		z-index: 101;
  }
  #cse-search-box--sp input[type="submit"]:hover {
    cursor: pointer;
  }
  .header_funds {
    max-width: 300px;
    width: 100%;
    margin: 20px auto 0;
  }
  /* ------------------
  main
  ------------------ */
  /*ページタイトル*/
  .page_title {
    font-size: 2.4rem;
  }

  /*パンくずリスト*/
  .breadcrumb {
    font-size: 1.4rem;
  }
  
  /* ------------------
  sidemenu/サイドメニュー
  ------------------ */
  .side_outer {
    width: 100%;
  }
  .side {
    max-width: 100%;
  }
	
	/* ------------------
	大学案内?学部案内
	------------------ */
	.aside_pamphlet {
		justify-content: center;
		gap: 9px;
		margin: 20px auto 0;
	}
	.aside_pamphlet--item {
		width: calc(33.333% - 6px)
	}
	.aside_pamphlet--item span {
		padding-left: 3px;
		font-size: 1.3rem;
	}
  
  /* ------------------
  footer
  ------------------ */
  .footer_logo {
    padding: 40px 5%;
  }
  .footer_link {
    gap: 10px 5px;
  }
  .footer_bottom {
    line-height: 1.8;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .copyright {
    margin: 25px auto 10px;
  }
}

/* 印刷用設定 */
@media print {body {width:1280px;zoom: 0.68;-webkit-print-color-adjust: exact;}}
@page {size: A4;margin: 5px;}