@charset "UTF-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none;box-sizing:border-box}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}strong{font-weight: 600}img {width: 100%;height: auto}
html{font-size: 62.5%;}
body{font-size: 1.6em;}




/* sp */ 
.sp {
	display: none !important;
}



/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #332A25;
	text-decoration: none;
	transition: 0.4s;
	-webkit-transition: 0.4s;
}
.en {
	font-family: 'Manrope', sans-serif;
	font-weight: 500;
}


/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
	font-weight: 400;
	color: #332A25;
	padding: 0;
	margin: 0;
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}



/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-justify {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* loading */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#pageloading-wrap {
   background: #fff;
   width: 100%;
   height: 100%;
   position: fixed;
   top: 0;
   left: 0;
   text-align: center;
   display: table;
   z-index: 1111;
}
#pageloading-icon {
   display: table-cell;
   vertical-align: middle;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* background-circle */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#bg-circle {
	width: 100%;
	height: 100vh;
	background: url("../img/common/bg_txt.svg") no-repeat center / auto 95%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	animation: rotate-anime 30s linear infinite;
}
@keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	width: 100%;
	max-width: 1600px;
	padding: 0 50px;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateY(0) translateX(-50%);
	-webkit-transform: translateY(0) translateX(-50%);
	z-index: 12;
}
	#header .logo a {
		width: 300px;
		height: 120px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	#header .logo a:hover {
		opacity: 0.7;
	}
		#header .logo a img {
			width: 200px;
		}
		#header .logo a span {
			font-size: 1.8rem;
			font-weight: 600;
			padding-left: 16px;
		}


	#header .menubtn {
		width: 60px;
		height: 60px;
		position: fixed;
		top: 30px;
		right: 50px;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
		#header .menubtn .menu {
			display: block;
			position: relative;
			cursor: pointer;
			width: 60px;
			height: 60px;
			border-radius: 50%;
			background: #fff;
			border: solid 1px #332A25;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#header .menubtn .menu.active {
			background: #332A25;
		}
		#header .menubtn .menu:before {
			content: "Menu";
			font-family: 'Manrope', sans-serif;
			font-size: 1.2rem;
			font-weight: 500;
			text-align: right;
			position: absolute;
			top: 18px;
			left: -50px;
		}
			#header .menubtn .menu .openbtn-area {
				transition: all .4s;
			}
				#header .menubtn .menu span {
					width: 26px;
					display: inline-block;
					transition: all .4s;
					position: absolute;
					top: 50%;
					left: 50%;
					margin-left: -13px;
					height: 1px;
					background: #332A25;
				}
				#header .menubtn .menu span:nth-of-type(1) {
					margin-top: -6px;
				}
				#header .menubtn .menu span:nth-of-type(2) {
				}
				#header .menubtn .menu span:nth-of-type(3) {
					margin-top: 6px;
				}

			#header .menubtn .menu.active .openbtn-area {
				transform: rotateY(-360deg);
			}
				#header .menubtn .menu.active span {
					background: #fff;
				}
				#header .menubtn .menu.active span:nth-of-type(1) {
					transform: translateY(0) rotate(-155deg);
					margin-top: 0;
				}
				#header .menubtn .menu.active span:nth-of-type(2) {
					display: none;
				}
				#header .menubtn .menu.active span:nth-of-type(3) {
					transform: translateY(0) rotate(155deg);
					margin-top: 0;
				}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	display: none;
	width: 100%;
	height: 100vh;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11;
}
	#menubox .menunav {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin: auto;
		height: 100vh;
		position: relative;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
		#menubox .menunav .area {
			width: 900px;
		}
			#menubox .menunav .area .home a {
				display: block;
				font-size: 1.6rem;
				font-weight: 600;
				line-height: 1;
				background: url("../img/common/icon_arrow_black.svg") no-repeat left center;
				margin-bottom: 50px;
				padding-left: 20px;
			}
			#menubox .menunav .area .home a:hover {
				opacity: 0.7;
				background: url("../img/common/icon_arrow_black.svg") no-repeat left 5px center;
			}


			#menubox .menunav .area .navbox .course {
				width: 48.5%;
			}
			#menubox .menunav .area .navbox .other {
				width: 48.5%;
			}
				#menubox .menunav .area .navbox .box {
					width: 47%;
				}
				#menubox .menunav .area .navbox .other .box {
					margin-right: 6%;
				}
				#menubox .menunav .area .navbox .other .box:nth-child(2n) {
					margin-right: 0;
				}
				#menubox .menunav .area .navbox .other .box:nth-child(3),
				#menubox .menunav .area .navbox .other .box:nth-child(4) {
					margin-top: 30px;
				}
					#menubox .menunav .area .navbox .box .head {
						font-size: 1.6rem;
						font-weight: 600;
						line-height: 1;
						border-bottom: solid 1px #ddd;
						padding-bottom: 15px;
						margin-bottom: 17px;
					}

					#menubox .menunav .area .navbox .box ul.list-nav li {
						margin-top: 8px;
					}
						#menubox .menunav .area .navbox .box ul.list-nav li a {
							display: block;
							font-size: 1.3rem;
							padding-left: 12px;
							position: relative;
							line-height: 1.3em;
						}
						#menubox .menunav .area .navbox .box ul.list-nav li a:hover {
							opacity: 0.7;
						}
						#menubox .menunav .area .navbox .box ul.list-nav li a:before {
							content: "";
							width: 6px;
							height: 6px;
							border-radius: 50%;
							position: absolute;
							top: 4px;
							left: 0;
						}
						#menubox .menunav .area .navbox .box ul.list-nav.pink li a:before {
							background: #DE717D;
						}
						#menubox .menunav .area .navbox .box ul.list-nav.lightgreen li a:before {
							background: #6FBA2C;
						}
						#menubox .menunav .area .navbox .box ul.list-nav.green li a:before {
							background: #429174;
						}
						#menubox .menunav .area .navbox .box ul.list-nav.blue li a:before {
							background: #0086D1;
						}
						#menubox .menunav .area .navbox .box ul.list-nav.orange li a:before {
							background: #F2B136;
						}

			#menubox .menunav .area .subnav {
				display: flex;
				justify-content: flex-start;
				align-items: end;
				margin-top: 80px;
			}

				#menubox .menunav .area .subnav .subnav-link {
					width: -webkit-calc(100% - 162px);
					width: calc(100% - 162px);
				}

					#menubox .menunav .area .subnav .subnav-link ul.subnav-text li {
						margin-right: 25px;
					}
						#menubox .menunav .area .subnav .subnav-link ul.subnav-text li a {
							display: block;
							font-size: 1.2rem;
							line-height: 1;
							padding-left: 12px;
							position: relative;
						}
						#menubox .menunav .area .subnav .subnav-link ul.subnav-text li a:hover {
							opacity: 0.7;
						}

						#menubox .menunav .area .subnav .subnav-link ul.subnav-text li a:before {
							content: "";
							width: 6px;
							height: 6px;
							border-radius: 50%;
							position: absolute;
							top: 4px;
							left: 0;
							background: #F2B136;
						}

				#menubox .menunav .area .subnav .subnav-box {
					width: 162px;
				}

					#menubox .menunav .area .subnav .subnav-box ul.subnav-sns {
						width: 103px;
						margin: 0 29.5px;
					}
						#menubox .menunav .area .subnav .subnav-box ul.subnav-sns li a {
							display: block;
						}
						#menubox .menunav .area .subnav .subnav-box ul.subnav-sns li a:hover {
							opacity: 0.7;
						}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* main */
