@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　graduate
 * 
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
.ttl-lead .typewriter{
	display: block;
}


/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/
/* reunion
-----------------------------------------------------------------*/
.reunion{
	padding: 0 0 160px;
}
.reunion .inner{
	max-width: 1040px;
}
.reunion h2{
	margin-bottom: 100px;
	text-align: center;
}
.reunion .btn-card h3 {
    font-size: min(2.6vw, 4rem);
}
.reunion .btn-card .txt {
    font-size: min(0.78vw, 1.2rem);
}


/* document
-----------------------------------------------------------------*/
.document{
	padding: 0 0 160px;
}
.document .inner{
	max-width: 1040px;
}
.document h2{
	margin-bottom: 100px;
	text-align: center;
}
.document .txt{
	text-align: justify;
}
.document h3{
	align-items: center;
	margin: 80px 0 25px;
}
.document h3 span{
	font-size:min(1.5vw,2.3rem);
}
.document .ttl-dot::before{
	color: var(--green);
}
.document table{
	width: 100%;
	border-collapse: collapse;
	font-size: 1.4rem;
}
.document table th,
.document table td{
	padding: 20px min(1.95vw,30px);
	font-weight: normal;
	vertical-align: middle;
}
.document table th{
	background: var(--green);
	text-align: center;
}
.document table tr th:nth-child(n+2){
	border-left: 1px solid #fff;
}
.document table tr td:nth-child(n+2){
	border-left: 1px solid #ccc;
}
.document table td{
	border-bottom: 1px solid #ccc;
}
.document table tr td.center{
	text-align: center;
}
.document table td .note{
	display: block;
	font-size: 1.2rem;
}

/* dosument accordion
-----------------------------------------------------------------*/

.acc {
	position: relative;
}
.acc::before,
.acc::after {
	position: absolute;
	display: block;
	content: "";
	background: var(--dark);
}
.acc::before {
	right: 25px;
	top: 50%;
	width: 16px;
	height: 1px;
}
.acc::after {
	right: 33px;
	top: calc(50% - 8px);
	width: 1px;
	height: 16px;
}
.acc.open::before {
	top: 15px;
}
.acc.open::after {
	display: none;
}
.acc .ttl-dot{
	cursor: pointer;
	border-bottom: 1px solid rgb(204, 204, 204);
	padding-bottom: 10px;
}
.acc .acc-drawer {
	display: none;
	/* padding: 0 min(1.95vw, 30px) 30px; */
}
.acc .acc-drawer .txt {
	text-align: justify;
	/* line-height: 1.6; */
}


/* facility
-----------------------------------------------------------------*/
.facility{
	padding: 160px 0;
	background: var(--beige);
}
.facility h2{
	margin-bottom: 100px;
	text-align: center;
}
.facility .txt-area{
	width: 40.8%;
}
.facility .txt-area h3{
	margin-bottom: 30px;
	font-size:min(2.28vw,3.5rem);
}
.facility .facility-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.facility .facility-list li{
	display: flex;
	align-items: center;
	width: 45%;
	padding: 20px 0;
	font-size:min(1.04vw,1.6rem);
	border-bottom: 1px solid #C6C6C6;
}
.facility .txt-area .note{
	margin: 25px 0 50px;
}
.facility  .pic{
	width: 50.38%;
}
.facility .application{
	padding: min(2.6vw,40px);
	border: 1px solid #CCC;
}
.facility .application h4{
	margin-bottom: 25px;
	font-size:min(1.76vw,2.7rem);
	line-height: 1;
}
.facility .application p{
	font-size:min(1.04vw,1.6rem);
}
















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


/* reunion
-----------------------------------------------------------------*/
.reunion{
	padding: 0 0 110px;
}
.reunion h2{
	margin-bottom: 50px;
}

/* document
-----------------------------------------------------------------*/
	.document{
		padding: 0 0 110px;
	}
	.document h2{
		margin-bottom: 50px;
	}
	.document h3{
		margin: 70px 0 20px;
	}
	.document h3 span{
		font-size: 2rem;
	}
	.document .table-area{
		position: relative;
		width: calc(100% + 20px);
		padding-bottom: 15px;
		overflow: auto;
	}
	.document .table-area::before{
		position: absolute;
		left: 50%;
		top: 50%;
    z-index: 10;
		transform: translate(-50%,-50%);
		margin-left: -10px;
		display: block;
		width: 64px;
		height: 64px;
		content: "";
		background: rgba(51,51,51,.6);
		border-radius: 100vmax;
		background-size: 100% auto;
		transition: .5s;
	}
	.document .table-area.scroll::before{
		opacity: 0;
		pointer-events: none;
	}
  .document .table-area::after{
		position: absolute;
		left: 50%;
		top: 50%;
		z-index: 50;
		transform: translate(calc(-50% - 10px),-50%);
		display: block;
		width: 26px;
		height: 27px;
		content: "";
		background:url(../img/common/ico_swipe.svg) no-repeat;
		background-size: 100% auto;
		pointer-events: none;
    animation: swipemove 1.2s ease 0s infinite normal none running;
	}
  .document .table-area.scroll::after{
		opacity: 0;
		pointer-events: none;
	}
	.document table{
		width: 800px;
		margin-right: 20px;
		font-size: 1.2rem;
	}
	.document table th{
		padding: 15px 30px;
	}
	.document table td{
		padding: 20px 30px;
	}
	.document table td .note{
		font-size: 1rem;
	}

	.reunion .btn-card h3{
		font-size: 2.2rem;
        line-height: 1.2;
	}
	.reunion .btn-card .txt{
		margin-top: 10px;
        font-size: 1rem;
        line-height: 1.6;
	}
	
	.reunion .btn-card .pic img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: scale(1, 1);
    }
	.reunion .btn-card._h a {
		position: relative;
		display: flex;
		align-items: stretch;
	}



/* facility
-----------------------------------------------------------------*/
	.facility{
		padding: 110px 0;
	}
	.facility h2{
		margin-bottom: 60px;
	}
	.facility .layout-box{
		display: block;
	}
	.facility .txt-area{
		width: 100%;
	}
	.facility .txt-area h3{
		margin-bottom: 20px;
		font-size: 2rem;
	}
	.facility .facility-list li{
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.facility .txt-area .note{
		margin: 20px 0 40px;
    font-size: 1rem;
	}
	.facility  .pic{
		width: 100%;
		margin-bottom: 40px;
	}
	.facility .application{
		padding: 30px 20px;
	}
	.facility .application h4{
		margin-bottom: 20px;
		font-size: 2rem;
	}
	.facility .application p{
		font-size: 1.3rem;
		text-align: justify;
	}



}