#container {
  overflow: visible!important;
  overflow-x: hidden
}


.page_head {
	width: 100%;
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
	position: relative;
	justify-content: center;
	padding: 60px 0 0;
	background-image: url(../images/professional09/top_back_img.svg);
	background-size: cover;
	background-repeat: no-repeat;

}
.page_title {
	width: 40%;
	order: 2;
	padding: 0 0 70px;
}
.page_title h2 {
	position: relative;
	padding: 0 0 80px;
	top: -2vw;
}
.page_top_img01,
.page_top_img02 {
	position: relative;
	width: 30%;
}
.page_top_img01 {
	left: 3vw;
	order: 1;
}
.page_top_img02 {
	right: 3vw;
	order: 3;
}
.page_head .scroll {
    width: 11px;
    position: absolute;
    left: 60px;
	bottom: -30px;
    z-index: 2;
}
.page_head .names {
    font-weight: bold;
    position: relative;
	display: flex;
    align-items: center;
    justify-content: space-evenly;
    align-content: center;
    flex-wrap: wrap;
    flex-direction: row;
}
.page_head .names img {
	width: 50px;
}
.names .name_box .txt01 {
	margin-bottom: 3px;
}
.names .name_box .txt02 {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
	border-bottom: 1px solid #000;
	margin-bottom: 3px;
}
.names .name_box .txt03 {
	font-size: 1.2rem;
	padding-bottom: 10px;
	letter-spacing: 0.1em;
}
.explanation {
	line-height: 1.8;
	text-align: center;
	padding: 90px 0;
	color: #1e2380;
	position: relative;
}
.explanation h3 {
	font-size: 3.4rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0 0 30px;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family: 'Noto Serif JP', serif;
	z-index: 2;
}
@media (max-width: 896px) {
	.page_head {
		padding: 60px 0 0;
	}
	.page_title {
		width: 100%;
		order: 1;
		padding: 0;
	}
	.page_title h2 {
		width: 80%;
		margin: 0 auto;
		padding: 0 0 30px;
		top: 0;
	}
	.page_head .names {
		margin: 0 auto 20px;
	}
	.page_top_img01 {
		left: 0vw;
		order: 2;
	}
	.page_top_img02 {
		right: 0vw;
		order: 3;
	}
	.page_top_img01,
	.page_top_img02 {
		position: relative;
		width: 50%;
	}
	.names .name_box {
		width: 30%;
	}
	.names .name_box .txt01,
	.names .name_box .txt03,
	.names .name_box .txt04 {
		font-size: 1.2rem;
	}
	.names .name_box .txt02 {
		font-size: 1.5rem;
		line-height: 1;
	}
	.names .name_box .txt03 {
		font-size: 1rem;
	}
	.page_head .names img {
		width: 8%;
	}
	.page_head .scroll {
		width: 7%;
		position: absolute;
		left: 45%;
		bottom: -4%;
		z-index: 2;
	}
}



