@charset "utf-8";

/* COMMON
--------------------------*/

section {
	font-family: "ヒラギノ角ゴ Pro W3", 'Noto Sans Japanese',"Hiragino Kaku Gothic Pro","HIragino Kaku Gothic Pro W3","メイリオ", Meiryo, sans-serif !important;
	max-width:1500px;
	margin:0 auto;
}

section h2 {
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.0;
	margin:120px auto 70px;
}
section .lead {
	margin-bottom:70px;
}

section ul {
	display:flex;
	flex-wrap: wrap;
}
section.about ul.main {
  margin-bottom: 200px;
}
section ul.main li {
	width:50%;
	position: relative;
	padding-bottom: 40px;
	background-color: #F8F8F8;
}
section ul.main li img {
	vertical-align:top;
}
section ul.sub li {
	width: 33.33333%;
	position: relative;
}

section ul {
	margin-bottom:80px;
}

section h3 {
	font-size: 3.4rem;
	line-height: 1.8;
	margin: 0 30px 25px;
	padding: 25px 0 8px;
	text-align: center;
}
section.news h3 {
	padding-top:55px;
}
section h3 span {
	display: block;
	font-size: 1.8rem;
	text-align: center;
}
section div p {
	font-size:1.6rem;
	line-height: 1.8;
	padding:0 20px;
}
section ul li a {
	/* display: block !important; */
}
section ul li p.link {
	margin-bottom:20px;
}
section ul li a span {
	display: block;
	position: relative;
}

section.about ul.main .slide_left.button {
	max-width: 196px;
	margin: 30px auto;
}
section.about ul.main .slide_left.button a {
	/* display: block !important; */
	width: 100%;
	text-align: center;
	font-size: 1.4rem;
	height:46px;
}

section.about ul.main li .slide_left .animate_cover {
	background:#F8F8F8;
	z-index: 5;
}

/* MESSAGE
--------------------------*/
section .message {
	width:calc(100% - 40px);
	max-width:750px;
	margin:0 auto;
}
section .message p {
	text-align: center;
	margin-bottom:70px;
}

/* NEWS
--------------------------*/
section.news {
	border-top:1px solid #E5E5E5;
	max-width: inherit;
}
section.news .btnArea {
	margin: 56px auto 100px;
	width:200px;
	height:50px;
	text-align: center;
	line-height: 50px;
}
section.news ul {
	width:100%;
	margin: 0 auto 80px;
}
section.news ul li {
	width: 100%;
	margin-bottom:10px;
	position: relative;
}
section.news ul li a,
section.news ul li p {
	display: block;
	padding:15px 20px;
	background-color: #f8f8f8;
	text-decoration: none;
}
section.news ul li a:hover {
	opacity:0.5;
}
section.news ul li a .inner,
section.news ul li p .inner{
	display: flex;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	transition: all 0.5s;
}
section.news ul li a .date,
section.news ul li p .date {
	display: inline-block;
	width:200px;
	margin-right:50px;
	font-size: 1.4rem;
	color:#7D7D7D;
	text-align: right;
}
section.news ul li a .txt,
section.news ul li p .txt {
	display: inline-block;
	width:calc(100% - 250px);
	font-size: 1.6rem;
}

/* DIRECTOR
--------------------------*/
.directorOuter {
	max-width:1040px;
	padding: 0 20px;
	margin: 0 auto 30px;
}
section .director {
	position:relative;
	width:100%;
	padding:80px 60px;
}
section .director .profile {
	margin-bottom: 30px;
}
section .director .profile .imgBox {
	width:100%;
	margin-top: 8px;
	max-width:190px;
	float:right;
}
section .director .profile .txtBox {
	width:calc(100% - 220px);
}
section .director .profile div h3 {
	padding-top: 0;
	margin-top: 0px;
	margin-left:0;
	font-size:2.0rem;
	font-weight:bold;
	text-align: left;
	font-family: "ヒラギノ角ゴ Pro W3", 'Noto Sans Japanese',"Hiragino Kaku Gothic Pro","HIragino Kaku Gothic Pro W3","メイリオ", Meiryo, sans-serif;
}
section .director .profile h3 span {
	display: block;
	font-size: 1.66rem;
	line-height: 1.5;
	font-weight:normal;
	text-align: left;
	margin-top: 6px;
}
section .director .profile h3 span.dept {
	margin-top:25px;
}
section .director .profTxt p {
	font-size:1.6rem;
	line-height: 2;
	margin-left:0;
	padding:0;
}
.director::before,
.director::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: #000;
}
.director::after {
	left: auto;
	right: 0;
	width: 1px;
	height: 0;
}
.director .border_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.director .border_box::before,
.director .border_box::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 1px;
	background: #000;
}
.director .border_box::after {
	right: auto;
	left: 0;
	width: 1px;
	height: 0;
}

.director section.about .main li img {
	vertical-align:top;
}
.ai .inauguration {
	max-width:1000px;
	padding:0 20px;
	margin:60px auto 100px;
}
.ai .inauguration .lead {
	font-size:2.0rem;
}
.ai .inauguration .comment {
	font-size:1.8rem;
}
.ai .inauguration .comment span {
	display:block;
	font-size:2.4rem;
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px solid #000;
}

