@charset "UTF-8";



/* 0. Common */

main article > p:first-child{
	margin-top:60px;
}

main article ol li + li{
	margin-top:8px;
}

main article ol li ol,
main article ol li ul{
	margin-top:8px;
}

main article ol li ol li,
main article ol li ul li{
	font-size:100%;
}

main article ol li ul li{
	list-style:none;
	position:relative;
	padding-left:1em;
}
main article ol li ul li:before{
	content:"";
	display:inline-block;
	height:4px;
	width:4px;
	border-radius:50%;
	background:#000;
	position:absolute;
	left:5px;
	top:calc(0.75em - 2px);
}

main article ol li ul li + li{
	margin-top:0;
}

main article div.box{
	padding:16px 32px;
}

main article table.corporate tbody tr td p.notes{
	font-size:85.714%;
	margin:0;
	text-indent:0;
	padding-left:0;
}
main article table.corporate.hq + h3{
	margin-top:90px;
}

main article p:has(a.button.cv){
	text-align:center;
	margin-top:60px;
}

main article > p > a.button.cv{
	margin:0 auto;
}

main > article div.box p + p{
	margin-top:0.5em;
}



/* 1. CEO message */

main article section.ceo_message{
	padding:0;
	position:relative;
	padding-top:360px;
}

main article section.ceo_message > picture{
	border-radius:8px;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	overflow:hidden;
	text-align:right;
}

main article section.ceo_message > picture img{
	max-width:none;
	width:950px;
}

main article section.ceo_message h3{
	font-size:320%;
	font-weight:500;
	position:absolute;
	right:100px;
	top:84px;
	margin:0;
}

main article section.ceo_message p{
	margin-top:2em;
}

main article section.ceo_message div.ceo_signature{
	width:200px;
	position:absolute;
	right:100px;
	top:230px;
}

@media (max-width:1010px){
	main article section.ceo_message > picture img{
		margin-left:calc((100vw - 1010px)/4);
	}
	main article section.ceo_message h3,
	main article section.ceo_message div.ceo_signature{
		right:calc(100px - ((1010px - 100vw)/3));
	}
}

@media (max-width:870px){
	main article section.ceo_message h3{
		font-size:calc(320% - ((870px - 100vw)/25));
	}
}

main article section.ceo_message div.ceo_signature p{
	margin-top:0;
}

main article section.ceo_message div.ceo_signature img{
	width:100%;
	position:static;
}




/* 2. outline */

main article nav.anker{
	margin:60px 0 0;
}

main article table{
	border-collapse:collapse;
	width:100%;
	padding:0;
	margin-left:0;
}

main article table tbody th,
main article table tbody td{
	border:1px solid #e8e8e8;
	vertical-align:center;
	padding:16px 24px;
	text-align:left;
}

main article table tbody th{
	font-size:150%;
	font-weight:500;
	background:#f5f5f6;
	width:244px;
}

main article table tbody td{
	font-size:140%;
	padding:10px 24px;
	min-width:244px;
}

main article table tbody td a{
	color:#004098;
}

main article table tbody td a.detail{
	padding-right:20px;
	background:url(/common/images/icon_arrow_right.svg) right no-repeat;
}

main article table tbody td ul li{
	display:list-item;
	list-style:none;
	position:relative;
	padding-left:1em;
}
main article table tbody td ul li:before{
	content:"";
	display:inline-block;
	height:4px;
	width:4px;
	border-radius:50%;
	background:#000;
	position:absolute;
	left:5px;
	top:calc(0.75em - 2px);
}

main article table tbody td div.director_auditor,
main article table tbody td div.officer{
	display:inline-block;
	width:45%;
	min-width:20em;
}

main article table tbody td div.director_auditor{
	padding-bottom:1.25em;
}

main article table tbody td div.director_auditor h4,
main article table tbody td div.officer h4{
	font-weight:400;
	margin-bottom:0.5em;
	font-size:100%;
}

main article table tbody td div.director_auditor dl,
main article table tbody td div.officer dl{
	display:flex;
	flex-wrap:wrap;
}

main article table tbody td div.director_auditor dl dt,
main article table tbody td div.officer dl dt,
main article table tbody td div.director_auditor dl dd,
main article table tbody td div.officer dl dd{
	width:9.5em;
}

main article div.map{
	padding-bottom:40px;
}

main article div.map iframe{
	width:100%;
	height:400px;
}

