@charset "utf-8";
/* CSS Document */



/*****************************************************************************
 frontVA
 *****************************************************************************/

#frontVA {
	margin-top: -90px;
	position: relative;
	padding: 0 0 115px;
}




/*#frontVA .link
-----------------------------------*/
#frontVA .link {
	height: 58px;
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0 auto;
}
#frontVA .link .contact {
	position: absolute;
	left: -42px;
	top: -98px;
}
#frontVA .link .contact a {
	display: block;
	box-sizing: border-box;
	width: 198px;
	height: 198px;
	border-radius: 99px;
	background-color: #46D2E6;
	padding-top: 115px;
	text-align: center;
	color: #ffffff;
	font-size: 24px;
	text-decoration: none;
}
#frontVA .link .nav {
	height: 58px;
	position: relative;
}
#frontVA .link .nav nav {
	position: absolute;
	bottom: 14px;
	right: -21px;
}
#frontVA .link .nav ul {
	display: flex;
}
#frontVA .link .nav a {
	display: block;
	padding: 0 21px;
	text-decoration: none;
}


/*scrollDown
-----------------------------------*/
#frontVA .scrollDown {
	color: #fff;
	font-size: 18px;
	text-align: center;
	width: 100%;
	bottom: 15px;
	left: 0;
	position: absolute;
	z-index: 333;
	font-family: 'Hind Madurai', sans-serif;
	padding-bottom: 7px;
}
#frontVA .scrollDown.off {
	display: none;
}
#frontVA .scrollDown .fa {
	text-align: center;
	font-size: 18px;
	width: 18px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -9px;
	animation-name: scrollDown;
	animation-duration: 1.4s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
}
@keyframes scrollDown {
0% {
	transform:translateY(0);
	opacity:1;
}
100% {
	transform:translateY(10px);
	opacity:0;
}
}




/*#frontVA .front
-----------------------------------*/
#frontVA .front {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
#frontVA .front .inner {
	max-width: 500px;
	width: 84%;
}
#frontVA .front .logo  {
	opacity: 0;
	transition: .5s;
}
#frontVA .front .logo.on  {
	opacity: 1;
}
#frontVA .front .logo img {
	width: 100%;
	height: auto;
}
#frontVA .front .banner {
	margin: 35px auto 0;
}
#frontVA .front .banner a {
	display: inline-block;
  background: rgba(70,210,230,.8);
	color: #fff;
	text-decoration: none;
	padding: 15px 20px;
	width: 70%;
	line-height: 1.2;
}



/*#frontVA .imagesWrapper
-----------------------------------*/
#frontVA .imagesWrapper {
	position: relative;
	display: flex;
	justify-content: center;
}
#frontVA .images {
	overflow: hidden;
	position: relative;
	z-index: 1;
}
#frontVA .imagesSP {
	display: none;
}
#frontVA .imagesPC {
	height: calc(100vh);
}
#frontVA .imagesPC ul {
	z-index: 2;
	width: 50%;
	height: 100%;
	position :absolute;
	top: 0;
}
#frontVA .imagesPC ul.left {
	left: 1px;
}
#frontVA .imagesPC ul.right {
	right: 1px;
}
#frontVA .images li {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 0;
	transition: transform 1.5s ease-in-out;
	background: 50% 50% no-repeat;
	background-size: cover;
}
#frontVA .imagesPC ul img {
	width: 100%;
	height: 100%;
}
#frontVA .imagesPC .left li,
#frontVA .imagesSP li {
	transform: translateY(100%);
}
#frontVA .imagesPC .right li {
	transform: translateY(-100%);
}
#frontVA .imagesPC li.now,
#frontVA .imagesSP li.now  {
	z-index: 2;
}
#frontVA .imagesPC li.next,
#frontVA .imagesSP li.next {
	z-index: 3;
}
#frontVA .imagesPC li.prev,
#frontVA .imagesSP li.prev {
	z-index: 1;
}
#frontVA .imagesPC .left li.prev,
#frontVA .imagesSP li.prev {
	transform: translateY(0);
}
#frontVA .imagesPC .left li.now,
#frontVA .imagesSP li.now  {
	transform: translateY(0);
}
#frontVA .imagesPC .left li.next,
#frontVA .imagesSP li.next {
	transform: translateY(100%);
}
#frontVA .imagesPC .right li.now {
	transform: translateY(0);
}
#frontVA .imagesPC .right li.next {
	transform: translateY(-100%);
}
#frontVA .imagesPC .right li.prev {
	transform: translateY(0);
}



