@charset "utf-8";

/*********************************************************************
*
* 更新日: 2026/7/23
*
*********************************************************************/

@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");

html{
	overflow-y: hidden;
}
body {
    position: fixed;
    inset: 0;
    margin: auto;
    text-align: center;
    display: grid;
    place-items: center; /* PCは常に天地センター */
}

@media screen and (max-width: 680px) {
    html {
        height: 100%;
        display: grid;
        justify-items: center;
        align-items: start; /* PCのcenterを打ち消し、はみ出したら「上から」 */
        overflow-y: auto;   /* スマホは縦スクロールを許可 */
        padding: 0;
    }
    body {
        /* 【重要】PC版の fixed配置 を完全に打ち消して通常表示に戻す */
        position: static;   
        inset: auto;
        
        /* スマホ用のサイズと余白の設定 */
        width: 100%;
        box-sizing: border-box;
        padding: 45px 20px;
        text-align: center;
        
        /* PCの margin: auto（全面）を打ち消し、
           「上下だけauto」にすることで、スマホの自動センター切替え発動 */
        margin-right: 0;
        margin-left: 0;
        margin-top: auto;
        margin-bottom: auto;
    }
}


.hidden_logo, .hidden_link, .hidden_copy{
	display: none;
	padding: 10px;
}
.hidden_logo.is-appear, .hidden_link.is-appear, .hidden_copy.is-appear{
	display: inline-block;
}

ul:after{
	display: none;
}

/*  mov_body
---------------------------------------------------------- */
#mov_body,
#mov_body *{
	box-sizing: border-box;
}
#mov_body{
	font-family: "Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	/*width: 700px;*/
	width: 100%;	/* 親要素の幅に合わせる */
	height: auto !important;
	max-width: 700px;	/* 元の動画の最大幅 */
	text-align: center;
	/*padding: 25px 90px;*/
	/* padding: 25px 0; */
	margin: 0 auto;
}

#mov_body h1.mov_title{
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.4;
	font-weight: bold;
	border-top: solid 1px #2c4066;
	padding-top: 5px;
	text-align: left;
	margin-bottom: 0;
}

#mov_body h2.mov_ctg{
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1;
	font-weight: normal;
	text-align: left;
	color: #363434;
	margin-bottom: 3px;
}
#mov_body h2.mov_ctg span.gray{
	color: #858585;
}

#mov_body video{
	max-width: 700px;
	width: 100%; /* 親要素の幅に合わせる */
	aspect-ratio: 700 / 394; /* 縦横比を指定 */
	margin: 20px 0 20px;
}
#mov_body video.h_396{
	aspect-ratio: 700 / 396;
}

/*関連情報*/
#mov_body .rel_link{
	display: flex;
	justify-content: flex-start;
	overflow-y: auto;
	text-align: left;
	background-color: #E9EAEA;
}

#mov_body .rel_link h3{
	flex: 0 0 auto;
	position: relative;
	top: 15px;
	left: 20px;
	font-size: 15px;
	font-size: 0.9375rem;
	height: 1rem;
	width: 110px;
	margin: 0 !important;
	line-height: 1;
}

#mov_body .rel_link ul{
	flex: 1 1 auto;
	font-size: 14px;
	font-size: 0.875rem;
	/* padding: 15px 10px 0 0; */
	padding: 12px 10px 0 0;
	width: calc(100% - 110px);
	height: auto;
	/* max-height: 85px; */
	max-height: 95px;
	box-sizing: border-box;
}

#mov_body .rel_link ul.link li{
	position: relative;
	line-height: 1.5;
	padding-left: 13px;
	background-position: 0 0.45em;
	margin-bottom: 5px;
	background: none;
}
#mov_body .rel_link ul.link li:last-child{
	/* padding-bottom: 10px; */
	padding-bottom: 7px;
}


#mov_body .rel_link ul.link > li:before {
	position: absolute;
	content: url(/tech/civil_engineering/common/images/icon_arrow_s.svg);
	display: inline-block;
	top: -2px;
	left: 0;
	width: 9px;
	height: 9px;
}

ul.link li, ul.list li.link {
	margin-bottom: 7px;
	padding: 0 0 0 15px;
	background: url(/common/image/arrow_red.png) no-repeat 0 0.3125em;
	color: #82888E;
	line-height: 1.33;
}

#mov_body .rel_link ul.link li span.pdf_size{
	font-size: 12px;
	color: #666;
}

@media print{
	html body{
		overflow-y:visible !important;
		overflow-x:visible !important;
	}
	body{
		position: static;
	}

	.hidden_logo, .hidden_copy{
		display: inline-block !important;
		margin-right: auto !important;
	}
	.hidden_logo{
		margin-bottom: 15px;
	}
	.hidden_copy{
		font-size: 0.75rem;
    	font-family: "Roboto", sans-serif;
		color: #666;
	}

	#mov_body .rel_link{
		overflow-y: visible !important;
		background-color: transparent !important;
	}
}


@media screen and (max-width:680px) {
	#mov_body{
		padding: 0;
	}

	#mov_body h1.mov_title{
		padding-top: 7px;
	}

	#mov_body h2.mov_ctg{
		line-height: 1.2;
		margin-bottom: 5px;
	}

	#mov_body h2.mov_ctg span.gray{
		display: block;
		padding-top: 5px;
	}
	#mov_body video{
		width: 100% !important;
		min-width: 260px;
		height: auto;
		margin: 15px 0 20px 0;
	}

	/*関連情報*/
	#mov_body .rel_link{
		display: block;
		padding-bottom: 2px;
		text-align: left;
		padding: 4% 4% 3%;
		height: auto;
		/* margin-bottom: 20px; */
	}

	#mov_body .rel_link h3{
		font-weight: bold;
		font-size: 13.5px;
		font-size: 0.84375rem;
		line-height: 1;
		margin-bottom: 8px !important;
		top: inherit;
		left: inherit;
	}

	#mov_body .rel_link ul{
		font-size: 13.5px;
		font-size: 0.84375rem;
		padding: 0;
		width: auto;
		height: auto;
		max-height: inherit;
	}

	#mov_body .rel_link ul.link > li{
		position: relative;
		line-height: 1.5;
		background-position: 0 0.5em;
		padding-left: 13px;
		margin-bottom: 5px;
		background: none;
	}
	#mov_body .rel_link ul.link > li:before {
		width: 8px;
		height: 8px;
	}
}

@media screen and (orientation: landscape) and (max-device-width: 680px) {
	#overLayer{
		padding: 0;
	}
	body{
		padding: 20px;
	}
}