.main_contents {
	position: relative;
}
.main_contents::before {
	display: inline-block;
	content: '';
	background-image: url(../images/common/bl_back.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 350px;
	height: 490px;
	z-index: 0;
}
.talk_block01::after {
    display: inline-block;
    content: '';
    background-image: url(../images/common/sp_btm_back02.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    right: 0;
    bottom: -6%;
	width: 360px;
	height: 590px;
	z-index: 0;
}
.talk_block03::after {
    display: inline-block;
    content: '';
    background-image: url(../images/common/sp_btm_back03.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    right: 0;
    bottom: -7%;
	width: 260px;
	height: 430px;
	z-index: 0;
}
.talk_block01,
.talk_block02,
.talk_block03 {
	display: flex;
	justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
	margin: 0 0 60px;
	position: relative;
}
.talk_block01 .img_block,
.talk_block02 .img_block,
.talk_block03 .img_block {
	position: relative;
	/*width: 40%;*/
	width: 530px;
	z-index: 2;
	
}
.img_block {
position: sticky!important;
	position: -webkit-sticky!important;
	top: 0;
	height: 800px!important;
	overflow: visible!important
}
.talk_block01 .img_block p,
.talk_block02 .img_block p,
.talk_block03 .img_block p {
	position: absolute;
	writing-mode: vertical-rl;
	z-index: 9
}
.talk_block01 .img_block {
	padding: 0 80px 0 0;
	z-index: 2;
}
.talk_block01 .img_block p {
	bottom: 10%;
	right: 18%;
}
.talk_block02 .img_block {
	padding: 0 0 0 80px;
}
.talk_block02 .img_block p {
	top: 4%;
	left: 17%;
}
.talk_block03 .img_block p {
	top: 40%;
	right: 10%;
}
.talk_block01 .img_block p span,
.talk_block02 .img_block p span,
.talk_block03 .img_block p span {
	display: inline-block;
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 1;
	background: #fff;
	margin: 0 0 0 14px;
	padding: 22px 12px;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family: 'Noto Serif JP', serif;
}
.talk_block01 .img_block::after {
	position: absolute;
	content: '';
	width: 95%;
	height: 43%;
	background-color: #e7601c;
	z-index: -1;
	left: 0%;
	top: 55%;
}

.talk_block01 .img_block .ph,
.talk_block02 .img_block .ph,
.talk_block03 .img_block .ph{
position: relative
}
.talk_block01 .img_block .ph div,
.talk_block02 .img_block .ph div,
.talk_block03 .img_block .ph div{
position: absolute;
left: 0;
top: 0;
transition: .3s;
opacity: 0;
}
.talk_block01 .img_block .ph div:first-child,
.talk_block01 .img_block .ph div.active,
.talk_block02 .img_block .ph div:first-child,
.talk_block02 .img_block .ph div.active,
.talk_block03 .img_block .ph div:first-child,
.talk_block03 .img_block .ph div.active{
	visibility: visible!important;
	opacity: 1!important;
}



.talk_block01 .inner,
.talk_block02 .inner,
.talk_block03 .inner {
	/*width: 50%;*/
	width: calc(100% - 640px);
	padding-bottom: 600px;
}

.txt_bgchange div .talk{
overflow: hidden
}
.txt_bgchange div .talk .talk_active{
transition: .3s
}
.txt_bgchange div .talk .talk_active::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: -10;
    width: 100%;
    height: 100vh;
    background-color: #ECECF4;
	animation: fadeIn 0.15s linear 0s 1 normal;
}
@keyframes fadeIn {
 0% {width: 1%}
 100% {width: 100%}
}
div.talk_active2 .talk .talk_active{
background-color: #FFF
}



.talk_block01,
.talk_block01 h3,
.talk_block02 h3,
.talk_block03 h3,
.talk{
	position: relative;
	z-index: 2;
}
.talk_block01 h3,
.talk_block02 h3,
.talk_block03 h3 {
	color: #1e2380;
	font-size: 2rem;
	margin: 0 0 40px;
	width: 100%;
}
.talk_block01 h3 span,
.talk_block02 h3 span,
.talk_block03 h3 span {
	display: inline-block;
	padding: 0 20px 0 0;
	background: #fff;
	position: relative;
	z-index: 2;
}
.talk_block01 h3::after,
.talk_block02 h3::after,
.talk_block03 h3::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 1;
    width: 100%;
    height: 1px;
    background: #1e2380;
}
.talk_block02 .img_block {
	order: 2;
}
.talk_block02 .inner {
	order: 1;
}
.talk_block01 .talk_inr,
.talk_block02 .talk_inr,
.talk_block03 .talk_inr {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
}
.talk_block01 .talk_inr,
.talk_block03 .talk_inr {
	padding: 20px 190px 20px 20px;
}
.talk_block02 .talk_inr {
	padding: 20px 20px 20px 190px;
}
.talk .name01,
.talk .name02 {
	font-size: 1.6rem;
	font-weight: 600;
	width: 15%;
	position: relative;
	
}
.talk .name01 {
	color: #e7601c;
}
.talk .name02 {
	color: #161075;
}
.talk .name01::after,
.talk .name02::after {
	content: "";
	display: block;
	width: 60px;
	height: 1px;
	transform: rotate(297deg);
	transform-origin: 100% 50%;
	position: absolute;
	top: 2px;
	left: 4px;
}
.talk .name01::after {
    background: #e7601c;
}
.talk .name02::after {
    background: #161075;
}
.talk p {
	width: 85%;
	line-height: 1.6;
    text-align: justify;
	letter-spacing: 0.1em;
}

.photo_img_block {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 100px;
}
.photo_img_block img {
	width: 33.2%;
}

@media (max-width: 896px) {
	.main_contents::before {
		width: 60px;
		height: 80px;
	}
	.explanation {
		padding: 40px 0;
	}
	.explanation p {
		width: 90%;
		margin: 0 auto;
	}
	.explanation h3 {
	  font-size: 2.4rem;
	}
	.talk_block01 .talk_inr,
	.talk_block03 .talk_inr {
		padding: 10px 0;
	}
	.talk_block01 .inner,
	.talk_block02 .inner,
	.talk_block03 .inner {
		width: 90%;
		margin: 0 auto;
		padding-bottom: 50px;
	}
	.talk_block01 h3,
	.talk_block02 h3,
	.talk_block03 h3 {
		margin: 0 0 10px;
	}
	.talk_block01 .talk_inr,
	.talk_block02 .talk_inr,
	.talk_block03 .talk_inr {
		flex-direction: column;
	}
	.talk_block01 .talk_inr,
	.talk_block03 .talk_inr,
	.talk_block02 .talk_inr {
		padding: 20px 10px;
	}
	.talk .name01,
	.talk .name02,
	.talk .name03 {
		margin: 0 0 40px;
		white-space: nowrap
	}
	.talk .name01::after,
	.talk .name02::after {
		transform: rotate(315deg);
		left: 15px;
	}
	.talk p {
		width: 100%;
	}
	.photo_img_block {
		flex-direction: column;
	}
	.photo_img_block img {
		width: 100%;
		margin: 0 0 5px;
	}
	.talk_block03::after {
		width: 50px;
		height: 180px;
	}
	.talk_block01 .img_block .ph,
	.talk_block02 .img_block .ph,
	.talk_block03 .img_block .ph {
		width: 100%;
		height: 250px!important;
		overflow-y: hidden!important
	}
	
	.img_block {
	position: sticky!important;
	position: -webkit-sticky!important;
	top: 0;
	height: 320px!important;
	overflow: visible!important;
	z-index: 10!important
}

.talk_block01 .img_block img,
.talk_block02 .img_block img,
.talk_block03 .img_block img {
		width: 100%!important;
		height: auto!important;
		margin-top: -10%
	}
	
	
	.talk_block01 .img_block {
		margin: 0 0 100px;
	}
	.talk_block02 .img_block {
		order: 1;
		margin: 0 0 0px;
	}
	.talk_block02 .img_block {
	padding: 0 0 0 0px;
}
	.talk_block01 .img_block,
	.talk_block03 .img_block {
		padding: 0 0px 0 0!important;
	}
	.talk_block03 .img_block {
		margin: 0 0 30px;
	}
	.talk_block01 .img_block p {
    	height: 100%;
		bottom: -5%;
right: 9%;
	}
	.talk_block02 .img_block p {
		left: 4%;
	}
	.talk_block03 .img_block p {
		top: 5%;
right: 9%;
	}
	.talk_block01 .img_block p span,
	.talk_block02 .img_block p span,
	.talk_block03 .img_block p span {
		font-size: 18px;
		margin: 0 0 0 6px;
		padding: 10px 4px;
	}
	.talk_block01::after {
		bottom: -65px;
		width: 120px;
		height: 200px;
	}
	.talk_block01 .img_block::after {
		width: 70%;
		height: 20%;
		top: 74%;
left: 30%;
	}
}




.com-other-box {
	position: relative;
	z-index: 2;
}
.com-other-box ul {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
.com-other-box .link-list li {
	margin: 0 10px;
	max-width: 300px;
}
.com-other-box .btn-box .btn-list li a:hover {
    opacity: 0.7;
}
@media (max-width: 896px) {
	.com-other-box .link-list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.com-other-box .link-list li {
		max-width: 150px;
		margin: 0 0 20px;
	}
}