@charset "utf-8";
.message_section {
		background: #F3F1EA;
		width: 2400px;
		min-width: 2400px;
		padding-left: 220px;
}
.message_section_inner {
		padding: 15vh 0 0;
}
.message_section_flex_center {
		display: flex;
		justify-content: center;
}
.message_section_flex {
		display: flex;
		padding-top: 5vh;
}
.message_section_flex_left {
		margin-right: 120px;
		display: flex;
}
@media(max-height: 900px) and (min-width: 1195px) {
		.message_section {
				width: 1800px;
				min-width: 1800px;
				padding-left: 180px;
		}
		.message_section_flex_center {
				display: block;
				margin-left: 120px;
		}
		.message_section::before {
				left: -180px;
				width: 185px;
		}
		.message_section_inner {
				padding: 80px 0 0 0;
		}
		.message_section_flex_left {
				margin-right: 120px;
		}
}
.message_photo {
		width: 37vh;
		margin-right: 44px;
		position: relative;
}
.message_photo::after {
		content: '';
		display: block;
		position: absolute;
		top: -6vh;
		left: -20%;
		width: 140%;
		height: 75vh;
		background-repeat: no-repeat;
		background-position: right top;
		background-size: cover;
		background-image: url("../images/message_photo2_pc.png")
}
.message_photo img {
		width: 100%;
		height: auto;
		opacity: 0
}
@media(max-width: 1194px) {
		.message_photo::after {
				display: none
		}
		.message_photo {
				margin-bottom: 30px;
		}
		.message_photo img {
				opacity: 1
		}
}
.prof_caption {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		flex: 1;
}
.prof_caption_hdr_name {
		font-size: 40px;
}
.prof_link {
		margin: 25px 0 50px;
		transition-delay: 0.1s;
}
.prof_caption ul {
		transition-delay: 0.2s;
}
.message_section_flex_right {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.message_caption p {
		line-height: 2.0;
		margin-bottom: 2em;
}
.prof_caption li {
		list-style: none;
		margin-top: 10px;
}
.sign_right {
		display: flex;
		justify-content: flex-end;
		transition-delay: 0.5s;
}
.sign_anim svg {
		width: 240px;
		height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.sign_anim svg {
				width: 240px;
				height: auto;
		}
}
.sign_anim img {
		width: 100%;
		height: auto;
}
.prof_link a, .prof_caption li a {
		color: #393939;
		text-decoration: none;
}
span.blank {
		position: relative;
		padding-right: 22px;
}
span.blank::before, span.blank::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 2px;
		width: 9px;
		height: 9px;
}
span.blank::before {
		border: 1px solid #393939;
}
span.blank::after {
		border-top: 1px solid #393939;
		border-right: 1px solid #393939;
		width: 7px;
		height: 7px;
		top: calc(50% - 6px);
		right: 0;
}
.message_caption p:nth-child(2) {
		transition-delay: 0.1s;
}
.message_caption p:nth-child(3) {
		transition-delay: 0.2s;
}
.message_caption p:nth-child(4) {
		transition-delay: 0.3s;
}
.message_caption p:nth-child(5) {
		transition-delay: 0.4s;
}
.message_caption p:nth-child(6) {
		transition-delay: 0.5s;
}
@media (hover: hover) {
		.prof_caption li a:hover {
				color: #be008a;
				text-decoration: underline;
		}
		a:hover span.blank::before {
				border: 1px solid #be008a;
		}
		a:hover span.blank::after {
				border-top: 1px solid #be008a;
				border-right: 1px solid #be008a;
		}
}
@media(max-height: 900px) and (min-width: 1195px) {
		.message_photo {
				width: 300px;
				margin-right: 35px;
		}
		.message_photo::after {
				background-size: cover;
				left: -50%;
				width: 140%;
		}
		.prof_caption_hdr_name {
				font-size: 36px;
		}
		.message_caption p {
				line-height: 1.8;
				margin-bottom: 1.5em;
		}
}
@media(max-height: 900px) and (min-width: 1195px) {
		.message_photo {
				width: 270px;
		}
}
@media(max-width: 1194px) {
		.message_section {
				width: 100%;
				min-width: inherit;
				padding: 150px 25px 80px;
		}
		.message_section::before {
				display: none;
		}
		.message_section_inner {
				padding: 0;
				max-width: 800px;
				margin: 0 auto;
		}
		.prof_caption_hdr_name {
				font-size: 36px;
		}
		.message_caption p {
				line-height: 1.8;
				margin-bottom: 1em;
		}
		.message_section_flex_center {
				display: block;
				width: auto;
		}
		.message_section_flex {
				display: block;
				padding-top: 5vh;
				min-width: inherit;
		}
		.message_section_flex_left {
				margin-right: 0;
				display: block;
				width: 60%;
				margin: 0 auto 60px;
		}
		.message_photo {
				width: 100%;
				margin: 0 0 20px;
		}
		.sign {
				width: 45vw;
				max-width: 200px;
				margin-top: 20px;
		}
		.prof_link {
				margin-top: 3.2vh;
		}
}
@media(max-width: 834px) {
		.message_section_inner {
				max-width: 680px;
		}
}
@media(max-width: 767px) {
		.message_section {
				padding-top: 230px;
		}
		.message_section_flex_left {
				width: 100%;
		}
}
/* =============== */
#mask .st0 {
		fill: none;
		stroke: #fff;
		stroke-width: 65; /*線の太さを指定する*/
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-miterlimit: 10;
		stroke-dasharray: 1500; /* 線の間隔を指定する */
		stroke-dashoffset: 1500; /* 線の位置を指定する */
}