@media screen and (max-width: 1100px) {
	#frontVA {
		margin-top: 0;
		padding: 20px 0 0;
	}
	#frontVA .link {
		display: none;
	}
}
@media screen and (max-width: 600px) {
	#frontVA {
		padding: 12px 0 0;
	}
	#frontVA .imagesPC {
		display: none;
	}
	#frontVA .imagesSP {
		display: block;
		height: calc(100vh);
	}
	#frontVA .imagesWrapper .logo {
		background-size: 84% auto;
	}
}

/*****************************************************************************
 Splide メインビジュアル
 2023.12.26 追記
 *****************************************************************************/
.home-mv {}

.home-mv__contents {
	position: relative;
}
@media screen and (max-width: 767px) {
	.home-mv__contents {
		height: 412px;
	}
}

.home-mv__splide{}

.home-mv__track{}

.home-mv__list{}

.home-mv__slide{}

.home-mv__picture {
	display: block;
	height: 834px;
}
@media screen and (max-width: 767px) {
	.home-mv__picture {
		/* height: calc(100vh - 400px); */
		height: 412px;
	}
}

.home-mv__picture img {
	object-fit: cover;
	object-position: 28% center;	/* 右側にテキスト有るので調整 */
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.home-mv__picture img {
		object-position: 50% center;
	}
}

.home-mv__title {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 86vw;
}
@media screen and (max-width: 767px) {
	.home-mv__title {
		display: none;
	}
}

.home-mv__lead {
	position: absolute;
	width: 48vw;
	/* width: 24vw; */
	right: 16%;
	/* bottom: 41%; */
	top: 10%;
	color: white;
	font-size: 42px;
	font-weight: bold;
	text-align: right;
}
@media screen and (max-width: 1180px) {
	.home-mv__lead {
		/* width: 30vw; */
		width: 500px;
		top: inherit;
		right: inherit;
		left: 60%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
		/* bottom: 10%; */
		top: 10%;
		font-size: 36px;
	}
}
@media screen and (max-width: 767px) {
	.home-mv__lead {
		max-width: 334px;
    	width: 100%;
		font-size: 24px;
		left: 50%;
		/* bottom: 8%; */
	}
}

.home-mv__title img,.home-mv__lead img {
	width: 100%;
	height: auto;
}

.home-mv__lead02 {
	display: none;
	text-align: center;
	padding: 0 16px;
}
@media screen and (max-width: 767px) {
	.home-mv__lead02 {
		display: block;
		margin-top: 15px;
	}
}

.home-mv__lead02 img {
	width: 100%;
	height: auto;
	max-width: 334px;
}


/*****************************************************************************
 frontLink-menu
 *****************************************************************************/
.home-linkList {
	max-width: 1239px;
	margin: 43px auto 43px auto;
}
@media screen and (max-width: 767px) {
	.home-linkList {
		margin-bottom: 0;
	}
}

.home-linkList__contents {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: end;
	gap: 34px;
	align-items: center;
}
@media screen and (max-width: 1200px) {
	.home-linkList__contents {
		grid-template-columns: repeat(2, 1fr);
		justify-items: center;
		gap: 16px;
		padding: 0 4px;
	}
}
@media screen and (max-width: 767px) {
	.home-linkList__contents {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
}

.home-linkList__link {
	position: relative;
	display: block;
	width: 100%;
	color: #ffffff;
	background-color: #32C2C2;
	border: 1px solid #32C2C2;
	border-radius: 33px;
	text-decoration: none;
	transition: .4s;
	/*--水平方向 垂直方向 影のぼかし 色--*/
	box-shadow: 0px 5px 7px rgba(0,0,0,0.2);
}

.home-linkList__link:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0);
}

.home-linkList__link::after {
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	right: 24px;
	height: 16px;
	width: 16px;
	background: url(../images/home/home-icon-arrow.svg);
	background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
	.home-linkList__link::after {
		right: 13px;
    background-size: 10px 10px;
	}
}

.home-linkList__link--02 {
	background-color: #ffffff;
	color: #32C2C2;
}

.home-linkList__link--02::after {
	height: 16px;
	width: 16px;
	background: url(../images/home/home-icon-linkwindow.svg);
	background-repeat: no-repeat;
}

.home-linkList__items {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	padding-top: 15px;
	padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
	.home-linkList__items {
		gap: 6px;
		padding-top: 11px;
		padding-bottom: 13px;
		padding-top: 7px;
    padding-bottom: 8px;
	}
}
@media screen and (max-width: 375px) {
	.home-linkList__items {
		padding-top: 7px;
    padding-bottom: 8px;
	}
}

