@charset "UTF-8";
body{
    -webkit-text-size-adjust: 100%; 
}

figure {
	margin: 0;
}

.sp_only {
	display: none;
}

/* ------ スポンサーシップリンク ------ */
#contents .sponsor_link a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
    border: 1px solid #eee;
    font-size: 172%;
    color: #333;
    font-weight: bold;
    max-width: 450px;
    width: 100%;
    margin: 50px auto 0;
}
#contents .sponsor_link a img{
    margin-right: 24px;
    width: auto;
}
#contents .sponsor_link a:hover{
    opacity: 0.7;
    text-decoration: none;
}

#contents {
	font-size: 16px;
}


#main img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

#main {
  background-color: #000000;
  display: block;
  padding-bottom: 100px;
  color: #ffffff;
}

#main * {
  box-sizing: border-box;
}

.anc_navi {
	background: #fff;
}

.anc_navi .anc_navi_area {
	width: 1240px;
	margin: auto;
	padding: 15px;
}

.anc_navi .anc_navi_area .logo_area {
	width: 15%;
}

#maincontent {
  width:1240px;
  padding: 0 40px;
  margin:auto;
  /*font-size:120%;*/
  /*line-height: 2em;*/
  /*text-indent: 1em;*/
  line-break: strict;
}

#maincontent a {
	color: #ffffff;
	text-decoration: underline;
}
#maincontent a:hover {
	color: #a6a5a5;
	text-decoration: none;
}
.interviewBnr{
  width: 800px;
  margin:60px auto 0;
  overflow: hidden;
}

table.facility_content {
  margin: 0 auto;
  width: 960px;
  border: none;
  border-top: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  border-collapse: separate;
  border-spacing: 0 10px;
}

table.facility_content th {
  vertical-align: middle;
  width: 20%;
  margin: 0;
  text-align: center;
  color: #ffffff;
  /*font-size: 85%;*/
  font-weight: bold;
}
table.facility_content th.b_right{
  border-right: solid 1px #ffffff;
}

table.facility_content td{
  padding: 0 0 0 10px;
  margin: 0;
  width: 80%;
  border: none;
  color: #ffffff;
  /*font-size: 80%;*/
  line-height: 1.5em;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

table.facility_content td.bar {
  height: 1px;
  width: 100%;
  border-top: solid 1px #ffffff;
}

h1 {
	box-sizing: border-box;
	width:1240px;
	margin:0 auto;
	padding:0 15px;
	font-size: 34px;
}

h2.title {
  font-size:150%;
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 80px;
  text-align: center;
}

.first_title h2.title {
	font-size:40px;
}

.mainVis {
	margin: 30px 0;
	text-align: center;
}

.story_col {
	display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.story_col figure {
	width: 49%;
}

.news_box {
	width: 960px;
    margin: 80px auto 0;
    background: #fff;
    color: #333;
    padding: 20px;
}

.news_box h2.title {
	margin-top: 0;
	text-align: unset;
}

#maincontent .news_content a {
	color: #005AB4;
	text-decoration: none;
}

#maincontent .news_content a:hover {
	color: #005ab4;
	text-decoration: underline;
}

.news_box .news_content {
	width: 100%;
}

.news_content dl {
	border-bottom: 1px solid #e5e5e5;
	display: flex;
	padding: 10px 0;
}

.news_content dl dt {
	width: 20%;
}
.news_content dl dd {
	width: 80%;
	padding-left: 10px;
}

.experience_content {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding: 50px;
	border: 1px solid #fff;
}

.experience_content li {
	width: 31%;
	padding: 30px;
	background: #fff;
	color: #333;
}

.experience_content li .experience_title {
	font-size: 20px;
	font-weight: bold;
	margin: 15px 0 10px;
}

.experience_content .empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgb(255 255 255 / 0.3);
	color: unset;
}

div.topperson {
  width:800px;
  margin:30px auto;
}
div.topname {
  overflow: hidden;
  font-weight: bold;
  border-right:dotted 1px #ccc;
  margin-right:20px;
  float:left;
  width: 30%;
  text-indent: 0em;
}
div.topname span {
  font-size:140%;
}

div.topcomment {
  overflow: hidden;
  float: right;
  width: 65%;
  font-weight: normal;
}
div.topcomment p {
  margin-bottom:20px;
  letter-spacing: 1px;
}

.borderBox {
	border:2px solid #ffffff;
	text-align: center;
	padding:30px;
	margin: 0 auto;
	font-size: 120%;
}

.sns_area {
	display:flex;
	justify-content: space-between;
	align-items: center;
	background:#ffffff;
	padding: 20px 40px;
	width: 80%;
	margin: 0 auto;
	font-weight: bold;
	font-size:110%;
}

#maincontent .sns_area a {
	color:#000000;
}
#maincontent .sns_area a:hover {
	color: #a6a5a5;
}

.fsS {
	letter-spacing: 1px;
}

/* ------ indent ------ */
.indent1 { padding-left:1em; text-indent:-1em; }
.indent2 { padding-left:0.5em; text-indent:-0.5em; }
.indent3 { padding-left:2.2em; text-indent:-2.2em; }



@media screen and (max-width: 767px) {
	.sp_only {
		display: block;
	}
	#contents {
		padding: 0;
	}
	.mainContent {
		width: 100%;
	}
	.mod-thumbnail span {
		width: 100%;
	}
	#maincontent {
		width: 100%;
		padding:0 15px;
	}
	.anc_navi .anc_navi_area {
		width: 100%;
	}
	.anc_navi .anc_navi_area .logo_area {
		width: 32%;
	}
	.mainVis {
	width:100%;
	}
	.story_col {
		display: block;
	}
	.story_col figure {
		width: 100%;
	}
	.story_col figure + figure {
		margin-top: 20px;
	}
	table.facility_content {
		width: 100%;
	}
	table.facility_content td {
		white-space:unset;
		word-break: break-all;
	}
	h1 {
		width:100%;
		font-size: 24px;
	}
	h2.title {
		margin-top: 50px;
	}
	.first_title {
		position:unset;
		margin-bottom: 20px;
	}
	.first_title h2.title {
		margin-bottom: 5px;
		font-size: 24px;
	}
	.first_title .event_date {
		position:unset;
		text-align: center;
	}
	.news_box {
		width: 100%;
		margin-top: 50px;
	}
	.news_content dl {
		display: block;
	}
	.news_content dl dt {
		width: 100%;
	}
	.news_content dl dd {
		width: 100%;
		padding-left: 0;
	}
	.experience_content {
		display: block;
		padding: 20px;
	}
	.experience_content li {
		width: 100%;
	}
	.experience_content li + li {
		margin-top: 20px;
	}
	.experience_content .empty {
		height: 430px;
	}
	.sns_area {
		display:block;
		text-align: center;
	}
	.sns_area li + li {
		margin-top: 15px;
	}
	#contents .sponsor_link {
		padding: 0 2%;
	}
}
