@charset "UTF-8";


@media screen and (min-width:769px){
	
	#works .infocont{
		padding:120px 0 0 0;
		width:1000px;
		margin:0 auto;
	}
	
	#works .infocont.box2{
		padding:0 0 0 0;
		width:1000px;
		margin:0 auto;
	}
	
	#works .infocont .tl{
		font-size:2rem;
		line-height: 3.6rem;
		font-weight: 600;
		margin:0 0 40px 0;
	}
	
	#works .infocont .numtl{
		font-size:2.6rem;
		padding:0 0 20px 0;
		margin:0 0 30px 0;
		position: relative;
		font-weight: 600;
		
	}
	
	#works .infocont .numtl.box2{
		margin:0 0 50px 0;
	}
	
	#works .infocont .illcont{
		display: flex;
		justify-content: space-between;
	}
	
	#works .infocont .txcont{
		width:calc(100% - 380px);
		padding:40px 0 0 0;
	}
	
	#works .infocont .ill{
		width:380px;
	}
	
	#works .infocont .numtl::after{
		content: "";
		width:40px;
		border-bottom:3px solid #5b7ebf;
		position: absolute;
		bottom:0;
		left:0;
	}
	
	#works .infocont .protl{
		font-size:2.4rem;
		margin:0 0 25px 0;
		position: relative;
		font-style: italic;
		vertical-align: middle;
	}
	
	#works .infocont .protl span{
		font-size:5rem;
		vertical-align: middle;
	}
	
	#works .infocont .tx{
		font-size:1.4rem;
		line-height: 2.8rem;
		margin: 0 0 20px 0;
	}
	
	#works .infocont .tx.box2{
		font-size:1.4rem;
		line-height: 2.8rem;
		margin: 0 0 0 0;
	}
	
	#works .infocont .cap{
		font-size:1.2rem;
		line-height: 2.3rem;
	}
	
	#works .indexlist{
		width:100%;
		padding:120px 0 150px 0;
		display: block;
	}
	
	#works .indexlist .box{
		width:100%;
		position: relative;
		margin:0 0 100px 0;
	}
	
	#works .indexlist .box:last-child{
		margin:0 0 0 0;
	}
	
	#works .indexlist .box::after{
		width:calc((100% - 1000px) / 2 + 900px);
		content: "";
		height:300px;
		position: absolute;
		background:#ecf2fa;
		bottom:0;
		left: 0;
		z-index:1;
	}
	
	#works .indexlist .box.box2::after{
		width:calc((100% - 1000px) / 2 + 900px);
		content: "";
		height:300px;
		position: absolute;
		background:#ecf2fa;
		bottom:0;
		left: auto;
		right:0;
		z-index:1;
	}
	
	#works .indexlist .box .inbox{
		width:1000px;
		margin:0 auto;
		position: relative;
		z-index:2;
	}
	
	#works .indexlist .box .inbox .phbox{
		position: relative;
		display: block;
		transition: all 0.2s;
		filter: brightness(1);
	}
	
	#works .indexlist .box .inbox .phbox:hover{
		filter:brightness(1.2);
	}
	
	#works .indexlist .box .inbox .phbox .overbox{
		position: absolute;
		width:100%;
		height:100%;
		top:0;
		left:0;
		display: flex;
		padding:0 0;
		box-sizing: border-box;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner{
		text-align: left;
		padding:0 0 0 80px;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .numtx{
		color:#fff;
		font-style: italic;
		font-size:2.4rem;
		vertical-align: middle;
		margin:0 0 20px 0;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .numtx span{
		font-size:5rem;
		vertical-align: middle;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .tx{
		margin:0 0 0 0;
		font-size:2.4rem;
		line-height: 4.2rem;
		font-weight: 600;
		color:#fff;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .tx span{
		font-size:1.8rem;
	}
	
	#works .indexlist .box .boxbottom{
		padding:20px 0 40px 0;
		display: flex;
		justify-content: space-between;
	}
	
	#works .indexlist a.link{
		color:#000;
		font-size:1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		transition: all 0.2s;
		z-index:3;
		margin:0 0 0 0;
	}
	
	#works .indexlist a.link:hover{
		opacity: 0.7;
	}
	
	#works .indexlist a.link::after{
		content: "";
		width:50px;
		height:52px;
		background:url("../images/common/movie_arrow2.svg") no-repeat;
		background-size:50px;
		margin:0 0 0 20px;
	}
	
	#works .timebox{
		padding:120px 0 120px 0;
		position: relative;
	}
	
	#works .timebox .illbox{
		width:1000px;
		margin:0 auto;
		padding:0 0 0 180px;
		box-sizing: border-box;
		z-index:2;
		position: relative;
	}
	
	#works .timebox .bgborderbox{
		width:100%;
		position: absolute;
		height:310px;
		background:#e7eff8;
		top:calc(50% - 155px);
		display: flex;
		z-index:1;
	}
	
	#works .timebox .bgborderbox .innerbox{
		width:1000px;
		height:100%;
		margin:0 auto;
		display: flex;
		align-items: flex-end;
	}
	
	#works .timebox .bgborderbox .innerbox img{
		height:calc(100% - 40px);
		width:auto;
		position: relative;
		left:-20px;
	}
	
	#works .infocont .flexphbox{
		display: flex;
		justify-content: space-between;
	}
	
	#works .infocont .flexphbox .box{
		width:50%;
		padding:0 40px 0 0;
		box-sizing: border-box;
		border-right:1px dashed #000;
	}
	
	#works .infocont .flexphbox .box:last-child{
		width:50%;
		padding: 0 0 0 40px;
		box-sizing: border-box;
		border: none;
	}
	
	#works .infocont .flexphbox .box .fph{
		margin:0 0 20px 0;
	}
	
	#works .infocont .flexphbox .box .ftl{
		color:#1647a4;
		font-size:2rem;
		line-height: 3.2rem;
		margin:0 0 20px 0;
	}
	
	#works .infocont .flexphbox .box .ftx{
		font-size:1.4rem;
		line-height: 2.8rem;
	}
	
	#works .internbottom{
		padding:160px 0;
	}
	
	#works .internbottom .linkbox{
		display: flex;
		justify-content: center;
	}
	
	#works .internbottom .linkbox .box{
		width:600px;
		height:200px;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
	}
	
	#works .internbottom .linkbox .txbox{
		color:#fff;
		z-index:2;
		position: relative;
		padding:0 30px;
		display: flex;
		align-items: center;
		width:100%;
		box-sizing: border-box;
		font-size:1.2rem;

	}
	
	#works .internbottom .linkbox .txbox .inbox{
		vertical-align: bottom;
	}
	
	#works .internbottom .linkbox .txbox .inbox .numtx{
		color:#fff;
		font-style: italic;
		font-size:2.4rem;
		vertical-align: middle;
		margin:0 0 10px 0;
	}
	
	#works .internbottom .linkbox .txbox .inbox .numtx span{
		font-size:5rem;
		vertical-align: middle;
	}
	
	#works .internbottom .linkbox .txbox .inbox .tx{
		margin:0 0 0 0;
		font-size:2.4rem;
		line-height: 4.2rem;
		font-weight: 600;
		color:#fff;
	}
	
	#works .internbottom .linkbox .txbox .inbox .tx span{
		font-size:1.8rem;
	}
	
	#works .internbottom .linkbox .txbox::after{
		content: "";
		width:50px;
		height:52px;
		background:url("../images/common/movie_arrow.svg") no-repeat;
		background-size:50px;
		display: inline-block;
		vertical-align: middle;
		margin:0 0 0 auto;
	}
	
	#works .internbottom .linkbox .box img.bg{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		transition: all 0.2s;
		transform: scale(1);
		z-index: 1;
	}
	
	#works .internbottom .linkbox .box:hover img.bg{
		transform: scale(1.1);
	}
}