#main {
	display: block;
	max-width: 1600px;
	padding: 0 50px;
	margin: 0 auto;
	overflow: hidden;
}

/* txt */
.txt {
	font-size: 1.6rem;
	line-height: 2.0em;
}
.pink-txt {
	color: #DE717D;
}
.lightgreen-txt {
	color: #6FBA2C;
}
.green-txt {
	color: #429174;
}
.blue-txt {
	color: #0086D1;
}
.orange-txt {
	color: #F2B136;
}

/* btn */
.btn {
	width: 270px;
	margin: 0 auto;
}
	.btn a,
	a .btn span {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		border-radius: 30px;
		font-size: 1.6rem;
		font-weight: 600;
		letter-spacing: 0;
		line-height: 1.2em;
		color: #fff;
		position: relative;
	}
	.btn .pink-btn {
		background: #DE717D;
	}
	.btn .lightgreen-btn {
		background: #6FBA2C;
	}
	.btn .green-btn {
		background: #429174;
	}
	.btn .blue-btn {
		background: #0086D1;
	}
	.btn .orange-btn {
		background: #F2B136;
	}
	.btn a:before,
	a .btn span:before {
		content: "";
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: #fff;
		position: absolute;
		top: 50%;
		right: 20px;
		margin-top: -5px;
		transition: 0.4s;
		-webkit-transition: 0.4s;
	}
	.btn a:hover:before,
	a:hover .btn span:before {
		width: 20px;
		height: 20px;
		right: 15px;
		margin-top: -10px;
	}

