/*animetion--*/
@-webkit-keyframes opacity-anim {
	20% {opacity: 0;}
	100% {opacity: 1;}
}
@keyframes opacity-anim {
	20% {opacity: 0;}
	100% {opacity: 1;}
}
@-webkit-keyframes move-anim {
	20% {
		opacity: 0;
		left: -40%;
	}
	100% {
		opacity: 1;
		left: 12%;
	}
}
@keyframes move-anim {
	20% {
		opacity: 0;
		left: -40%;
	}
	100% {
		opacity: 1;
		left: 12%;
	}
}
/*animetion--*/



.pagetop_movie {
	width: 100vw;
	background-color: #FFF;
	position: relative;
	height: 45vw;
	margin: 0 0 70px;
}
.pagetop_movie video {
	position: absolute;
	z-index: 0;
	width: 100vw;
	-webkit-clip-path: polygon(20% 0, 100% 0, 100% 100%, 0px 100%);
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0px 100%);
}
.pagetop_movie .page_title {
	position: absolute;
    width: 26%;
    top: 25%;
    left: 6%;
    z-index: 2;
	opacity: 0;
	animation: opacity-anim 4s linear forwards;
}
.pagetop_movie .catchcopy {
	position: absolute;
	font-size: 2vw;
	font-weight: 900;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.12em;
	background: #FFF;
	bottom: 16%;
	left: 12%;
    z-index: 2;
	padding: 0 0 .2em .6em;
	opacity: 0;
	animation: move-anim 3.4s linear forwards;
}
.pagetop_movie .scroll {
    width: 11px;
    position: absolute;
    left: 60px;
	bottom: -30px;
    z-index: 2;
}
.pagetop_movie .name_box {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 46px 52px 47px;
    width: 280px;
    position: absolute;
    right: 10%;
	bottom: -10%;
    color: #fff;
    background: #161075 url(../images/common/bg02.png) no-repeat left top/40px;
    z-index: 1;
}
.name_box .txt01 {
	margin-bottom: 5px;
	font-size: 2rem;
}
.name_box .txt01 span{
  font-size: 1.2rem
}
.name_box .txt02 {
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
.name_box .txt03 {
	margin-bottom: 3px;
	padding-bottom: 10px;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #fff;
}
.name_box .txt04 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.01em;
}
@media (max-width: 896px) {
	.pagetop_movie .scroll {
		width: 7%;
		left: 50%;
		bottom: -10.5%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.pagetop_movie .name_box {
	    width: 110px;
		padding: 14px 18px 16px;
		background-size: 16px;
	}
	.name_box .txt01 {
		margin-bottom: 1px;
		font-size: 1rem;
	}
	.name_box .txt01 span{
  font-size: 0.6rem
}
	.name_box .txt02 {
		margin-bottom: -2px;
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.name_box .txt03 {
		line-height: 1;
		margin: 0 0 2px;
		padding: 0 0 2px;
		font-size: 1rem;
	}
	.name_box .txt04 {
		font-size: 1rem;
	}
}



.contents01 {
	width: 90%;
	margin: 0 auto -30px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	position: relative;
}
.contents01 h3,
.contents02 h3{
	margin-bottom: 29px;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.45;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family: 'Noto Serif JP', serif;
}
.contents01 .photo_box1 {
	width: 50%;
	margin: 0 0 40px;
}
.contents01 .text_box1 .inner {
	padding: 38px 60px 0 70px;
}
.contents01 .text_box2 .inner {
	padding: 0 130px 0 60px;
}
.contents01 .text_box1,
.contents01 .text_box2,
.contents01 .text_box {
	line-height: 1.6;
    text-align: justify;
}
.contents01 .text_box1 {
	width: 50%;
}
.contents01 .photo_box2 {
	order: 2;
	width: 50%;
}
.contents01 .photo_box2 .img1,
.contents01 .photo_box2 .img2 {
	margin: 0 0 20px;
	position: relative;
	left: -4vw;
	top: -7vw;
}
.contents01 .photo_box2 .img1::before {
	position: absolute;
    content: '';
    width: 126%;
    height: 320px;
    background-color: #161075;
    z-index: -1;
    top: -10%;
    right: -20%;
}
.contents01 .text_box2 {
	width: 50%;
	order: 1;
}
@media (max-width: 896px) {
	.contents01 {
		width: 100%;
		margin: -40px auto 40px;
	}
	.contents01::after {
		width: 78%;
		height: 400px;
		top: auto;
		right: 0;
		bottom: 0;
	}
	.contents01 .photo_box1 {
		width: 100%;
		order: 2;
		margin: 0;
	}
	.contents01 .text_box1 {
		width: 100%;
		order: 1;
	}
	.contents01 .photo_box2 {
		width: 100%;
		order: 4;
	}
	.contents01 .text_box2 {
		width: 100%;
		order: 3;
		margin: 0 0 20px;
	}
	.contents01 .text_box1 .inner,
	.contents01 .text_box2 .inner{
		padding: 40px;
	}
	.contents01 .photo_box2 .img1,
	.contents01 .photo_box2 .img2 {
		margin: 0 0 20px;
		position: relative;
		left: 0;
		top: 0;
	}
	.contents01 .photo_box2 .img1::before {
		width: 105%;
		height: 390px;
		top: -5%;
	}
}



.contents02 {
	width: 100%;
	position: relative;
}
.contents02 h3 {
	margin:0 0 20px;
}
.contents02 img {
	width: 100%;
}
.contents02 .text_box {
	width: 500px;
	padding: 40px;
	position: absolute;
	right: 9vw;
	top: 130px;
	background-color: rgba(255,255,255,0.8);
}
@media (max-width: 896px) {
	.contents02 {
		margin: 0 0 -60px;
	}
	.contents02 .text_box {
		width: 70%;
		padding: 40px;
		margin: 0 auto;
		position: relative;
		right: 0;
		top: -90px;
		background-color: rgba(255,255,255,0.8);
	}
}



.contents03 {
	position: relative;
	width: 100%;
}
.contents03::before {
	display: inline-block;
	content: '';
	background-image: url(../images/common/or_back.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	top: 0;
	left:0;
	width: 450px;
	height: 800px;
}
.contents03::after {
	display: inline-block;
	content: '';
	background-image: url(../images/common/sp_btm_back.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 364px;
    height: 597px;
	z-index: 0;
}
.contents03 .inner {
	max-width: 950px;
	width: 70%;
	padding: 350px 200px 200px;
	margin: 0 auto;
}
.career_path {
	position: relative;
	margin: 0 0 140px;
}
.career_path .sp_img {
	display: none;
}
.career_path::after {
	display: inline-block;
	content: '';
	background-image: url(../images/professional02/photo05.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	position: absolute;
	top: -12vw;
    left: -11.5vw;
	width: 400px;
	height: 400px;
	z-index: 0;
}
.career_path h3 {
	text-align: center;
	margin: 0 0 45px;
}
.career_path h3 img {
	width: auto;
	height: 28px;
}
.career_path p {
    width: 700px;
	position: relative;
	color: #161075;
	z-index: 2;
	padding: 0 0 0 120px;
	left: 1vw;
	text-align: justify;
}
.oneday_schedule {
	text-align: center;
	margin: 0 0 120px;
}
.oneday_schedule h3 img {
	width: auto;
	height: 38px;
	margin: 0 0 45px;
}
.my_favorite {
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
	background-color: #e7601c;
	color: #FFF;
	padding: 0 50px 0 0;
	background-image: url(../images/common/prof_bg01.png);
	background-size: 45px;
	background-repeat: no-repeat;
	position: relative;
	z-index: 3;
}
.my_favorite h3 {
	padding: 40px 0 0 20px;
}
.my_favorite p {
	width: 100%;
    padding: 35px 50px 30px 60px;
	text-align: justify;
}
.my_favorite .photo_box {
	height: 100%;
}
@media (max-width: 896px) {
	.contents03 .inner {
		width: 90%;
		padding: 40px 20px 80px;
		margin: 0 auto;
	}
	.contents03::before {
		width: 20vw;
		height: 100vw;
	}
	.contents03::after {
		width: 25vw;
		height: 41vw;
	}
	.career_path {
		margin: 0 0 60px;
	}
	.career_path::after {
		display: none;
	}
	.career_path .sp_flex {
		display: flex;
		flex-direction: row;
		justify-content: space-evenly;
		align-items: flex-start;
	}
	.career_path p {
		width: 60%;
		z-index: 2;
		padding: 0;
		left: 0;
	}
	.career_path .sp_img {
		display: block;
		max-width: 140px;
	}
	.oneday_schedule {
		margin: 0 0 40px;
	}
	.my_favorite {
	    padding: 0;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	.my_favorite h3 {
		width: 86%;
		padding: 20px 0 0;
	}
	.my_favorite h3 img {
		max-width: 140px;
	}
	.my_favorite p {
		width: 85%;
		padding: 20px 0px 40px;
	}
	.my_favorite .photo_box {
		width: 60%;
		margin: 0 0 40px;
	}
}



.contents04 {
	position: relative;
	width: 100%;
}
.message_movie h3 {
	position: absolute;
	width: 100%;
	margin: 0 auto;
	top: -5vw;
	text-align: center;
}
.message_movie h3 img {
	width: auto;
	max-height: 38px;
}
.message_movie .btn:hover {
	opacity: 0.7;
}
.message_movie .movie_link {
	background-image: url(../images/professional02/professional_movie_bnr.jpg);
	background-size: 90% auto;
	background-repeat: no-repeat;
	background-position: left -20px;
	background-color: #a9abc4;
	height: 245px;
}
.message_movie .inner {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}
.message_movie .ms_ttl {
	max-height: 68px;
	margin: 0 50px 0 0;
}
.message_movie .ply_btn {
	width: 170px;
	height: 170px;
}
@media (max-width: 896px) {
	.message_movie h3 img {
		max-height: 20px;
	}
	.message_movie .movie_link {
		background-size: cover;
		background-position: top;
		height: 125px;
	}
	.message_movie .inner {
		position: relative;
		right: -30px;
		justify-content: center;
		height: 100%;
	}
	.message_movie .ms_ttl {
		max-height: 32px;
		margin: 0 10px 0 0;
	}
	.message_movie .ply_btn {
		width: 100px;
		height: 100px;
	}
}



.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;
	}
	.com-other-box .link-list li {
		max-width: 150px;
		margin: 0 0 20px;
	}
}