@media screen and (max-width:768px){
	
	#works .infocont{
		padding:60px 0 0 0;
		width:90%;
		margin:0 auto;
	}
	
	#works .infocont.box2{
		padding:0 0 0 0;
		width:90%;
		margin:0 auto;
	}
	
	#works .infocont .tl{
		font-size:1.5rem;
		line-height: 2.5rem;
		font-weight: 600;
		margin:0 0 60px 0;
	}
	
	#works .infocont .numtl{
		font-size:1.8rem;
		padding:0 0 10px 0;
		margin:0 0 30px 0;
		position: relative;
		font-weight: 600;
		
	}
	
	#works .infocont .numtl.box2{
		margin:0 0 30px 0;
	}
	
	#works .infocont .illcont{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	
	#works .infocont .txcont{
		width:100%;
		padding:0 0 0 0;
	}
	
	#works .infocont .ill{
		width:80%;
		margin:0 auto;
	}
	
	#works .infocont .numtl::after{
		content: "";
		width:20px;
		border-bottom:3px solid #5b7ebf;
		position: absolute;
		bottom:0;
		left:0;
	}
	
	#works .infocont .protl{
		font-size:1.6rem;
		margin:0 0 25px 0;
		position: relative;
		font-style: italic;
		vertical-align: middle;
	}
	
	#works .infocont .protl span{
		font-size:3rem;
		vertical-align: middle;
	}
	
	#works .infocont .tx{
		font-size:1.2rem;
		line-height: 2.4rem;
		margin: 0 0 20px 0;
	}
	
	#works .infocont .tx.box2{
		font-size:1.4rem;
		line-height: 2.8rem;
		margin: 0 0 0 0;
	}
	
	#works .infocont .cap{
		font-size:1rem;
		line-height: 2rem;
	}
	
	#works .indexlist{
		width:100%;
		padding:60px 0 40px 0;
		display: block;
	}
	
	#works .indexlist .box{
		width:100%;
		position: relative;
		margin:0 0 60px 0;
	}
	
	#works .indexlist .box::after{
		width:100%;
		content: "";
		height:calc(100% - 22vw);
		position: absolute;
		background:#ecf2fa;
		bottom:0;
		left: 0;
		z-index:1;
	}
	
	#works .indexlist .box.box2::after{
		width:100%;
		content: "";
		height:calc(100% - 22vw);
		position: absolute;
		background:#ecf2fa;
		bottom:0;
		left: auto;
		right:0;
		z-index:1;
	}
	
	#works .indexlist .box .inbox{
		width:90%;
		margin:0 auto;
		position: relative;
		z-index:2;
	}
	
	#works .indexlist .box .inbox .phbox{
		position: relative;
		display: block;
	}
	
	#works .indexlist .box .inbox .phbox .overbox{
		position: absolute;
		width:100%;
		height:100%;
		top:0;
		left:0;
		display: flex;
		padding:0 0;
		box-sizing: border-box;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner{
		text-align: left;
		padding:0 0 0 0;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		width:100%;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .numtx{
		color:#fff;
		font-style: italic;
		font-size:1.5rem;
		vertical-align: middle;
		margin:0 0 10px 0;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .numtx span{
		font-size:3rem;
		vertical-align: middle;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .tx{
		margin:0 0 0 0;
		font-size:1.6rem;
		line-height: 2.5rem;
		font-weight: 600;
		color:#fff;
		text-align: center;
	}
	
	#works .indexlist .box .inbox .phbox .overbox .inner .tx span{
		font-size:1.8rem;
	}
	
	#works .indexlist .box .boxbottom{
		padding:20px 0 40px 0;
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	
	#works .indexlist .box .boxbottom .mtx{
		width:100%;
	}
	
	#works .indexlist a.link{
		color:#000;
		font-size:1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		transition: all 0.2s;
		z-index:3;
		margin:35px 0 0 0;
	}
	
	#works .indexlist a.link:hover{
		opacity: 0.7;
	}
	
	#works .indexlist a.link::after{
		content: "";
		width:50px;
		height:52px;
		background:url("../images/common/movie_arrow2.svg") no-repeat;
		background-size:50px;
		margin:0 0 0 20px;
	}
	
	#works .timebox{
		padding:40px 0 0 0;
		margin:60px 0 100px 0;
		position: relative;
		background:#e7eff8;
	}
	
	#works .timebox .illbox{
		width:90%;
		margin:0 auto;
		padding:0 0 0 0;
		box-sizing: border-box;
		z-index:2;
		position: relative;
	}
	
	#works .timebox .bgborderbox{
		width:100%;
		position: relative;
		height:100%;
		background:#e7eff8;
		display: flex;
		padding:40px 0 0 0;
		justify-content: center;
		z-index:1;
	}
	
	#works .timebox .bgborderbox .innerbox{
		width:100%;
		margin:0 auto;
		display: flex;
		align-items: flex-end;
		text-align: center;
		justify-content: center;
	}
	
	#works .timebox .bgborderbox .innerbox img{
		width:30%;
		position: relative;
	}
	
	#works .infocont .flexphbox{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	
	#works .infocont .flexphbox .box{
		width:100%;
		padding:0 0 60px 0;
	}
	
	#works .infocont .flexphbox .box .fph{
		margin:0 0 15px 0;
	}
	
	#works .infocont .flexphbox .box .ftl{
		color:#1647a4;
		font-size:1.5rem;
		line-height: 2.5rem;
		margin:0 0 10px 0;
	}
	
	#works .infocont .flexphbox .box .ftx{
		font-size:1.2rem;
		line-height: 2.4rem;
	}
	
	#works .internbottom{
		padding:0 0 100px 0;
	}
	
	#works .internbottom .linkbox{
		display: flex;
		justify-content: center;
	}
	
	#works .internbottom .linkbox .box{
		width:100%;
		height:30vw;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
	}
	
	#works .internbottom .linkbox .txbox{
		color:#fff;
		z-index:2;
		position: relative;
		padding:0 10%;
		display: flex;
		align-items: center;
		width:100%;
		box-sizing: border-box;
		font-size:1.2rem;

	}
	
	#works .internbottom .linkbox .txbox .inbox{
		vertical-align: bottom;
	}
	
	#works .internbottom .linkbox .txbox .inbox .numtx{
		color:#fff;
		font-style: italic;
		font-size:1.2rem;
		vertical-align: middle;
		margin:0 0 10px 0;
	}
	
	#works .internbottom .linkbox .txbox .inbox .numtx span{
		font-size:2.7rem;
		vertical-align: middle;
	}
	
	#works .internbottom .linkbox .txbox .inbox .tx{
		margin:0 0 0 0;
		font-size:1.5rem;
		line-height: 3rem;
		font-weight: 600;
		color:#fff;
	}
	
	#works .internbottom .linkbox .txbox .inbox .tx span{
		font-size:1.8rem;
	}
	
	#works .internbottom .linkbox .txbox::after{
		content: "";
		width:50px;
		height:52px;
		background:url("../images/common/movie_arrow.svg") no-repeat;
		background-size:50px;
		display: inline-block;
		vertical-align: middle;
		margin:0 0 0 auto;
	}
	
	#works .internbottom .linkbox .box img.bg{
		position: absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		transition: all 0.2s;
		transform: scale(1);
		z-index: 1;
	}
	
	#works .internbottom .linkbox .box:hover img.bg{
		transform: scale(1.1);
	}
}