/* more */
a .more span {
	display: inline-block;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	padding-right: 15px;
	position: relative;
}
a .more span:before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -5px;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a .more.pink-more span:before {
	background: #DE717D;
}
a .more.lightgreen-more span:before {
	background: #6FBA2C;
}
a .more.green-more span:before {
	background: #429174;
}
a .more.blue-more span:before {
	background: #0086D1;
}
a .more.orange-more span:before {
	background: #F2B136;
}
a:hover .more span:before {
	width: 16px;
	height: 16px;
	right: -3px;
	margin-top: -8px;
}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
	padding-top: 115px;
}
	#pagetitle .breadcrumbs {
		width: 105%;
		white-space: nowrap;
		overflow-y: scroll;
		font-size: 1.2rem;
		line-height: 1;
		margin-bottom: 90px;
	}
		#pagetitle .breadcrumbs a:hover {
			text-decoration: underline;
		}

	#pagetitle .text {
		margin-bottom: 100px;
	}
		#pagetitle .text h1 {
			font-size: 5.0rem;
			font-weight: 500;
			line-height: 1.3em;
			margin-bottom: 5px;
		}

		#pagetitle .text .en {
			font-size: 2.0rem;
			line-height: 1;
		}

	#pagetitle .localnav {
		margin-bottom: 100px;
		border-top: solid 1px #ddd;
		border-bottom: solid 1px #ddd;
		position: relative;
	}
		#pagetitle .localnav .head {
			display: inline-block;
			background: #fff;
			font-size: 2.0rem;
			font-weight: 600;
			line-height: 1;
			padding-right: 20px;
			position: absolute;
			top: -11px;
			left: 0;
		}

		#pagetitle .localnav ul.list li {
			position: relative;
		}
		#pagetitle .localnav ul.list.column5 li {
			width: 20%;
		}
		#pagetitle .localnav ul.list.column6 li {
			width: 16.6666666%;
		}
		#pagetitle .localnav ul.list.column7 li {
			width: 14.2222222%;
		}
		#pagetitle .localnav ul.list.column8 li {
			width: 12.5%;
		}
		#pagetitle .localnav ul.list.column9 li {
			width: 11.1111111%;
		}
		#pagetitle .localnav ul.list li:before {
			content: "";
			width: 1px;
			height: 20px;
			background: #ddd;
			position: absolute;
			top: 50%;
			right: 0;
			margin-top: -10px;
		}
		#pagetitle .localnav ul.list li:nth-last-child(1):before {
			display: none;
		}
			#pagetitle .localnav ul.list li a {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 80px;
				font-size: 1.5rem;
				line-height: 1.4em;
				font-weight: 500;
				text-align: center;
			}
			#pagetitle .localnav ul.list li a:hover {
				opacity: 0.7;
			}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* sns */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#sns {
	background: #F5F5F5;
	padding: 50px;
}
	#sns li {
		width: 48.5%;
	}
		#sns li a {
			height: 130px;
			display: flex;
			justify-content: flex-start;
			align-items: center;
			background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 35px center;
			border-radius: 20px;
			padding: 0 35px;
		}
		#sns li a:hover {
			background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 30px center;
		}
			#sns li a img {
				width: 50px;
			}

			#sns li a .text {
				width: -webkit-calc(100% - 50px);
				width: calc(100% - 50px);
				padding-left: 20px;
				line-height: 1;
			}
				#sns li a .text h2 {
					font-size: 2.4rem;
					letter-spacing: 0.06em;
					margin-bottom: 8px;
				}
				#sns li a .text p {
					font-size: 1.4rem;
				}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: 100%;
	padding: 215px 50px 80px 50px;
	background: #332A25;
	position: relative;
	overflow: hidden;
}
#footer:before {
	content: "Faculty of Nutrition  Faculty of Nutrition  Faculty of Nutrition  Faculty of Nutrition";
	font-family: 'Manrope', sans-serif;
	font-size: 14.0rem;
	font-weight: 500;
	line-height: 1;
	color: #fff;
	white-space: nowrap;
	position: absolute;
	top: -22px;
	left: 0;
	animation: flowimg-pagetitle 60s linear infinite;
}
@keyframes flowimg-pagetitle {
	0% { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}
	#footer .footer-nav {
		margin-bottom: 70px;
	}
		#footer .footer-nav .box {
			width: 15%;
		}
			#footer .footer-nav .box .head {
				font-size: 1.6rem;
				font-weight: 600;
				line-height: 1;
				color: #fff;
				border-bottom: solid 1px #707070;
				padding-bottom: 15px;
				margin-bottom: 17px;
			}

			#footer .footer-nav .box ul.list-nav li {
				margin-top: 8px;
			}
				#footer .footer-nav .box ul.list-nav li a {
					display: block;
					font-size: 1.3rem;
					color: rgba(255,255,255,0.9);
					padding-left: 12px;
					position: relative;
					line-height: 1.3em;
				}
				#footer .footer-nav .box ul.list-nav li a:hover {
					color: rgba(255,255,255,0.6);
				}
				#footer .footer-nav .box ul.list-nav li a:before {
					content: "";
					width: 6px;
					height: 6px;
					border-radius: 50%;
					position: absolute;
					top: 4px;
					left: 0;
				}
				#footer .footer-nav .box ul.list-nav.pink li a:before {
					background: #DE717D;
				}
				#footer .footer-nav .box ul.list-nav.lightgreen li a:before {
					background: #6FBA2C;
				}
				#footer .footer-nav .box ul.list-nav.green li a:before {
					background: #429174;
				}
				#footer .footer-nav .box ul.list-nav.blue li a:before {
					background: #0086D1;
				}
				#footer .footer-nav .box ul.list-nav.orange li a:before {
					background: #F2B136;
				}


	#footer .info {
		display: flex;
		justify-content: flex-start;
		align-items: end;
	}
		#footer .info .text {
			width: -webkit-calc(100% - 162px);
			width: calc(100% - 162px);
		}
			#footer .info .text dl {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				margin-bottom: 40px;
			}
				#footer .info .text dl dt {
					width: 200px;
				}
				#footer .info .text dl dd {
					font-size: 1.2rem;
					color: #fff;
					line-height: 1.6em;
					padding-left: 20px;
				}

			#footer .info .text ul.sub-link li {
				margin-right: 25px;
			}
				#footer .info .text ul.sub-link li a {
					display: block;
					font-size: 1.2rem;
					line-height: 1;
					color: #fff;
				}
				#footer .info .text ul.sub-link li a:hover {
					opacity: 0.7;
				}


		#footer .info .sub-box {
			width: 162px;
		}
			#footer .info .sub-box .copyright {
				font-size: 1.1rem;
				color: #fff;
				line-height: 1;
				letter-spacing: 0;
				text-align: right;
				margin-top: 20px;
			}
			#footer .info .sub-box ul.sns-link {
				width: 103px;
				margin: 0 29.5px;
			}
				#footer .info .sub-box ul.sns-link li a {
					display: block;
				}
				#footer .info .sub-box ul.sns-link li a:hover {
					opacity: 0.7;
				}