.director.on::before {
	animation: topAnim .2s linear 0s 1 forwards;
}
.director.on::after {
	animation: rightAnim .2s linear .2s 1 forwards;
}
.director.on .border_box::before {
	animation: bottomAnim .2s linear .4s 1 forwards;
}
.director.on .border_box::after {
	animation: leftAnim .2s linear .6s 1 forwards;
}


/* FAQ
--------------------------*/
.faqContOuter {
	max-width: 1040px;
	padding: 0 20px;
	margin: 118px auto 60px;
}

.faqCont {
	width: 100%;
	padding: 26px 20px;
}
.faqCont h2 {
	text-align: center;
	font-size: 2.2rem;
	margin: 0 auto 50px;
}
.faqCont p {
	text-align:center;
	font-size: 1.6rem;
	margin: 0 auto 25px;
}
.faqCont ul {
	width:100%;
	max-width: 790px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	margin: 0 auto 20px;
}
.faqCont ul li {
	width: 31.6%;
	margin: 0 2.6% 0 0;
	position: relative;
}
.faqCont ul li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 12px 0;
	box-sizing: border-box;
	border: solid 1px #000;
	text-align:center;
}
.faqCont ul li a:hover {
	color: #FFF;
	background-color: #000;
}
.faqCont ul li:last-child {
	margin: 0;
}

.faqCont {
	position: relative;
	/*padding: 20px 0;
	border: #000 solid 1px;*/
}
.faqCont::before,
.faqCont::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: #000;
}
.faqCont::after {
	left: auto;
	right: 0;
	width: 1px;
	height: 0;
}
.faqCont .border_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.faqCont .border_box::before,
.faqCont .border_box::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 1px;
	background: #000;
}
.faqCont .border_box::after {
	right: auto;
	left: 0;
	width: 1px;
	height: 0;
}
.faqCont.on::before {
	animation: topAnim .2s linear 0s 1 forwards;
}
.faqCont.on::after {
	animation: rightAnim .2s linear .2s 1 forwards;
}
.faqCont.on .border_box::before {
	animation: bottomAnim .2s linear .4s 1 forwards;
}
.faqCont.on .border_box::after {
	animation: leftAnim .2s linear .6s 1 forwards;
}

/* animation */
@keyframes topAnim {
  0% { width: 0; }
  100% { width: 100%; }
}
@keyframes rightAnim {
  0% { height: 0; }
  100% { height: 100%; }
}
@keyframes bottomAnim {
  0% { width: 0; }
  100% { width: 100%; }
}
@keyframes leftAnim {
  0% { height: 0; }
  100% { height: 100%; }
}


@media screen and (max-width: 960px) {
	section .director {
		padding:60px 40px;
	}
}

@media screen and (max-width: 768px) {
	section.news ul li {
		margin-bottom:1.7vw;
		position: relative;
	}
	section.news ul li a {
		padding:20px;
	}
	section.news ul li a .inner {
		flex-direction: column;
	}
	section.news ul li a .date {
		font-size: 2.9vw;
		display: block;
		width: 100%;
		margin-right: 0;
		text-align: left;
		margin-bottom: 1vw;
	}
	section.news ul li a .txt{
		font-size: 2.9vw;
		width: 100%;
	}
	section.news .btnArea {
		margin:6.5vw auto 20vw;
	}
	
	.ai .inauguration .lead {
		text-align:left;
		padding:0 20px;
	}
	.ai .inauguration .lead br {
		display:none;
	}
}
@media screen and (max-width: 750px) {
	section h2 {
		margin: 80px auto 60px;
	}
	section ul.main li .txtBox {
   		margin: 0 20px 25px;
		padding:25px 0 8px;
	}
	section ul.main li p {
		padding:0 20px;
	}
}
@media screen and (max-width: 640px) {
	section .lead br {
		display:none;
	}
	
	section .director .profile .imgBox {
		float:none;
		margin: 0 auto 20px;
	}
	section .director .profile .txtBox {
		width:100%;
	}
	.ai .inauguration .comment {
		font-size:1.6rem;
	}
}
@media screen and (max-width: 550px) {
  section.about ul.main {
    margin-bottom: 140px;
  }
	section .txtBox {
		line-height: 1.8;
		margin: 0 30px 25px;
		padding: 25px 0 8px;
		text-align: center;
	}
	section .txtBox h3 {
		font-size: 2.4rem;
	}
	section h3 span {
		display: block;
		font-size: 1.6rem;
		text-align: center;
	}
	section div p {
		font-size:1.4rem;
		padding:0;
	}
	
	section .message p {
		text-align: left;
	}
	section .message p br {
		display: none;
	}
	section .message p br.sp {
		display: block;
	}
	
	.ai .inauguration {
		margin:50px auto 70px;
	}
	.ai .inauguration .lead {
		padding:0;
		margin-bottom:50px;
	}
	.ai .inauguration .lead,
	.ai .inauguration .comment {
		font-size:1.6rem;
	}
	.ai .inauguration .comment span {
		font-size:2.0rem;
		line-height:1.6;
	}
}
@media screen and (max-width: 480px) {
	section ul.main li {
		width:100%;
	}
	section ul.main li {
		margin-bottom: 0;
	}
	
	section .director {
	    padding: 30px 20px;
	}
	
	.faqCont ul li {
		width:100%;
	}
}