.home-linkList__icon {
	max-width: 30px;
}
@media screen and (max-width: 767px) {
	.home-linkList__icon {
		width: 18px;
	}
}

.home-linkList__icon img {
	width: 100%;
	height: auto;
}

.home-linkList__text {
	font-size: 20px;
	font-weight: 600;
	min-width: 7em;
}
@media screen and (max-width: 1200px) {
	.home-linkList__text {
		font-size: 14px;
	}
}
@media screen and (max-width: 767px) {
	.home-linkList__text {
		font-size: 12px;
	}
}


/*****************************************************************************
 frontBanner
 *****************************************************************************/
#frontBanner {
	padding: 7vw 0 30px;
	text-align: center;
}
#slideWrapper {
	width: 1200px;
	margin: 0 auto;
}
#slide li a {
	display:block;
	opacity:1;
	width:100%;
	padding:54% 0 0;
	position:relative;
	overflow:hidden;
}
#slide li img {
	position:absolute;
	top:0;
	left:0;
	width: 100%;
	height: auto;
}
#slide-swiper-pagination {
	height: 0;
	overflow: hidden;
}
#slide-swiper-thumbs {
	width: 864px;
	margin: 36px auto 0;
}
#slide-swiper-thumbs ul {
	display:flex;
}
#slide-swiper-thumbs li {
	width: 25%;
	padding:0 18px;
}
#slide-swiper-thumbs li a {
	display: block;
	width:100%;
	padding:54% 0 0;
	position:relative;
	overflow:hidden;
}
#slide-swiper-thumbs li a img {
	position:absolute;
	top:0;
	left:0;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1240px) {
	#slideWrapper {
		width: auto;
		margin: 0 20px;
	}
}
@media screen and (max-width: 1100px) {
	#frontBanner {
		padding: 30px 0 10px;
	}
}
@media screen and (max-width: 924px) {
	#slide-swiper-thumbs {
		width: auto;
		margin: 36px 20px 0;
	}
	#slide-swiper-thumbs ul {
		margin: 0 -18px;
	}
}

@media screen and (max-width: 600px) {
	/*#frontBanner {
		padding: 30px 0 10px;
	}*/
	#slideWrapper {
		width: auto;
		margin: 0 12px;
	}
	#slide {
		padding-bottom: 18px;
	}
	#slide-swiper-pagination {
		height: auto;
		overflow: visible;
	}
	#slide-swiper-pagination .swiper-pagination-bullet {
		height: 12px;
		width: 12px;
		margin: 0 18px;
	}
	#slide-swiper-pagination .swiper-pagination-bullet-active {
		background: #46d2e6;
	}
	#slide-swiper-thumbs {
		height: 0;
		overflow: hidden;
	}
}


/*****************************************************************************
 TOPICS
 2023.12 追記
*****************************************************************************/
.home-topics {
	padding-bottom: 180px;
}
@media screen and (max-width: 1210px) {
	/* homeNews-section との兼ね合い注意 */
	.home-topics {
		padding-bottom: 150px;
	}
}
@media screen and (max-width: 767px) {
	.home-topics {
		padding-bottom: 64px;
	}
}

.home-topics > .heading01 {
	margin-bottom: 0;
}

.home-banner {}

.home-banner__contents {}

.home-banner__splide {}

.home-banner__track {}

.home-banner__list {}

.home-banner__slide {
	margin: 0 3%;
	/* max-width: 950px; */
}
@media screen and (max-width: 767px) {
	.home-banner__slide {
		margin-left: 0;
	}
}

.home-banner__link {
	display: block;
}

.home-banner__picture {}

.home-banner__picture img {
	width: 100%;
	height: auto;
}


/* ページネーションの位置 */
.home-banner__pagination {
	bottom: -3.5em;
}
@media screen and (max-width: 767px) {
	.home-banner__pagination {
		bottom: -2em;
	}
}

/* ページネーションデザイン */
.splide__pagination__page.home-banner__page {
	width: 6px;
	height: 6px;
}

.splide__pagination__page.home-banner__page.is-active {
	background-color: #3E3E3E;
	transform: none;
}

/* 左右矢印デザイン */
.home-banner__button {
	background-color: transparent; /* ボタンの背景を透明にする */
	height: 50px; /* クリック範囲 */
  width: 50px;
  transition: .2s;
}