/* max 1200px */
@media screen and (max-width: 1200px) {



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* sns */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#sns li a {
	background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 25px center;
	padding: 0 25px;
}
#sns li a:hover {
	background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 20px center;
}
	#sns li a .text {
		padding-left: 15px;
	}


}





/* 1024px */
@media screen and (max-width: 1024px) {




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	padding-left: 20px;
}
	#header .logo a {
		width: 250px;
		height: 90px;
	}
		#header .logo a img {
			width: 150px;
		}
		#header .logo a span {
			font-size: 1.6rem;
			padding-left: 12px;
		}


#header .menubtn {
	width: 50px;
	height: 50px;
	top: 20px;
	right: 20px;
}
	#header .menubtn .menu {
		width: 50px;
		height: 50px;
	}
	#header .menubtn .menu:before {
		font-size: 1.0rem;
		top: 16px;
		left: -40px;
	}
		#header .menubtn .menu span {
			width: 22px;
			margin-left: -11px;
		}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox .menunav .area {
	width: 680px;
}
	#menubox .menunav .area .home a {
		font-size: 1.5rem;
		margin-bottom: 40px;
	}


	#menubox .menunav .area .navbox .box .head {
		font-size: 1.5rem;
	}

	#menubox .menunav .area .navbox .box ul.list-nav li {
		margin-top: 8px;
	}
		#menubox .menunav .area .navbox .box ul.list-nav li a {
			font-size: 1.2rem;
		}

				#menubox .menunav .area .subnav .subnav-link {
					width: -webkit-calc(100% - 150px);
					width: calc(100% - 150px);
				}

					#menubox .menunav .area .subnav .subnav-link ul.subnav-text li {
						margin-right: 20px;
					}
						#menubox .menunav .area .subnav .subnav-link ul.subnav-text li a {
							font-size: 1.0rem;
						}

				#menubox .menunav .area .subnav .subnav-box {
					width: 150px;
				}

					#menubox .menunav .area .subnav .subnav-box ul.subnav-sns {
						width: 95px;
					}
						#menubox .menunav .area .subnav .subnav-box ul.subnav-sns li {
							width: 40px;
						}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* main */
