@charset "UTF-8";

*{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

body{
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 12px;
	text-align:center;
	color: #333333;
	line-height: 153%;
	background: #e6f2d0 url(asset_img/bg.gif) repeat-x 0 0;
	-ms-touch-action: auto;
	touch-action: auto;
}

a{ text-decoration: none; }
a:link,a:visited { color: #CC6699; text-decoration: none; }
a:hover	  { color: #555555; text-decoration: underline; opacity: 0.8; }
img { border: 0px; }
ul,nav{ list-style: none; }
.none{ display: none; }
abbr[title] { text-decoration: none; }

input[type="submit"],input[type="reset"],input[type="button"]{ cursor:pointer; }
input:user-invalid , textarea:user-invalid {
	position: relative;
	border: solid 1px rgb(204, 54, 54);
	background-color: #fff3f3;
}
input:not([type="submit"],[type="reset"],[type="button"]):user-valid , textarea:user-valid {
	position: relative;
	border: solid 1px rgb(0, 121, 36);
	background-color: #f6fff3;
}
input:user-invalid + span.check::after,
textarea:user-invalid + span.check::after{
	display: inline-block;
	content: "！";
	color: #ee0000;
	font-weight: bold;
	margin-left: 5px;
}
input:user-valid + span.check::after,
textarea:user-valid + span.check::after{
	display: inline-block;
	content: "✓";
	color: rgb(0, 121, 36);
	font-weight: bold;
	margin-left: 5px;
}

.red{ color: #ee0000; }
.error-msg{
	font-size: 11px;
	#color: #ee0000;
	color: #101010;
	background-color: #ffb0b0;
}
#roman{ font-family: "ＭＳ 明朝"; }

/* ページの先頭へ */
.for_top{ text-align: right; margin-bottom: 20px; }
	.for_top a{
		display: inline-block;
		padding: 6px 0 0 12px;
		background: url(asset_img/arrow_top.gif) no-repeat 0 10px;
	}
/* ==========================================================================
			Common
 * ========================================================================== */
.container {
	width:970px;
	margin:0px auto;
	padding: 0 20px 10px 20px;
	text-align: left;
	background-color: #fff;
	box-shadow: 0px 0px 20px 10px rgba(58, 153, 29, 0.03);
}
/* =============================
			ヘッダ
 * ============================= */
#header{
	position: relative;
	width: 100%;
	height: 86px;
	padding: 22px 0 0 2px;
}
#header h1{
	position: absolute;
	top: 38px;
	right: 0;
	text-align: right;
	color: #999;
	font-size: 10px;
}
/* =============================
			ナビゲーション
 * ============================= */
.nav{
	background: url(asset_img/MainNavi/nav_bg.png) no-repeat;
	width: 930px;
	height: 81px;
	display: flex;
	margin: 0 0 15px;
	padding: 8px;
}
.nav li{
	height: 66px;
	filter: drop-shadow(0px 0px 2px rgba(114, 133, 74, 0.6));
}
	.nav li a{ display: block; width: 100%; height: 66px;	}
	.nav li a:hover{ background: none!important; }
	.nav li span{ display: none; }

	/* img set */
	.nav li#menu01{	background: url(asset_img/MainNavi/menu_01_on.png) no-repeat; width: 153px; }
	.nav li#menu02{	background: url(asset_img/MainNavi/menu_02.png) no-repeat; width: 153px; }
	.nav li#menu03{	background: url(asset_img/MainNavi/menu_03_on.png) no-repeat; width: 152px; }
	.nav li#menu04{	background: url(asset_img/MainNavi/menu_04_on.png) no-repeat; width: 154px; }
	.nav li#menu05{	background: url(asset_img/MainNavi/menu_05_on.png) no-repeat; width: 153px; }
	.nav li#menu06{	background: url(asset_img/MainNavi/menu_06_on.png) no-repeat; width: 150px; }
		.nav li#menu01 a{	background: url(asset_img/MainNavi/menu_01.png) no-repeat; }
		.nav li#menu02 a{	background: url(asset_img/MainNavi/menu_02.png) no-repeat; }
		.nav li#menu03 a{	background: url(asset_img/MainNavi/menu_03.png) no-repeat; }
		.nav li#menu04 a{	background: url(asset_img/MainNavi/menu_04.png) no-repeat; }
		.nav li#menu05 a{	background: url(asset_img/MainNavi/menu_05.png) no-repeat; }
		.nav li#menu06 a{	background: url(asset_img/MainNavi/menu_06.png) no-repeat; }

/* ========================================
			カラム
 * ======================================== */

/* 2ndページ */
.Contents_wrapper{
	display: grid;
	grid-template-columns: 700px 210px;
	gap: 20px;
}
	.Contents_wrapper:not(.toppage) .SideMenu{ padding-top: 37px; }

/* =============================
			フッター
 * ============================= */
#footer{
	position: relative;
	width: 930px;
	height: 40px;
	background: url(asset_img/footer.gif) no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 9px 0 0 30px;
}
	#footer #copyright{
		position: absolute;
		text-align: right;
		top: 15px;
		right: 42px;
	}