.home-banner__button::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 50px;
  width: 50px;
  position: absolute;
  left: 0;
  margin: auto;
  top: 0;
  bottom: 0;
}
.home-banner__button.splide__arrow--prev {
	left: 18%;
}

.home-banner__button.splide__arrow--next {
	right: 15%;
}

.home-banner__prev::before {
	background-image: url(../images/home/home-slide-prev.png);
	width: 14px;
	height: 28px;
	position: absolute;
	left: 40%;
}

.home-banner__next::before {
	background-image: url(../images/home/home-slide-next.png);
	width: 14px;
	height: 28px;
	position: absolute;
	left: 40%;
}


/*****************************************************************************
 frontNews
 *****************************************************************************/

#frontNews {
	padding: 100px 0 0;
}
#frontNews ul li a {
	display: block;
	text-align: center;
	text-decoration: none;
	opacity:1;
}
#frontNews ul li a .date {
	font-size: 16px;
	color: #000000;
}
#frontNews ul li a .img {
	margin: 55px auto 0;
	width: 60%;
	max-width: 242px;
	height: 100%;
	border-radius: 100%;
	overflow: hidden;
	transition:opacity 0.3s ease;
}
#frontNews ul li a .img img {
	width: 100%;
	height: auto;
}
#frontNews ul li a .title {
	margin: 65px 0 0;
	padding: 0 15%;
	font-size: 22px;
	line-height: 1.2;
	color:#46d2e6;
	transition:color 0.3s ease;
}
#frontNews ul li a .text {
	margin: 15px 0 0;
	padding: 0 15%;
	line-height:1.6;
	font-size: 14px;
	text-align: left;
	color: #646464;
}
#frontNews ul li a:hover .img {
	opacity:0.6;
}
@media screen and (max-width: 600px) {
#frontNews {
	padding: 60px 0;
}
#frontNews ul {
	display:inherit;
}
#frontNews ul li {
	width: auto;
	margin:60px 0 0;
}
#frontNews ul li:nth-child(1) {
	margin:0;
}
#frontNews ul li a .img {
	margin: 30px auto 0;
}
#frontNews ul li a .title {
	margin: 30px 0 0;
	padding: 0 10%;
}
#frontNews ul li a .text {
	padding: 0 10%;
}
}