#main {
	padding: 0 20px;
}

/* txt */
.txt {
	font-size: 1.5rem;
	line-height: 1.8em;
}

/* btn */
.btn {
	width: 250px;
}
	.btn a,
	a .btn span {
		height: 54px;
		border-radius: 27px;
		font-size: 1.5rem;
	}
	.btn a:before,
	a .btn span:before {
		right: 16px;
	}
	.btn a:hover:before,
	a:hover .btn span:before {
		right: 11px;
	}

/* more */
a .more span {
	font-size: 1.1rem;
	letter-spacing: 0;
}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
	padding-top: 90px;
}
	#pagetitle .breadcrumbs {
		font-size: 1.0rem;
		margin-bottom: 70px;
	}

	#pagetitle .text {
		margin-bottom: 80px;
	}
		#pagetitle .text h1 {
			font-size: 4.0rem;
		}

		#pagetitle .text .en {
			font-size: 1.6rem;
		}

	#pagetitle .localnav {
		margin-bottom: 70px;
	}
		#pagetitle .localnav .head {
			font-size: 1.8rem;
			top: -10px;
		}

		#pagetitle .localnav ul.list li a {
			height: 70px;
			font-size: 1.3rem;
		}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* sns */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#sns {
	padding: 20px;
}
	#sns li {
		width: 49%;
	}
		#sns li a {
			height: 100px;
			background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 15px center;
			padding: 0 15px;
		}
		#sns li a:hover {
			background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 10px center;
		}
			#sns li a img {
				width: 30px;
			}

			#sns li a .text {
				width: -webkit-calc(100% - 30px);
				width: calc(100% - 30px);
				padding-left: 12px;
			}
				#sns li a .text h2 {
					font-size: 2.0rem;
					margin-bottom: 3px;
				}
				#sns li a .text p {
					font-size: 1.1rem;
				}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	padding: 150px 20px 50px 20px;
}
#footer:before {
	font-size: 10.0rem;
	top: -16px;
}
	#footer .footer-nav {
		margin-bottom: 50px;
	}
		#footer .footer-nav .box {
			width: 15%;
		}
			#footer .footer-nav .box .head {
				font-size: 1.4rem;
			}

			#footer .footer-nav .box ul.list-nav li a {
				font-size: 1.1rem;
				line-height: 1.3em;
			}
			#footer .footer-nav .box ul.list-nav li a:before {
				top: 4.5px;
			}


	#footer .info .text {
		width: -webkit-calc(100% - 150px);
		width: calc(100% - 150px);
	}
		#footer .info .text dl {
			margin-bottom: 30px;
		}
			#footer .info .text dl dt {
				width: 170px;
			}
			#footer .info .text dl dd {
				font-size: 1.0rem;
				padding-left: 15px;
			}

		#footer .info .text ul.sub-link li {
			margin-right: 20px;
		}
			#footer .info .text ul.sub-link li a {
				font-size: 1.0rem;
			}


		#footer .info .sub-box {
			width: 150px;
		}
			#footer .info .sub-box .copyright {
				font-size: 1.0rem;
			}
	
			#footer .info .sub-box ul.sns-link {
				width: 95px;
			}
				#footer .info .sub-box ul.sns-link li {
					width: 40px;
				}
	


}

	







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


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




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header .logo a {
	width: 250px;
}
	#header .logo a img {
		width: 140px;
	}
	#header .logo a span {
		font-size: 1.4rem;
		padding-left: 10px;
	}





