section.visual_container {
	position: relative;
	z-index: 10;
}

section.visual_container img {
	width: 100%;
}

section.contents_container {
	position: relative;
	z-index: 20;
}

section.contents_container .contents_inner {
	background-color: #fff;
	position: relative;
	z-index: 10;
}

section h2:not(.intro_h2).inviewed span::before {
	width: 100%;
}

section h2:not(.intro_h2) span {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #000;
	display: table;
	position: relative;
	margin-right: auto;
	margin-left: auto;
}

section h2:not(.intro_h2) span:last-child {
	margin-bottom: 0;
}

section h2:not(.intro_h2) span::before {
	content: '';
	width: 0;
	height: 50%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #fdff60;
	z-index: -1;
	transition: width 0.6s 0.4s;
}

section h2.intro_h2.inviewed ul li span.name::before {
	width: 100%;
}

section h2.intro_h2 ul {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

section h2.intro_h2 ul li {
	text-align: center;
}

section h2.intro_h2 ul li:last-child {
	margin-right: 0;
}

section h2.intro_h2 ul li span.job_title {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #444;
	display: block;
}

section h2.intro_h2 ul li span.name {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #000;
	display: inline-block;
	position: relative;
}

section h2.intro_h2 ul li span.name::before {
	content: '';
	width: 0;
	height: 50%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #fdff60;
	z-index: -1;
	transition: width 0.6s 0.8s;
}

section .lead {
	font-family: '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', 'YuGothic', sans-serif;
	color: #444;
}

section dl {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

section dl:last-child {
	margin-bottom: 0;
}

section dl dt {
	font-family: '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', 'YuGothic', sans-serif;
	font-weight: bold;
	color: #888;
	text-align: right;
	width: 2.1em;
}

section dl dd {
	font-family: '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', 'YuGothic', sans-serif;
	color: #444;
}

section .img_box:last-child {
	margin-bottom: 0;
}

section figure {
	margin-bottom: 0;
}

section figure img {
	display: block;
	width: 100%;
}

section figcaption {
	font-family: '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', 'YuGothic', sans-serif;
	letter-spacing: 0.1em;
	color: #888;
}

article.introduction section .kv_hiddenLayer {
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #fff;
}

article.other {
	background-color: #f2f2f2;
}

article.other section {
	margin: 0 auto;
}

article.profile section {
	border-top-style: solid;
	border-top-color: #000;
	margin: 0 auto;
}

article.profile h2 {
	font-family: 'AdobeGaramondW01-Regula', sans-serif;
	letter-spacing: 0.05em;
	color: #444;
	text-align: center;
	border-style: solid;
	border-color: #000;
	border-width: 1px 0 1px;
}

article.profile .profile_content:last-child {
	margin-bottom: 0;
}

article.profile h3 {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #000;
}

article.profile h4 {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #444;
}

article.profile .caption {
	font-family: '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', 'YuGothic', sans-serif;
	color: #444;
	line-height: 2;
}

article.profile .caption a {
	color: #444;
	padding-bottom: 1px;
	border-bottom: 1px solid #444;
}

article.notice section {
	border-top-style: solid;
	border-top-color: #000;
	margin: 0 auto;
}

article.notice h2 {
	font-family: 'AdobeGaramondW01-Regula', sans-serif;
	letter-spacing: 0.05em;
	color: #444;
	text-align: center;
	border-style: solid;
	border-color: #000;
	border-width: 1px 0 1px;
}

article.notice .notice_inner {
	display: flex;
	flex-wrap: wrap;
}

article.notice .notice_content {
	display: flex;
}

article.notice .notice_content .img_wrap img {
	width: 100%;
}

article.notice h3 {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #444;
	line-height: 1.7;
}

article.notice .sub_caption {
	font-family: '游明朝体', 'Yu Mincho', 'YuMincho', 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', sans-serif;
	color: #444;
	letter-spacing: 0.05em;
}

article.notice .caption {
	font-family: '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', 'YuGothic', sans-serif;
	color: #444;
}

@media print, screen and (min-width: 769px) {

section.contents_container {
	padding: 0 20px;
	margin-top: -70px;
}

section.contents_container .contents_inner {
	max-width: 800px;
	margin: 0 auto;
	padding-top: 50px;
}

section h2 {
	margin-bottom: 50px;
}

section h2:not(.intro_h2) span {
	font-size: 3em;
	margin-bottom: 20px;
}

section h2.intro_h2 ul li {
	width: calc(33.3% - 30px);
	margin-right: 60px;
}

section h2.intro_h2 ul li span.job_title {
	font-size: 1.4em;
	margin-bottom: 10px;
}

section h2.intro_h2 ul li span.name {
	font-size: 2.8em;
	letter-spacing: 0.2em;
}

section .lead {
	font-size: 1.8em;
	line-height: 2.2;
}

section dl {
	margin-bottom: 40px;
}

section dl dt {
	font-size: 1.4em;
	line-height: 2.2;
	margin-right: 10px;
}

section dl dd {
	font-size: 1.4em;
	line-height: 2.2;
	width: 92%;
}

section dl.w_option1 {
	margin-left: -2.8em;
}

section dl.w_option1 dt {
	width: 4.2em;
}

section dl.w_option2 {
	margin-left: -10.1em;
}

section dl.w_option2 dt {
	width: 10.1em;
}

section .img_box {
	margin: 70px 0;
}

section figure img {
	margin-bottom: 25px;
}

section figcaption {
	font-size: 1.4em;
	line-height: 2.2;
}

article.introduction {
	padding-bottom: 110px;
}

article.introduction section .contents_inner {
	padding: 45px 80px 0;
}

article.contents_sec {
	padding-bottom: 110px;
}

article.other {
	padding: 110px 20px;
}

article.other section {
	max-width: 800px;
	display: flex;
	flex-wrap: wrap;
}

article.other section figure {
	margin-bottom: 50px;
}

article.other section figure:first-child {
	width: calc(50% - 15px);
	margin-right: 30px;
}

article.other section figure:nth-child(2n) {
	width: calc(50% - 15px);
}

article.other section figure:last-child {
	margin-bottom: 0;
}

article.profile {
	padding: 0 60px;
	margin-bottom: 110px;
}

article.profile section {
	max-width: 1000px;
	border-top-width: 2px;
}

article.profile h2 {
	font-size: 2.2em;
	line-height: 50px;
	margin: 3px 0 110px;
}

article.profile .profile_content {
	display: flex;
	align-items: center;
	margin-bottom: 60px;
}

article.profile .profile_img {
	width: 24%;
	margin-right: 25px;
}

article.profile .profile_txt {
	width: 74%;
}

article.profile .job_titleContainer {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

article.profile .job_titleContainer.forSP {
	display: none;
}

article.profile h3 {
	font-size: 2.8em;
}

article.profile h4 {
	font-size: 1.6em;
	margin-left: 20px;
}

article.profile .caption {
	font-size: 1.4em;
}

article.profile .caption a {
	opacity: 1;
	-ms-transition: opacity 0.3s;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

article.profile .caption a:hover {
	opacity: 0.7;
}

article.notice {
	padding: 0 60px;
	margin-bottom: 110px;
}

article.notice section {
	max-width: 1000px;
	border-top-width: 2px;
}

article.notice h2 {
	font-size: 2.2em;
	line-height: 50px;
	margin: 3px 0 110px;
}

article.notice .notice_content {
	width: 50%;
}

article.notice .notice_content:first-child .img_wrap {
	width: 48%;
}

article.notice .notice_content:first-child .txt_wrap {
	width: calc(52% - 20px);
}

article.notice .notice_content:last-child .img_wrap {
	width: 34%;
}

article.notice .notice_content:last-child .txt_wrap {
	width: calc(64% - 20px);
}

article.notice .notice_content .txt_wrap {
	margin-left: 20px;
}

article.notice h3 {
	font-size: 2.4em;
}

article.notice .sub_caption {
	font-size: 1.8em;
	line-height: 1.7;
}

article.notice .caption {
	font-size: 1.4em;
	line-height: 2.3;
}

}

@media screen and (max-width: 990px) {

section.contents_container {
	padding: 0 50px;
}

article.introduction section .contents_inner {
	padding: 45px 40px 0;
}

}

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

section.contents_container {
	margin-top: -10.67vw;
	padding: 0;
}

section.contents_container .contents_inner {
	max-width: 91%;
	margin: 0 auto;
	padding-top: 8vw;
}

section h2 {
	margin-bottom: 8vw;
}

section h2:not(.intro_h2) span {
	font-size: 4.53vw;
	margin-bottom: 3.47vw;
}

section h2.intro_h2 ul li {
	width: calc(33.3% - 2.5vw);
	margin-right: 5.07vw;
}

section h2.intro_h2 ul li span.job_title {
	font-size: 2.67vw;
	margin-bottom: 2vw;
}

section h2.intro_h2 ul li span.name {
	font-size: 4.27vw;
	letter-spacing: 0.1em;
}

section .lead {
	font-size: 3.73vw;
	line-height: 2.1;
}

section .talk {
	padding: 0 5.33vw;
}

section dl {
	margin-bottom: 6.67vw;
}

section dl dt {
	font-size: 3.47vw;
	line-height: 2;
	margin-right: 2.67vw;
}

section dl dt span.forPC {
	display: none;
}

section dl dd {
	font-size: 3.47vw;
	line-height: 2;
	width: 87%;
}

section dl.w_option1 {
	margin-left: -8vw;
}

section dl.w_option1 dt {
	width: 16vw;
}

section dl.w_option2 {
	margin-left: -8vw;
}

section dl.w_option2 dt {
	width: 16vw;
}

section .img_box {
	margin: 9.33vw 0;
}

section figure img {
	margin-bottom: 2vw;
}

section figcaption {
	font-size: 3.2vw;
	line-height: 1.7;
}

article.introduction {
	padding-bottom: 13.33vw;
}

article.introduction section .contents_inner {
	padding: 5.33vw 5.33vw 0;
}

article.contents_sec {
	padding-bottom: 13.33vw;
}

article.other {
	padding: 13.33vw 0;
}

article.other section {
	max-width: 91%;
}

article.other section figure {
	margin-bottom: 6.67vw;
}

article.other section figure:last-child {
	margin-bottom: 0;
}

article.profile {
	margin-bottom: 13.33vw;
}

article.profile section {
	max-width: 81%;
	border-top-width: 0.4vw;
}

article.profile h2 {
	font-size: 4vw;
	line-height: 6.67vw;
	margin: 0.4vw 0 13.33vw;
}

article.profile .profile_content {
	margin-bottom: 10.67vw;
}

article.profile .profile_img {
	display: flex;
	align-items: center;
	margin-bottom: 6.67vw;
}

article.profile .profile_img img {
	width: 48%;
}

article.profile .job_titleContainer {
	margin-left: 4vw;
}

article.profile .job_titleContainer.forPC {
	display: none;
}

article.profile h3 {
	font-size: 4.8vw;
}

article.profile h4 {
	font-size: 3.2vw;
	margin-bottom: 4vw;
}

article.profile .caption {
	font-size: 3.47vw;
}

article.notice {
	margin-bottom: 13.33vw;
}

article.notice section {
	max-width: 81%;
	border-top-width: 0.4vw;
}

article.notice h2 {
	font-size: 4vw;
	line-height: 6.67vw;
	margin: 0.4vw 0 13.33vw;
}

article.notice .notice_content {
	width: 100%;
	margin-bottom: 10.67vw;
}

article.notice .notice_content:last-child {
	margin-bottom: 0;
}

article.notice .notice_content .img_wrap {
	width: 48%;
}

article.notice .notice_content .txt_wrap {
	width: calc(52% - 2.67vw);
	margin-left: 2.67vw;
}

article.notice h3 {
	font-size: 4.27vw;
	margin-bottom: 2.67vw;
}

article.notice .sub_caption {
	font-size: 3.2vw;
	margin-bottom: 1.33vw;
}

article.notice .caption {
	font-size: 2.67vw;
	line-height: 2;
}

}