main article div.map p{
	font-size:120%;
	text-align:center;
	margin-top:1em;
}




/* 3. Policy */

main article ul.links li{
	margin-top:1.25em;
}

main article ul.links li a{
	font-size:140%;
}

main article ul.links.buttons{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-top:40px;
}

main article ul.links.buttons li{
	width:calc(50% - 12px);
	margin-top:24px;
}

main article ul.links.buttons li a{
	max-width:100%;
}




/* 4. History */

main article table.awards tbody td{
	font-size:150%;
	font-weight:500;
}

main article table.awards tbody td + td{
	font-size:140%;
	font-weight:400;
}




/* 5. License */

main article p a.btn_txt:last-child{
	margin-left:1em;
}




/* 6. Qualification */

main article p.txt_right:first-child{
	margin-top:60px;
}

main > article p.txt_right:first-child + div.col2{
	margin-top:24px;
}

main > article div.col2{
	justify-content:space-between;
}

main > article div.col2 > *{
	max-width:445px;
}

main > article div.col2 h2:first-child{
	margin-top:0;
}

main article ul.qualification li{
	font-size:140%;
	list-style:none;
	width:100%;
	position:relative;
	padding-left:1em;
	padding-right:2.5em;
}
main article ul.qualification li:before{
	content:"";
	display:inline-block;
	height:4px;
	width:4px;
	border-radius:50%;
	background:#000;
	position:absolute;
	left:5px;
	top:calc(0.75em - 2px);
}

main article ul.qualification li span.num_of_people{
	display:inline-block;
	position:absolute;
	right:0;
}




/* 7. Attention */

main article div.box.col2 ul{
	margin:0;
}

main article div.box ul li{
	font-size:140%;
}

main article div.box ul li + li{
	margin-top:0.75em;
}

main article ol li p.notes{
	font-size:85.714%;
	margin-top:0.5em;
	margin-bottom:0;
	line-height:1.5;
}

main article ol li p.notes + p.notes{
	margin-top:0;
}

main article ol li div.col4{
	margin:0;
	padding:0.5em 0;
}

main article ol li div.col4 p,
main article ol li div.col4 ul li{
	font-size:100%;
	font-weight:400;
	margin-top:0;
	margin-bottom:0;
}

main article ol li div.col4 ul li{
	list-style:none;
	position:relative;
	padding-left:1em;
}

main article ol li div.col4 ul li:before{
	content:"";
	display:inline-block;
	height:4px;
	width:4px;
	border-radius:50%;
	background:#000;
	position:absolute;
	left:5px;
	top:calc(0.75em - 2px);
}




/* 8. Privacy */

main article div.privacymark{
	margin-top:60px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:nowrap;
}

main article div.privacymark p{
	max-width:calc(100% - 107px);
}

main article p + ol,
main article ol + p{
	margin-top:20px;
}

main article div.corporate_name{
	text-align:right;
	margin-top:20px;
}

main article div.corporate_name p{
	margin:0;
}

main article div.corporate_name img{
	width:146px;
	margin:16px 0;
}

main article div.box.contact{
	text-align:center;
}

main article div.box.contact h3{
	font-size:140%;
	margin:0 0 8px;
	font-weight:700;
}

main article ol.disclosure li{
}

main article ol.disclosure > li + li{
	margin-top:20px;
}

main article ol.disclosure li div.box{
	margin-left:-1.5em;
}

main article ol.disclosure li div.box p{
	font-size:100%;
}




/* 9. Quality */

main article div.iso9001{
	margin-top:60px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:nowrap;
}

main article div.iso9001 p{
	width:calc(100% - 206px);
}




/* 10. ISMS */

main article p.scope{
	padding-left:4em;
	position:relative;
	margin-top:0;
}
main article p.scope span{
	position:absolute;
	left:0;
}

main article div.corporate_name.sub p:last-child{
	margin-top:1.5em;
}

main article picture.iso27001 img{
	vertical-align:top;
}




/* 11. Womens Participation */

main article ol.womens_participation li > p{
	margin-top:8px;
	font-size:100%;
}

main article ol.womens_participation li ol li{
	list-style:none;
	counter-increment:cnt;
	padding-left:1.33em;
	position:relative;
}

main article ol.womens_participation li ol li:before{
	content:"("counter(cnt)")";
	position:absolute;
	left:0;
}




/* 11. Overseas */

main article div.right_img{
	margin-top:0;
}