/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubox {
	width: 100%;
}
	#menubox .menunav {
		display: block;
		width: 100%;
		height: 100dvh;
		padding: 95px 7% 50px 7%;
		overflow: hidden;
		overflow-y: scroll;
	}
		#menubox .menunav .area {
			width: 100%;
		}
			#menubox .menunav .area .home a {
				font-size: 1.6rem;
				margin-bottom: 40px;
			}


			#menubox .menunav .area .navbox {
				display: block;
			}
				#menubox .menunav .area .navbox .course {
					display: block;
					width: 100%;
				}
				#menubox .menunav .area .navbox .other {
					display: block;
					width: 100%;
				}
					#menubox .menunav .area .navbox .box {
						width: 100%;
						margin-top: 40px;
					}
					#menubox .menunav .area .navbox .other .box {
						margin-right: 0;
					}
					#menubox .menunav .area .navbox .other .box:nth-child(3),
					#menubox .menunav .area .navbox .other .box:nth-child(4) {
						margin-top: 40px;
					}
						#menubox .menunav .area .navbox .box .head {
							font-size: 1.6rem;
						}
							#menubox .menunav .area .navbox .box ul.list-nav li a {
								font-size: 1.3rem;
							}

					#menubox .menunav .area .subnav .subnav-link ul.subnav-text li {
						margin-bottom: 10px;
					}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* btn */
.btn {
	width: 80%;
}