/* ===================================================================
			サイドメニュー
 * =================================================================== */
.SideMenu{
	font-size: 11px;
}
/* 記事リスト */
.entry_list{
	padding: 5px 10px 5px;
	background-color: #ECECEC;
}
	.entry_list li{
		background: url(asset_img/arrow.gif) no-repeat 5px 9px;
		padding: 6px 0 4px 20px;
		border-bottom: 1px dotted #000;
		line-height: 1.4em;
	}
	.entry_list li:nth-last-of-type(1){ border: none; }
/* 過去の記事 */
.back_link{
	margin: 20px 0 30px;
	text-align: right;
}
	.back_link a{
		padding: 0 2px 3px 15px;
		display: inline-block;
		background: url(asset_img/arrow_link.gif) no-repeat 0 3px;
	}

.SideLink p{ margin: 0; }
.SideLink a:hover{ opacity: 0.7; }
.SideLink .recruitment{ margin-bottom: 12px; } /* 求人申し込み */

/* リンク一覧 */
.LinkList{
	border: 1px solid #e0e0e0;
	border-radius: 2%;
	padding: 38px 23px 5px;
	background: url(asset_img/SideLink/SideLinkTitle.png) no-repeat center 5px;
}
	.LinkList li a{
		display: block;
		width: 138px;
		margin-bottom: 7px;
		background-repeat: no-repeat;
	}
		#right_link01 a{ background-image: url(asset_img/SideLink/right_link01.gif); height: 18px; }
		#right_link02 a{ background-image: url(asset_img/SideLink/right_link02.gif); height: 18px; }
		#right_link03 a{ background-image: url(asset_img/SideLink/right_link03.gif); height: 18px; }
		#right_link04 a{ background-image: url(asset_img/SideLink/right_link04.gif); height: 18px; }
		#right_link05 a{ background-image: url(asset_img/SideLink/right_link05.gif); height: 19px;	margin-bottom: 13px; }
		#right_link06 a{ background-image: url(asset_img/SideLink/right_link06.gif); height: 12px;	margin-bottom: 8px; }
		#right_link07 a{ background-image: url(asset_img/SideLink/right_link07.gif); height: 12px;	margin-bottom: 8px; }
		#right_link08 a{ background-image: url(asset_img/SideLink/right_link08.gif); height: 12px;	margin-bottom: 8px; }
		#right_link09 a{ background-image: url(asset_img/SideLink/right_link09.gif); height: 12px; }

	/* サイトのご利用について */
	#right_link_about{
		background: url(asset_img/right_link_arrow.gif) no-repeat 0px 8px;
		padding: 4px 0 5px 10px;
		font-size: 10px;
	}

#return_index{
	position: relative;
	height: 33px;
}
#return_index a{
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 210px;
	height: 27px;
	background-image: url(asset_img/SideLink/toppage.gif);
}	#return_index a:hover{ background-image: url(asset_img/SideLink/toppage_on.gif); }

/* ==========================================================================
			トップページ
 * ========================================================================== */
.MainIMG{ height: 345px; }
.rss{ text-align: right; margin-bottom: 2px; }

/* 最新情報 */
.newentry_list{
	background-color: #e6f2d0;
	margin-bottom: 30px;
	padding: 6px 5px;
}
	.newentry_list .new_title{
		background-color: #fff;
		margin-bottom: 5px;
		padding: 8px 10px 5px;
		font-size: 15px;
		font-weight: bold;
		letter-spacing: 0.2em;
	}