/* 2023.12.26 追記 */
.homeNews-section {
	background-color: #EFFCFC;
	padding-top: 40px;
	padding-bottom: 112px;
	background-image: url(../images/home/home-heading_news.png);
	background-repeat: no-repeat;
	background-position: right 14% top 86px;
}
@media screen and (max-width: 1660px) {
	.homeNews-section {
		background-position: right 9% top 133px;
    background-size: 463px auto;
	}
}
@media screen and (max-width: 1210px) {
	.homeNews-section {
		background:
		url(../images/home/home-heading_news.png) right 16px top 0 / 463px auto no-repeat,
		linear-gradient(to bottom, #ffffff 30px,#EFFCFD 30px,#EFFCFD 30px, #EFFCFD calc(100% - 30px));
	}
}
@media screen and (max-width: 757px) {
	.homeNews-section {
		padding-top: 50px;
		padding-bottom: 38px;
    background-size: 64vw auto;
    background:
		url(../images/home/home-heading_news.png) right 16px top 0 / 208px auto no-repeat,
		linear-gradient(to bottom, #ffffff 20px,#EFFCFD 20px,#EFFCFD 20px, #EFFCFD calc(100% - 20px));
	}
}

@media screen and (max-width: 757px) {
	.homeNews-section > .heading01 {
		min-height: 60px;
		margin-bottom: 52px;
	}
}


.home-news {
	max-width: calc(1250px + 32px);
	margin: 0 auto 68px auto;
	padding: 0 16px;
}
@media screen and (max-width: 757px) {
	.home-news  {
		max-width: calc(316px + 32px);
		margin: 0 auto 46px auto;
	}
}

.home-news__list {}

.home-news__item {}

/* PC時のスタイル */
.splide.is-initialized:not(.is-active) .splide__list {
  display: grid;
  gap: 83px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1282px) {
	.splide.is-initialized:not(.is-active) .splide__list {
		gap: 24px;
	}
}

/* スライドのサイズ調整 */
.home-news__slide img {
  height: auto;
  width: 100%;
}

/* 左右矢印デザイン */
.home-news__button {
	display: none;
}
@media screen and (max-width: 757px) {
	.home-news__button {
		display: block;
		background-color: transparent; /* ボタンの背景を透明にする */
		top: 29%;
		height: 50px; /* クリック範囲 */
		width: 50px;
		transition: .2s;
	}
}

.home-news__button::before {}
@media screen and (max-width: 757px) {
	.home-news__button::before {
		content: "";
		background-repeat: no-repeat;
		background-size: contain;
		height: 50px;
		width: 50px;
		position: absolute;
		left: 0;
		margin: auto;
		top: 0;
		bottom: 0;
	}
}

.home-news__button.splide__arrow--prev {}
@media screen and (max-width: 757px) {
	.home-news__button.splide__arrow--prev {
		left: -50px;
	}
}
@media screen and (max-width: 390px) {
	.home-news__button.splide__arrow--prev {
		left: -42px;
	}
}

.home-news__button.splide__arrow--next {}
@media screen and (max-width: 757px) {
	.home-news__button.splide__arrow--next {
		right: -50px;
	}
}
@media screen and (max-width: 390px) {
	.home-news__button.splide__arrow--next {
		right: -42px;
	}
}

.home-news__prev::before {
	background-image: url(../images/home/home-slide-prev.png);
	width: 14px;
	height: 28px;
	position: absolute;
	left: 40%;
}

.home-news__next::before {
	background-image: url(../images/home/home-slide-next.png);
	width: 14px;
	height: 28px;
	position: absolute;
	left: 40%;
}

/* newsスライド中身 */
.card-news {
	display: block;
	position: relative;
	transition: opacity 0.3s;
	text-align: left;
	text-decoration: none;
}

.card-news__date {
	background-color: #32C2C2;
	border-radius: 8px 0 0 0;
	color: #fff;
	font-size: 16px;
	padding-top: 9px;
	padding-bottom: 10px;
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	width: 64px;
	z-index: 1;
	box-sizing: border-box;
	line-height: 1.5;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
}

.card-news__year {
	display: block;
	font-size: 14px;
}

.card-news__thumb {
	border-radius: 8px;
	display: block;
	overflow: hidden;
	padding-top: 66%;
	position: relative;
	width: 100%;
	height: 0;
}

.card-news__thumb img {
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
	transition: scale 0.3s;
	width: 100%;
	height: 100%;
	max-width: 100%;
	vertical-align: middle;
}

.card-news__title {
	margin-top: 18px;
	font-size: 20px;
	color: #646464;
}

.card-news__text {
	font-size: 16px;
	color: #646464;
	margin-top: 4px;
}



/*catNav
----------------------------------------------------------*/
#slide2Wrapper {
	position: relative;
	overflow: hidden;
	z-index:1;
}
#slide2Wrapper .buttons li {
	width: 68px;
	height: 68px;
	position: absolute;
	top: 50%;
	margin-top: -34px;
	z-index: 2;
	background-color: #46D2E6;
	border-radius: 100%;
	text-align: center;
	cursor: pointer;
	transition:opacity 0.3s ease;
}
#slide2Wrapper .buttons .prev {
	left: 0;
	margin-left: -34px;
	text-align: right;
	padding-right: 12px;
}
#slide2Wrapper .buttons .next {
	right: 0;
	margin-right: -34px;
	text-align: left;
	padding-left: 12px;
}
#slide2Wrapper .buttons li .fa {
	font-size: 50px;
	color: #ffffff;
	vertical-align: middle;
	line-height: 68px;
	margin-top: -2px;
}
#slide2Wrapper .buttons li:hover {
	opacity:0.7;
}

@media screen and (min-width: 601px) {
#newsSpBox {
	height: 0;
	overflow: hidden;
}
}

@media screen and (max-width: 600px) {
	#slide2Wrapper {
		height: 0;
		overflow: hidden;
	}
	#slide2Wrapper .buttons li {
		display: none;
	}
}


/*****************************************************************************
 学科紹介
 *****************************************************************************/
.home-department-wrapper {
	margin-top: 80px;
	background-image: url(../images/home/home-heading_department.png);
	background-repeat: no-repeat;
	background-position: left 7%;
	/* background-size: 30vw auto; */
}
@media screen and (max-width: 1600px) {
	.home-department-wrapper {
		background-position: left 7%;
		background-size: 30vw auto;
	}
}
@media screen and (max-width: 1181px) {
	.home-department-wrapper {
		padding: 0 16px;
		margin-top: 50px;
		margin-top: 19px;
		background-size: 36vw auto;
		background-position: left -34px top;
	}
}

@media screen and (max-width: 767px) {
	.home-department-wrapper {
		background-size: 56vw auto;
	}
}

