@charset "utf-8";
/* CSS Document */

/*-----------------------------------------------------------------------------
	PC SP 共通
-----------------------------------------------------------------------------*/





/*-----------------------------------------------------------------------------
	PC
-----------------------------------------------------------------------------*/
@media screen and (min-width:768px){
	
	
	
	
/*----------------------------------
	メイン画像
----------------------------------*/
	.main_img{
		position: relative;
	}
	
	/* .main_img a{
		display: inline-block;
		font-size: 1.2rem;
		font-family: 'Raleway', sans-serif;
		color: #fff;
		border: 1px solid #fff;
		position: absolute;
		bottom: 60px;
		left: 50%;
		transform: translateX(-50%);
		padding: 12px 12px 12px 7px;
		transition: all 0.3s 0s ease;
	} */
	
	.main_img a:hover{
		background-color: rgba(0,0,0,0.3);
	}
	
	.main_img a::before{
		content: "";
		display: inline-block;
		background: url("../images/icon_play.png") no-repeat center/contain;
		width: 20px;
		height: 20px;
		vertical-align: middle;
		margin-right: 10px;
	}
	video{
		width: 100%;
    	height: 100vh;
    	object-fit: cover;
	}

/*---------------------
ビデオボタン
---------------------*/  
.play_bt {
    position: absolute;
    left: 50%;
    bottom: 60px;
    transform: translateX(-50%);
    color: #FFF;
    border: 1px solid #FFF;
}
.play_bt a {
	display: block;
	font-size: 1.2rem;
	font-family: 'Raleway', sans-serif;
	color: #fff;
	bottom: 60px;
	left: 50%;
	padding: 12px 12px 12px 7px;
	transition: all 0.3s 0s ease;
	display: block;
}
	
	
/*----------------------------------
	Company Profile
----------------------------------*/
	.top_company{
		overflow: hidden;
		background: linear-gradient(#CFDEDF,#404F50);
		padding: 90px 0 20px;
		padding-top: 140px;
		margin-bottom: 60px;
	}
	
	.top_company p.vertical{
		position: absolute;
		top: 0;
		right: 0;
	}
	
	.top_company .inner2 *{
		color: #fff;
	}
	
	.top_company .flex{
		flex-direction: row-reverse;
		display: flex;
	}
	
	.top_company .text_box,
	.top_company .img_box{
		width: 50%;
	}
	
	.top_company .flex:nth-of-type(1){
		flex-direction: unset;
		margin-bottom: 25px;
	}
	
	#top h2{
		font-size: 4rem;
		font-weight: 600;
		font-family: '游明朝体', YuMincho, '游明朝 Medium', 'Yu Mincho Medium', '游明朝', 'Yu Mincho', 'Noto Serif JP', serif;
		color: #fff;
		letter-spacing: 0.4em;
	}
	
	.top_company .flex:nth-of-type(1) .text_box h2{
		margin: 150px 0 0 80px;
	}
	
	.top_company .flex:nth-of-type(1) .img_box{
		transform: translateX(-100px);
	}
	
	.top_company .flex:nth-of-type(1) .img_box .img_wrap,
	.top_company .flex:nth-of-type(1) .img_box img{
		width: 687px;
		height: auto;
	}
	
	.top_company .flex:nth-of-type(2) .text_box p,
	.top_service p{
		font-size: 1.5rem;
		font-weight: 700;
		font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Noto Sans JP', sans-serif;
		line-height: 2.8;
		margin-top: 140px;
	}
	
	.top_company .flex:nth-of-type(2) .img_box{
		position: relative;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(1){
		position: absolute;
		top: -230px;
		right: -100px;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(1),
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(1) img{
		width: 325px;
		height: auto;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(2){
		margin-left: 80px;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(2),
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(2) img{
		width: 372px;
		height: auto;
	}
	
	.top_company .inner2 a{
		display: block;
		background-color: #fff;
		font-size: 1.4rem;
		font-weight: 600;
		font-family: 'Raleway', sans-serif;
		color: #707070;
		text-align: center;
		width: 253px;
		height: 45px;
		line-height: 45px;
		border: 1px solid #fff;
		border-radius: 23px;
		margin: 50px auto;
		margin-left: 820px;
		transition: all 0.3s 0s ease;
	}
	
	.top_company .inner2 a:hover{
		background-color: #707070;
		color: #fff;
	}
	
	
	
/*----------------------------------
	変化し続ける港湾に、変わらない安全を。
----------------------------------*/
	.safety{
		background: url("../images/c-4.jpg") no-repeat center/cover;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 660px;
		margin-bottom: 60px;
	}
	
	.safety h2{
		background-color: rgba(0,0,0,0.25);
		text-align: center;
		padding: 12px 0;
	}
	
	
/*----------------------------------
	Service
----------------------------------*/
	.top_service{
		margin-bottom: 60px;
	}
	
	.top_service .s_box{
		background: url("../images/s-1.jpg") no-repeat center/cover;
		width: 100%;
		height: 660px;
	}
	
	.top_service .s_box:nth-of-type(2){
		background: url("../images/s-2.jpg") no-repeat center/cover;
	}
	
	.top_service .s_box .inner{
		height: 100%;
	}
	
	.top_service .s_box p.vertical{
		position: absolute;
		top: 60px;
		left: 0;
		margin: 0;
		font-size: 2.5rem;
	}
	
	.top_service .s_content{
		display: flex;
		flex-direction: column;
		height: 100%;
	}
	
	.top_service .s_content .inner2{
		margin: auto auto 30px;
	}
	
	#top .top_service h2{
		margin-bottom: 40px;
	}
	
	.top_service h2,
	.top_service h2 a{
		width: 428px;
		height: 45px;
	}
	
	.top_service h2 a{
		display: block;
		background-color: #fff;
		font-size: 2rem;
		font-weight: 700;
		font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;
		color: #707070;
		letter-spacing: 0.2em;
		text-align: center;
		line-height: 45px;
		border-radius: 23px;
		transition: all 0.3s 0s ease;
	}
	
	.top_service h2 a::after{
		content: "";
		display: inline-block;
		background: url("../images/icon_arrow.png") no-repeat center/contain;
		width: 23px;
		height: 8px;
		margin-left: 10px;
		transition: all 0.3s 0s ease;
	}
	
	.top_service h2 a:hover{
		background-color: #707070;
		color: #fff;
	}
	
	.top_service h2 a:hover::after{
		background: url("../images/icon_arrow_hover.png") no-repeat center/contain;
	}
	
	.top_service p{
		margin: 0;
	}
	
	.top_service>div:nth-of-type(2) p{
		text-shadow: 0 3px 6px rgba(0,0,0,0.16);
	}
	
	.top_service .s_box:nth-of-type(2) h2{
		margin-left: auto;
	}
	
	.top_service .s_box:nth-of-type(2) p{
		color: #fff;
		text-align: right;
	}
	
	
	
}











/*-----------------------------------------------------------------------------
	SP
-----------------------------------------------------------------------------*/
@media screen and (max-width:767px){
	
	
	
	
/*----------------------------------
	メイン画像(SP)
----------------------------------*/
	.main_img{
		position: relative;
	}
	
	.main_img a{
		display: inline-block;
		font-size: 1.2rem;
		font-family: 'Raleway', sans-serif;
		color: #fff;
		border: 1px solid #fff;
		position: absolute;
		bottom: 50px;
		left: 50%;
		transform: translateX(-50%);
		padding: 7px 7px 7px 4px;
		transition: all 0.3s 0s ease;
	}
	
	.main_img a:hover{
		background-color: rgba(0,0,0,0.3);
	}
	
	.main_img a::before{
		content: "";
		display: inline-block;
		background: url("../images/icon_play.png") no-repeat center/contain;
		width: 20px;
		height: 20px;
		vertical-align: middle;
		margin-right: 10px;
	}
	video{
		width: 100%;
    	height: 100vh;
    	object-fit: cover;
	}
	
	
/*----------------------------------
	Company Profile(SP)
----------------------------------*/
	.top_company{
		overflow: hidden;
		background: linear-gradient(#CFDEDF,#404F50);
		padding: 45px 0 10px;
		margin-bottom: 90px;
	}
	
	.top_company p.vertical{
		position: absolute;
		top: 0;
		right: -10px;
	}
	
	.top_company .inner2 *{
		color: #fff;
	}
	
	.top_company .flex:nth-of-type(1){
		margin-bottom: 25px;
	}
	
	#top h2{
		font-size: 2.5rem;
		font-weight: 600;
		font-family: '游明朝体', YuMincho, '游明朝 Medium', 'Yu Mincho Medium', '游明朝', 'Yu Mincho', 'Noto Serif JP', serif;
		color: #fff;
		letter-spacing: 0.25em;
	}
	
	.top_company .flex:nth-of-type(1) .text_box h2{
		margin: 60px 0;
	}
	
	.top_company .flex:nth-of-type(1) .img_box{
		transform: translateX(-5.5%);
		height: 413px;
	}
	
	.top_company .flex:nth-of-type(1) .img_box .img_wrap{
		max-width: 687px;
		width: 100%;
		height: 100%;
	}
	
	.top_company .flex:nth-of-type(1) .img_box img{
		max-width: 95%;
		height: 100%;
		object-fit: cover;
		object-position: 100% 50%;
	}
	
	.top_company .flex:nth-of-type(2) .text_box{
		margin-bottom: 30px;
	}
	
	.top_company .flex:nth-of-type(2) .text_box p,
	.top_service p{
		font-size: 1.5rem;
		font-weight: 700;
		font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Noto Sans JP', sans-serif;
		line-height: 3;
		letter-spacing: 0.4em;
		margin-top: 60px;
	}
	
	.top_company .flex:nth-of-type(2) .img_box{
		position: relative;
		padding-top: 40px;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(1){
		max-width: 325px;
		width: 50%;
		height: auto;
		position: absolute;
		top: 0;
		right: -5.5%;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(1) img{
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(2){
		max-width: 372px;
		width: 70%;
		height: auto;
	}
	
	.top_company .flex:nth-of-type(2) .img_box .img_wrap:nth-of-type(2) img{
		max-width: 100%;
		height: auto;
		object-fit: contain;
	}
	
	.top_company .inner2 a{
		display: block;
		background-color: #fff;
		font-size: 1.4rem;
		font-weight: 600;
		font-family: 'Raleway', sans-serif;
		color: #707070;
		text-align: center;
		width: 253px;
		height: 45px;
		line-height: 45px;
		border-radius: 23px;
		border: 1px solid #fff;
		margin: 50px auto;
		transition: all 0.3s 0s ease;
	}
	
	.top_company .img_box a:hover{
		background-color: #707070;
		color: #fff;
	}
	
	
	
/*----------------------------------
	変化し続ける港湾に、変わらない安全を。(SP)
----------------------------------*/
	.safety{
		background: url("../images/c-4_sp.jpg") no-repeat center/cover;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 660px;
		margin-bottom: 100px;
	}
	
	.safety .inner3{
		width: 90%;
		margin: auto;
	}
	
	.safety h2{
		background-color: rgba(0,0,0,0.25);
		text-align: center;
		padding: 12px 0;
	}
	
	
/*----------------------------------
	Service
----------------------------------*/
	.top_service{
		margin-bottom: 100px;
	}
	
	.top_service .s_box{
		background: url("../images/s-1_sp.jpg") no-repeat center/cover;
		width: 100%;
		height: 830px;
	}

	.top_service .s_box:nth-of-type(1){
		background-position: 55% 50%;
	}
	
	.top_service .s_box:nth-of-type(2){
		background: url("../images/s-2_sp.jpg") no-repeat center/cover;
		background-position: 25% 50%;
	}
	
	.top_service .s_box .inner{
		height: 100%;
	}
	
	.top_service .s_box p.vertical{
		position: absolute;
		top: 30px;
		left: -20px;
		margin: 0;
	}
	
	.top_service .s_content{
		display: flex;
		flex-direction: column;
		height: 100%;
	}
	
	.top_service .s_content .inner2{
		margin: auto auto 15px;
	}
	
	#top .top_service h2{
		margin: 0 auto 40px;
	}
	
	.top_service h2,
	.top_service h2 a{
		max-width: 340px;
		width: 100%;
		height: 45px;
	}
	
	.top_service h2 a{
		display: block;
		background-color: #fff;
		font-size: 1.6rem;
		font-weight: 700;
		font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;
		color: #707070;
		letter-spacing: 0.2em;
		text-align: center;
		line-height: 45px;
		border-radius: 23px;
		transition: all 0.3s 0s ease;
	}
	
	.top_service h2 a::after{
		content: "";
		display: inline-block;
		background: url("../images/icon_arrow.png") no-repeat center/contain;
		width: 20px;
		height: 7px;
		margin-left: 8px;
		transition: all 0.3s 0s ease;
	}
	
	.top_service h2 a:hover{
		background-color: #707070;
		color: #fff;
	}
	
	.top_service h2 a:hover::after{
		background: url("../images/icon_arrow_hover.png") no-repeat center/contain;
	}
	
	.top_service p{
		margin: 0;
	}
	
	.top_service>div:nth-of-type(2) p{
		text-shadow: 0 3px 6px rgba(0,0,0,0.16);
	}
	
	.top_service .s_box:nth-of-type(2) p{
		color: #fff;
	}	
	
	
	
	
	
	
}