.new_list li{
	display: flex;
	background: #fff url(asset_img/arrow.gif) no-repeat 10px 8px;
	padding: 4px 10px 4px 29px;
	line-height: 1.45em;
}.new_list li:nth-of-type(2n-1){ background-color: #f1e0ee; }
	.new_list li .date{ width: 80px; }
	.new_list li p{ flex: 1; }

/* お知らせ */
.news_list{
	margin-bottom: 20px;
	padding-bottom: 5px;
	background-image : linear-gradient(to right, #000, #000 1px, transparent 1px, transparent 4px);
	background-size: 4px 1px;
	background-position: left bottom;
	background-repeat: repeat-x; 
}
	.news_title{
		padding: 8px 0 5px;
		font-size: 15px;
		font-weight: bold;
		letter-spacing: 0.2em;
		margin-bottom: 5px;
		background-image : linear-gradient(to right, #000, #000 1px, transparent 1px, transparent 4px);
		background-size: 4px 1px;
		background-position: left bottom;
		background-repeat: repeat-x; 
	}
	.news_list .new_list li:nth-of-type(2n-1){ background-color: #ececec; }

/* ========================================
			セカンドページ
 * ======================================== */
#pagetitle{
	margin-bottom: 6px;
}
	#pagetitle_bran{
		margin: 6px 0 5px 0;
		background: url(asset_img/branch/branch_title_img.gif) no-repeat;
		padding: 4px 0 0 18px;
		font-size:24px;
		font-weight:bold;
		color:#666;
		width:500px;
		height:21px;
	}

.Entry{
	border: 1px solid #cccccc;
	border-radius: 3px;
	overflow: hidden;
}.Entry ~.Entry{ margin-top: 10px; }

.Entry .EntryHeader{
	border-bottom: 1px solid #cccccc;
	background: #eef8da;
	padding: 10px 15px 10px 10px;
	font-size:14px;
	font-weight:bold;
	display: flex;
	justify-content: space-between;
}
	.Entry_Title{
		flex: 1;
	}
	.Entry_Date{
		text-align: right;
		font-weight: lighter;
		font-size:12px;
		flex-basis: 140px;
		width: 140px;
	}
.Entry .EntryContents{
	padding: 10px;
}
/* 過去記事一覧 */
  .Entry .EntryContents .alumni_list{
    padding: 5px 10px 10px;
    line-height: 1.8em;
  }
    .Entry .EntryContents .alumni_list li p:before{
      content: "■";
      display: inline-block;
      color: #99cc66;
      padding-right: 5px;
    }
/*  */
dl.flex_list{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	padding: 5px;
}
dl.flex_list dt{
	width: 20px;
}
dl.flex_list dd{
	flex: 1 1 640px;
	margin-bottom: 5px;
}

.register_message{
	text-align: center;
	padding: 15px 15px 15px;
}
.register_message textarea{
	width: 80%;
	height: 170px;
}

/* ===========================
		フォーム
 * =========================== */
/* 卒業時に登録した住所･氏名を～ */
.form_top_text{
	background-color: #EDEDED;
	padding: 5px;
	display: flex;
}
	.form_top_text > div{
		width: 200px;
		padding: 10px 0 10px 15px;
	}
	.form_top_text > p{
		flex: 1;
		background-color: #fff;
		padding: 10px 0 10px 15px;
	}

	/* 各項目に入力して～ */
.form_info_txt{
	margin: 15px 0 20px;
	line-height: 1.6em;
}

.form_wrapper{
	border: 1px solid #ccc;
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 10px;
}
	.form_wrapper h3{
		background-color: #eef8da;
		font-size: 13px;
		font-weight: bold;
		padding: 5px 8px;
	}
	.form_grid{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
	}
		.form_grid > *{
				border-top: 1px solid #ccc;
				padding: 10px 20px;
		}
			.form_grid > dt{
				background-color: #EDEDED;
				width: 200px;
			}
			.form_grid > dd{ flex: 1 1 450px; }

input, select , textarea{
	border: 1px solid #ccc;
}
input[name^="address"],
input[name^="work-address"]{
	width: 350px;
}
input[name*="postal-code"]{
	width: 70px;
}
input[name*="tel"],
input[name*="fax"]{
	width: 40px;
}



/* ===========================
		校友会誌
 * =========================== */
.magazines{
	overflow: hidden;
	position: relative;
	margin-bottom: 15px;
	padding: 60px 0 40px;
	background-color: #000;
}
.swiper-container-free-mode > .swiper-wrapper{
	-webkit-transition-timing-function:linear!important;
	-o-transition-timing-function:linear!important;
	transition-timing-function:linear!important;
}
:root {
	--swiper-pagination-top: auto;
	--swiper-pagination-bottom: 10px;
	--swiper-pagination-fraction-color: inherit;
	--swiper-pagination-progressbar-bg-color: rgb(255, 255, 255);
	--swiper-pagination-bullet-inactive-color: #fff;
	--swiper-pagination-bullet-inactive-opacity: 0.6;
	--swiper-navigation-top-offset: 60%;
	--swiper-navigation-sides-offset: 20px;
	--swiper-navigation-color: #fff;
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-size: 32px!important;
}
.magazines .magazine-title{
	margin-top: 30px;
	color: #fff;
	text-align: center;
}