/* txt */
.txt {
	font-size: 1.4rem;
}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
	padding-top: 90px;
}
	#pagetitle .breadcrumbs {
		font-size: 1.0rem;
		letter-spacing: 0;
		margin-bottom: 60px;
	}

	#pagetitle .text {
		margin-bottom: 60px;
	}
		#pagetitle .text h1 {
			font-size: 2.6rem;
			margin-bottom: 8px;
		}

		#pagetitle .text .en {
			font-size: 1.4rem;
		}

	#pagetitle .localnav {
		margin-bottom: 60px;
		border-bottom: none;
	}
		#pagetitle .localnav .head {
			padding-right: 15px;
			top: -16px;
			z-index: 2;
		}

		#pagetitle .localnav ul.list {
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		}
			#pagetitle .localnav ul.list li {
				border-bottom: solid 1px #ddd;
			}
			#pagetitle .localnav ul.list.column5 li,
			#pagetitle .localnav ul.list.column6 li,
			#pagetitle .localnav ul.list.column7 li,
			#pagetitle .localnav ul.list.column8 li,
			#pagetitle .localnav ul.list.column9 li {
				width: 50%;
			}
			#pagetitle .localnav ul.list li:nth-child(2n):before {
				display: none;
			}
			#pagetitle .localnav ul.list.column5 li:nth-child(5):before {
				display: block;
			}
			#pagetitle .localnav ul.list.column7 li:nth-child(7):before {
				display: block;
			}
			#pagetitle .localnav ul.list.column9 li:nth-child(9):before {
				display: block;
			}
				#pagetitle .localnav ul.list li a {
					height: 50px;
					font-size: 1.3rem;
					line-height: 1;
				}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* sns */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#sns {
	padding: 20px;
}
	#sns ul {
		display: block;
	}
	#sns li {
		width: 100%;
		margin-bottom: 15px;
	}
	#sns li:nth-last-child(1) {
		margin-bottom: 0;
	}
		#sns li a {
			height: 90px;
			background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 20px center;
			padding: 0 20px;
		}
		#sns li a:hover {
			background: #fff url("../img/common/icon_arrow_black.svg") no-repeat right 15px center;
		}
			#sns li a img {
				width: 40px;
			}

			#sns li a .text {
				width: -webkit-calc(100% - 40px);
				width: calc(100% - 40px);
				padding-left: 18px;
			}
				#sns li a .text h2 {
					font-size: 2.0rem;
					margin-bottom: 6px;
				}
				#sns li a .text p {
					font-size: 1.2rem;
				}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	padding: 100px 0 30px 0;
}
#footer:before {
	font-size: 7.0rem;
	top: -12px;
}
	#footer .footer-nav {
		display: none;
	}


	#footer .info {
		display: block;
	}
	#footer .info .text {
		width: 100%;
	}
		#footer .info .text dl {
			display: block;
			margin-bottom: 30px;
		}
			#footer .info .text dl dt {
				width: 150px;
				margin: auto;
			}
			#footer .info .text dl dd {
				font-size: 1.1rem;
				padding-left: 0;
				text-align: center;
				margin-top: 12px;
				line-height: 1.7em;
			}

		#footer .info .text ul.sub-link {
			border-top: solid 1px #707070;
		}
			#footer .info .text ul.sub-link li {
				width: 50%;
				margin-right: 0;
				border-bottom: solid 1px #707070;
			}
			#footer .info .text ul.sub-link li:nth-child(2n) {
				border-left: solid 1px #707070;
			}
				#footer .info .text ul.sub-link li a {
					font-size: 1.1rem;
					text-align: center;
					padding: 15px 0;
				}


	#footer .info .sub-box {
		width: 100%;
		margin-top: 30px;
	}
		#footer .info .sub-box .copyright {
			text-align: center;
			margin-top: 25px;
		}

		#footer .info .sub-box ul.sns-link {
			margin: auto;
		}








}