@media screen and (max-width: 767px) {
	.home-department-wrapper > .heading01 {
    /* padding-top: 22px; */
		padding-top: 51px;
		padding-top: 60px;
	}

}

@media screen and (max-width: 767px) {
	.heading01__inner::before {
		font-size: 16px;
	}
}

.home-department {
	background-color: #EFFCFC;
	max-width: 1560px;
	min-height: 674px;
	margin: 90px auto 0 auto;
	display: grid;
	grid-template-columns: 52vw 1fr;
	position: relative;
}
@media screen and (max-width: 1181px) {
	.home-department {
		display: block;
		position: static;
		text-align: center;
	}
}
@media screen and (max-width: 1024px) {
	.home-department {
		margin-top: 49px;
	}
}

@media screen and (max-width: 1181px) {
	.home-department__img {
		width: 100%;
	}
}

.home-department__img img {
	position: absolute;
	top: -40px;
	left: -59px;
	width: 51vw;
	height: auto;
}
@media screen and (max-width: 1181px) {
	.home-department__img img {
		position: static;
		width: 100%;
		height: auto;
	}
}

.home-department-content {
	text-align: center;
	padding: 67px 80px 52px 0px;
}
@media screen and (max-width: 1181px) {
	.home-department-content {
		padding: 67px 80px 52px 67px;
	}
}

@media screen and (max-width: 1024px) {
	.home-department-content {
		padding: 22px 16px 52px 16px;
	}
}
@media screen and (max-width: 767px) {
	.home-department-content {
		padding-bottom: 20px;
	}
}

.home-department-content__item {
background-color: #ffffff;
padding: 48px 0;
}
@media screen and (max-width: 600px) {
	.home-department-content__item {
		padding: 19px 0 25px;
	}
}


.home-department-content__item + .home-department-content__item {
	margin-top: 43px;
	margin-bottom: 43px;
}
@media screen and (max-width: 600px) {
	.home-department-content__item + .home-department-content__item {
		margin-top: 22px;
		margin-bottom: 43px;
	}
}

.home-department-content__lead {
	font-size: 16px;
	padding-bottom: 12px;
	font-weight: 500;
	position: relative;
}
@media screen and (max-width: 600px) {
	.home-department-content__lead {
		font-size: 12px;
	}
}

.home-department-content__lead::after {
	content: "";
	border: solid 1px #F6A751;
	width: 72px;
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: calc(50% - 40px);
}
@media screen and (max-width: 767px) {
	.home-department-content__lead::after {
		width: 40px;
		right: calc(50% - 23px);
	}
}


.home-department-content__lead--green::after {
	border: solid 1px #96E66E;
}

.home-department-content__title {
	font-size: 36px;
}
@media screen and (max-width: 600px) {
	.home-department-content__title {
		font-size: 20px;
	}
}

/*****************************************************************************
 リンクメニュー 入試情報・就職支援・学生生活
 *****************************************************************************/
.home-menu {
	margin-top: 147px;
}
@media screen and (max-width: 767px) {
	.home-menu {
		margin-top: 29px;
	}
}

.home-menuCard-wrapper {
	max-width: 1239px;
	margin: 0 auto;
	padding: 0 16px;
}

.home-menuCard {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 47px;
}
@media screen and (max-width: 767px) {
	.home-menuCard {
		grid-template-columns: 1fr;
		gap: 22px;
	}
}

.home-menuCard__link {
	display: block;
	color: #fff;
	font-size: 24px;
	text-decoration: none;
	border-radius: 10px;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.home-menuCard__link {
		font-size: 20px;
	}
}

.home-menuCard__item {
	max-width: 382px;
	padding: 84px 16px 97px 16px;
	text-align: center;
	background-image: url(../images/home/home-menuCard01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
@media screen and (max-width: 767px) {
	.home-menuCard__item {
		max-width: 100%;
		padding: 28px 16px 46px 16px;
	}
}

.home-menuCard__item--02 {
	background-image: url(../images/home/home-menuCard02.png);
}

.home-menuCard__item--03 {
	background-image: url(../images/home/home-menuCard03.png);
}



.home-menuCard__icon {}
@media screen and (max-width: 767px) {
	.home-menuCard__icon {
		width: 113px;
		height: 113px;
	}
}

.home-menuCard__icon img {
	width: 100%;
	height: auto;
}

.home-menuCard__text {
	padding: 52px 0;
}
@media screen and (max-width: 767px) {
	.home-menuCard__text {
		padding: 9px 0;
	}
}

.home-menuCard__arrow {

}


.menuCard__item {
	max-width: 382px;
}

@media screen and (max-width: 767px) {
	.menuCard__item {
	max-width: 100%;

	}
}

.menuCard__item img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	.menuCard__item img {
		max-height: 264px;
		object-fit: cover;
		width: 100%;
		overflow: hidden;
	}
}

.menuCard__text {

}

.menuCard__arrow {

}


/*****************************************************************************
 CONTACT
 *****************************************************************************/
.home-contact {
	margin-top: 140px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.home-contact {
		margin-top: 48px;
	}
}

.home-contact__link {
	display: block;
	color: #ffffff;
	background-color: #32C2C2;
	text-decoration: none;
}

.home-contact__block {
	padding: 60px 16px;
}
@media screen and (max-width: 767px) {
	.home-contact__block {
		padding: 50px 16px;
	}
}



.home-contact__item {
	display: grid;
	grid-template-columns: 50px 1fr;
	align-items: center;
	justify-items: center;
	gap: 26px;
	width: fit-content;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.home-contact__item {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 10px;
	}
}

.home-contact__icon01 {
	width: 50px;
}
@media screen and (max-width: 767px) {
	.home-contact__icon01 {
		width: 33px;
	}
}

.home-contact__icon01 img {
	width: 100%;
	height: auto;
}

.home-contact__title {
	font-size: 56px;
	font-family: 'Crimson Text', serif;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.home-contact__title {
		font-size: 36px;
	}
}

.home-contact__text {
	font-size: 20px;
	margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
	.home-contact__text {
		font-size: 18px;
	}
}

.home-contact__icon02 {
}
@media screen and (max-width: 767px) {
	.home-contact__icon02 {
		width: 42px;
	}
}



/*****************************************************************************
 frontAccess
 *****************************************************************************/
#frontAccess {
	padding: 100px 0 0;
}
#frontAccess .inner {
	text-align: center;
	width:100%;
	max-width: 1200px;
	margin: 0 auto;
}
#gMapWrapper {
	width:100%;
	padding:51% 0 0;
	position:relative;
}
#map_canvas iframe {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}

/* 2023.12.26 追加 */
#frontAccess.home-access {
	margin: 26px 0 0;
	padding: 23px 0 0;
	background-image: url(../images/home/home-heading_access.png);
	background-repeat: no-repeat;
	background-position: right 11vw top 107px;
}
@media screen and (max-width: 1240px) {
	#frontAccess.home-access {
    background-position: right 16px top 72px;
		background-size: 26vw auto;
	}
}
@media screen and (max-width: 767px) {
	#frontAccess.home-access {
		/* margin: 0;
		padding-top: 14px; */
		background-position: right top;
    background-size: 40vw auto;
	}
}
@media screen and (max-width: 375px) {
	#frontAccess.home-access {
    background-position: right 6% top;
    background-size: 45vw auto;
	}
}

#frontAccess .inner.home-access-inner02 {
	max-width: 1240px;
}


.home-access-inner02 > .heading01 {
	margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
	.home-access-inner02 > .heading01 {
    min-height: 104px;
		margin-bottom: 40px;
	}
}





#gMapWrapper.home-gmap-wrapper {
	padding-top: 519px;
}

#frontAccess2 {
	padding: 97px 0;
	text-align: center;
}
#frontAccess2 .inner {
	position: relative;
	width: 1200px;
	margin: 0 auto;
}
#frontAccess2 .text {
	font-size: 16px;
	position: absolute;
	top: 245px;
	left: 50%;
	margin-left: 208px;
	text-align: left;
	line-height: 1.65;
}

@media screen and (max-width: 1278px) {
	#frontAccess .inner {
		width: auto;
		margin: 0 10px;
	}
	#frontAccess2 .inner {
		width: auto;
		margin: 0 10px;
	}
}
@media screen and (max-width: 970px) {
	#frontAccess2 .inner {
		display: table;
		margin: auto;
	}
	#frontAccess2 .inner > * {
		display: table-cell;
	}
	#frontAccess2 .text {
		position: relative;
		top: auto;
		left: auto;
		margin-left: 0;
		padding:0 0 0 30px;
	}
}
@media screen and (max-width: 600px) {
	#frontAccess {
		padding: 60px 0;
	}
	#gMapWrapper {
		padding: 50vh 0 0;
	}
	#frontAccess2 {
		padding:0;
	}
	#frontAccess2 .img img {
		max-width: 60%;
	}
	#frontAccess2 .inner, #frontAccess2 .inner > * {
		display: block;
		text-align: center;
	}
	#frontAccess2 .text {
		font-size: 16px;
		padding:20px 0 0;
	}
}


/* 2023.12.27 追加 */
.home-access-info-wrapper {
	max-width: 1240px;
	margin: 33px auto 0 auto;
}
@media screen and (max-width: 1240px) {
	.home-access-info-wrapper {
		padding: 0 16px;
	}
}

.home-access-info {

}

.home-access-info__item {
	display: grid;
	grid-template-columns: 210px calc(100% - 230px);
	justify-content: center;
	gap: 12.5px 19px;
	box-sizing: border-box;
	padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
	.home-access-info__item {
		grid-template-columns: 1fr;
		font-size: 14px;
	}
}

.home-access-info__item:not(:last-child) {
	margin-bottom: 8px;
	border-bottom: solid 1px #32C2C2;
}

.home-access-info__title {
	font-size: 16px;
	background-color: #ECF5F6;
	color: #646464;
	padding: 4px 0;
	text-align: center;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.home-access-info__title--01 {
	height: 100%;
}

.home-access-info__title img {
	padding-right: 8px;
	width: fit-content;
	max-width: 24px;
}

.home-access-info__title p {
	width: fit-content;
	display: inline-block;
}

.home-access-info__text {
	font-size: 18px;
	color: #515151;
	padding: 4px;
	font-weight: 500;
}

.home-access-info__text p::before {
	content: "";
	background-color: #32C2C2;
	border-radius: 50%;
	display: inline-block;
	margin-right: 8px;
	vertical-align: 2px;
	width: 10px;
	height: 10px;
}


/*****************************************************************************
 sns
 *****************************************************************************/
.home-sns {
	max-width: 1240px;
	margin: 24px auto 86px auto;
	padding: 0 24px;
}
@media screen and (max-width: 767px) {
	.home-sns {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 767px) {
	.home-sns > .heading01 {
		min-height: 90px;
	}
}


.home-sns-box {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 17px;
	grid-template-columns: repeat(auto-fit, 23%);
	justify-content: center;
}
@media screen and (max-width: 1200px) {
	.home-sns-box {
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (max-width: 767px) {
	.home-sns-box {
		grid-template-columns: 1fr;
	}
}

.home-sns-box a {
	color: #515151;
	text-decoration: none;
	display: block;
}

.home-sns-box__items {
	border: solid 1px #92D2D2;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	padding: 21px 16px;
	box-sizing: border-box;
}

.home-sns-box__icon {

}

.home-sns-box__text {
	font-size: 18px;
	font-weight: 600;
	min-width: 7em;
}
@media screen and (max-width: 767px) {
	.home-sns-box__text {
		font-size: 16px;
	}
}


/*****************************************************************************
 style
 *****************************************************************************/


.sectionHd {
	text-align: center;
	padding: 0 0 100px;
}
.sectionHd .deco {
	display: inline-block;
	font-size: 27px;
	color: #46D2E6;
	font-weight: bold;
	text-decoration: none;
	position: relative;
	padding-top: 43px;
	line-height: 1;
}
.sectionHd .deco::after {
	content: "";
	display:block;
	height:26px;
	width:26px;
	border-radius:100%;
	background: #c9c9c9;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -13px;
}

@media screen and (max-width: 600px) {
.sectionHd {
	padding: 0 0 60px;
}
}


/*****************************************************************************
 ボタン
 *****************************************************************************/
.home-btn-wrapper {
	margin: 16px 0;
}

.home-button-primary {
	background-color: #32C2C2;
	border-radius: 6px;
	color: #fff;
	display: block;
	font-size: 16px;
	line-height: 1.6;
	min-width: 290px;
	padding: 8px 48px;
	position: relative;
	text-align: center;
	transition: opacity 0.3s;
	width: fit-content;
	text-decoration: none;
	box-sizing: border-box;
}

.home-button-primary::after {
	background-color: #fff;
	display: block;
	margin: auto;
	position: absolute;
	top: 0;
	right: 12px;
	bottom: 0;

}

.home-button-primary.-arrow {
	padding: 16px 56px 16px 40px;
}

.home-button-primary.-arrow::after {
	content: "";
	-webkit-mask: url(../images/home/home-icon-arrow.svg) no-repeat center/contain;
	mask: url(../images/home/home-icon-arrow.svg) no-repeat center/contain;
	transition: translate 0.3s;
	width: 32px;
	height: 16px;
}

.home-button-primary.-center {
	margin-right: auto;
	margin-left: auto;
	width: fit-content;
}